File tree Expand file tree Collapse file tree
main/java/org/metafacture/metamorph/functions
test/java/org/metafacture/metamorph Expand file tree Collapse file tree Original file line number Diff line number Diff line change 3434 */
3535public 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 }
Original file line number Diff line number Diff 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}
You can’t perform that action at this time.
0 commit comments