Skip to content

Commit a6f910c

Browse files
authored
Merge pull request #49 from TenViki/main
Fix for firstLetterUppercase
2 parents 738359e + df8a67d commit a6f910c

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

packages/netglade_utils/lib/src/extensions/string_extensions.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ extension StringExtensions on String {
7373
return result;
7474
}
7575

76-
String firstLetterUppercase() => '${this[0].toUpperCase()}${characters.getRange(1)}';
76+
String firstLetterUppercase() => isNotEmpty ? '${this[0].toUpperCase()}${characters.getRange(1)}' : '';
7777

7878
String stripNewLines([String placeholder = ' ']) {
7979
return replaceAll(RegExp(r'\s+'), placeholder);

packages/netglade_utils/test/src/extensions/string_extensions_test.dart

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -280,5 +280,27 @@ void main() {
280280
expect(value.ifBlank('aaa'), equals(value));
281281
});
282282
});
283+
284+
group("firstLetterUppercase", () {
285+
test("empty message", () {
286+
final String value = "";
287+
expect(value.firstLetterUppercase(), equals(""));
288+
});
289+
290+
test("message with whitespaces", () {
291+
final String value = " ";
292+
expect(value.firstLetterUppercase(), equals(value));
293+
});
294+
295+
test("message with non-whitespace characters", () {
296+
final String value = "xxx";
297+
expect(value.firstLetterUppercase(), equals("Xxx"));
298+
});
299+
300+
test("message with 1 character", () {
301+
final String value = "x";
302+
expect(value.firstLetterUppercase(), equals("X"));
303+
});
304+
});
283305
});
284306
}

0 commit comments

Comments
 (0)