Skip to content

Commit 4a2743a

Browse files
authored
Merge pull request #757 from metafacture/751-skipEmptyStringWhenCapitalize
2 parents 53d4669 + 81ef0f7 commit 4a2743a

2 files changed

Lines changed: 19 additions & 1 deletion

File tree

metafix/src/main/java/org/metafacture/metafix/method/field/Capitalize.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public Capitalize() {
3535

3636
@Override
3737
public void apply(final Metafix metafix, final Record record, final List<String> params, final Map<String, String> options) {
38-
record.transform(params.get(0), s -> s.substring(0, 1).toUpperCase() + s.substring(1));
38+
record.transform(params.get(0), s -> s.isEmpty() ? s : s.substring(0, 1).toUpperCase() + s.substring(1));
3939
}
4040

4141
}

metafix/src/test/java/org/metafacture/metafix/MetafixMethodTest.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,24 @@ public void shouldCapitalizeString() {
169169
);
170170
}
171171

172+
@Test
173+
public void shouldSkipEmptyStringWhenCapitalize() {
174+
MetafixTestHelpers.assertFix(streamReceiver, Arrays.asList(
175+
"capitalize('title')"
176+
),
177+
i -> {
178+
i.startRecord("1");
179+
i.literal("title", "");
180+
i.endRecord();
181+
},
182+
o -> {
183+
o.get().startRecord("1");
184+
o.get().literal("title", "");
185+
o.get().endRecord();
186+
}
187+
);
188+
}
189+
172190
@Test
173191
public void shouldCapitalizeStringsInArray() {
174192
MetafixTestHelpers.assertFix(streamReceiver, Arrays.asList(

0 commit comments

Comments
 (0)