Skip to content

Commit 27adf02

Browse files
committed
Merge #749 from remote-tracking branch 'origin/705-fixUrlencode'
2 parents 5d2e136 + 29d18fe commit 27adf02

2 files changed

Lines changed: 36 additions & 2 deletions

File tree

metamorph/src/main/java/org/metafacture/metamorph/functions/URLEncode.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
*/
3535
public final class URLEncode extends AbstractSimpleStatelessFunction {
3636
private String safeChars = ".-*_";
37-
private Boolean plusForSpace = true;
37+
private boolean plusForSpace = true;
3838
private PercentEscaper percentEscaper = new PercentEscaper(safeChars, plusForSpace);
3939

4040
/**
@@ -68,7 +68,7 @@ public void setSafeChars(final String safeChars) {
6868
*
6969
* @param plusForSpace true if space character " " should be converted into a plus sign "+"
7070
*/
71-
public void setPlusForSpace(final Boolean plusForSpace) {
71+
public void setPlusForSpace(final boolean plusForSpace) {
7272
this.plusForSpace = plusForSpace;
7373
percentEscaper = new PercentEscaper(safeChars, plusForSpace);
7474
}

metamorph/src/test/java/org/metafacture/metamorph/TestMetamorphBasics.java

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -854,4 +854,38 @@ public void shouldAllowTreatingEntityEndEventsAsLiterals() {
854854
);
855855
}
856856

857+
@Test
858+
public void shouldUrlencodeWithEscapeSpaceAsPlusAsDefault() {
859+
TestHelpers.assertMorph(receiver,
860+
"<rules>" +
861+
" <data source='d' >" +
862+
" <urlencode />" +
863+
" </data>" +
864+
"</rules>",
865+
i -> {
866+
i.literal("d", "café ");
867+
},
868+
o -> {
869+
o.get().literal("d", "caf%C3%A9+");
870+
}
871+
);
872+
}
873+
874+
@Test
875+
public void shouldUrlencodeAndNotEscapingSpaceAsPlus() {
876+
TestHelpers.assertMorph(receiver,
877+
"<rules>" +
878+
" <data source='d' >" +
879+
" <urlencode plusforspace='false' />" +
880+
" </data>" +
881+
"</rules>",
882+
i -> {
883+
i.literal("d", "café ");
884+
},
885+
o -> {
886+
o.get().literal("d", "caf%C3%A9%20");
887+
}
888+
);
889+
}
890+
857891
}

0 commit comments

Comments
 (0)