Skip to content

Commit 89bd6dd

Browse files
committed
Skip empty strings when using capitalize #751
1 parent 3a8acb5 commit 89bd6dd

2 files changed

Lines changed: 21 additions & 1 deletion

File tree

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,9 @@ 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+
if (!params.isEmpty()) {
39+
record.transform(params.get(0), s -> s.substring(0, 1).toUpperCase() + s.substring(1));
40+
}
3941
}
4042

4143
}

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)