Added more test for escape and unescape functions Signed-off-by: Matt Burgess <mattyb...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/219e0e96 Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/219e0e96 Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/219e0e96 Branch: refs/heads/master Commit: 219e0e96fbcdbab7903641a584bd52f7f3dca7ad Parents: 8f74241 Author: devin fisher <dev.fis...@gmail.com> Authored: Wed Jul 27 22:18:50 2016 -0600 Committer: Matt Burgess <mattyb...@apache.org> Committed: Fri Aug 12 11:30:06 2016 -0400 ---------------------------------------------------------------------- .../expression/language/TestQuery.java | 32 ++++++++++++++++++++ 1 file changed, 32 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/nifi/blob/219e0e96/nifi-commons/nifi-expression-language/src/test/java/org/apache/nifi/attribute/expression/language/TestQuery.java ---------------------------------------------------------------------- diff --git a/nifi-commons/nifi-expression-language/src/test/java/org/apache/nifi/attribute/expression/language/TestQuery.java b/nifi-commons/nifi-expression-language/src/test/java/org/apache/nifi/attribute/expression/language/TestQuery.java index dd81b3b..29dbcc0 100644 --- a/nifi-commons/nifi-expression-language/src/test/java/org/apache/nifi/attribute/expression/language/TestQuery.java +++ b/nifi-commons/nifi-expression-language/src/test/java/org/apache/nifi/attribute/expression/language/TestQuery.java @@ -1320,8 +1320,40 @@ public class TestQuery { attributes.put("string", "making air \"QUOTES\"."); verifyEquals("${string:escapeJson()}", attributes, "making air \\\"QUOTES\\\"."); + + attributes.put("string", "M & M"); + verifyEquals("${string:escapeXml()}", attributes, "M & M"); + + attributes.put("string", "making air \"QUOTES\"."); + verifyEquals("${string:escapeCsv()}", attributes, "\"making air \"\"QUOTES\"\".\""); + + attributes.put("string", "special ¡"); + verifyEquals("${string:escapeHtml3()}", attributes, "special ¡"); + + attributes.put("string", "special â£"); + verifyEquals("${string:escapeHtml4()}", attributes, "special ♣"); } + @Test + public void testUnescapeFunctions() { + final Map<String, String> attributes = new HashMap<>(); + + attributes.put("string", "making air \\\"QUOTES\\\"."); + verifyEquals("${string:unescapeJson()}", attributes, "making air \"QUOTES\"."); + + attributes.put("string", "M & M"); + verifyEquals("${string:unescapeXml()}", attributes, "M & M"); + + attributes.put("string", "\"making air \"\"QUOTES\"\".\""); + verifyEquals("${string:unescapeCsv()}", attributes, "making air \"QUOTES\"."); + + attributes.put("string", "special ¡"); + verifyEquals("${string:unescapeHtml3()}", attributes, "special ¡"); + + attributes.put("string", "special ♣"); + verifyEquals("${string:unescapeHtml4()}", attributes, "special â£"); + } + private void verifyEquals(final String expression, final Map<String, String> attributes, final Object expectedResult) { Query.validateExpression(expression, false); assertEquals(String.valueOf(expectedResult), Query.evaluateExpressions(expression, attributes, null));