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 &amp; M");
+
+        attributes.put("string", "making air \"QUOTES\".");
+        verifyEquals("${string:escapeCsv()}", attributes, "\"making air 
\"\"QUOTES\"\".\"");
+
+        attributes.put("string", "special ¡");
+        verifyEquals("${string:escapeHtml3()}", attributes, "special &iexcl;");
+
+        attributes.put("string", "special ♣");
+        verifyEquals("${string:escapeHtml4()}", attributes, "special &clubs;");
       }
 
+      @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 &amp; M");
+          verifyEquals("${string:unescapeXml()}", attributes, "M & M");
+
+          attributes.put("string", "\"making air \"\"QUOTES\"\".\"");
+          verifyEquals("${string:unescapeCsv()}", attributes, "making air 
\"QUOTES\".");
+
+          attributes.put("string", "special &iexcl;");
+          verifyEquals("${string:unescapeHtml3()}", attributes, "special ¡");
+
+          attributes.put("string", "special &clubs;");
+          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));

Reply via email to