diff --git a/lib/utils.dart b/lib/utils.dart index bcfbfe48b..d4f874457 100644 --- a/lib/utils.dart +++ b/lib/utils.dart @@ -82,9 +82,8 @@ relaxFnArgs(Function fn) { capitalize(String s) => s.substring(0, 1).toUpperCase() + s.substring(1); String camelCase(String s) { - var part = s.split('-').map((s) => s.toLowerCase()); - if (part.length <= 1) return part.join(); - return part.first + part.skip(1).map(capitalize).join(); + var parts = s.split('-'); + return parts.first.toLowerCase() + parts.skip(1).map(capitalize).join(); } /// Returns whether or not the given identifier is a reserved word in Dart. diff --git a/test/utils_spec.dart b/test/utils_spec.dart index 61e4c3ef6..1dd6350fe 100644 --- a/test/utils_spec.dart +++ b/test/utils_spec.dart @@ -44,6 +44,10 @@ main() { it('should lowercase strings', () { expect(camelCase('Caps-first')).toEqual('capsFirst'); }); + + it('should work on empty string', () { + expect(camelCase('')).toEqual(''); + }); }); }