You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2014/08/20 13:06:04 UTC

git commit: CAMEL-7608 Fixed XMLTokenizer tests fails in camel-core with JDK8

Repository: camel
Updated Branches:
  refs/heads/master ece31da9a -> b0c572fe6


CAMEL-7608 Fixed XMLTokenizer tests fails in camel-core with JDK8


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/b0c572fe
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/b0c572fe
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/b0c572fe

Branch: refs/heads/master
Commit: b0c572fe64464f93d03452698f852f7710535314
Parents: ece31da
Author: Willem Jiang <wi...@gmail.com>
Authored: Wed Aug 20 18:02:33 2014 +0800
Committer: Willem Jiang <wi...@gmail.com>
Committed: Wed Aug 20 18:02:33 2014 +0800

----------------------------------------------------------------------
 .../tokenizer/XMLTokenizeLanguageTest.java      | 14 +++-
 .../support/XMLTokenExpressionIteratorTest.java | 68 ++++++++++++++++++--
 2 files changed, 73 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/b0c572fe/camel-core/src/test/java/org/apache/camel/language/tokenizer/XMLTokenizeLanguageTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/language/tokenizer/XMLTokenizeLanguageTest.java b/camel-core/src/test/java/org/apache/camel/language/tokenizer/XMLTokenizeLanguageTest.java
index e223ca6..c5a0151 100644
--- a/camel-core/src/test/java/org/apache/camel/language/tokenizer/XMLTokenizeLanguageTest.java
+++ b/camel-core/src/test/java/org/apache/camel/language/tokenizer/XMLTokenizeLanguageTest.java
@@ -19,6 +19,7 @@ package org.apache.camel.language.tokenizer;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.builder.xml.Namespaces;
+import org.apache.camel.component.mock.MockEndpoint;
 
 public class XMLTokenizeLanguageTest extends ContextTestSupport {
 
@@ -106,9 +107,16 @@ public class XMLTokenizeLanguageTest extends ContextTestSupport {
     }
 
     public void testSendMoreParentsMessageToTokenize() throws Exception {
-        getMockEndpoint("mock:result").expectedBodiesReceived(
-            "<c:child some_attr='a' anotherAttr='a' xmlns:g=\"urn:g\" xmlns:d=\"urn:d\" xmlns:c=\"urn:c\"></c:child>",
-            "<c:child some_attr='b' anotherAttr='b' xmlns:g=\"urn:g\" xmlns:d=\"urn:d\" xmlns:c=\"urn:c\"/>");
+        MockEndpoint result = getMockEndpoint("mock:result");
+        if (isJavaVersion("1.8"))  {
+            result.expectedBodiesReceived(
+                "<c:child some_attr='a' anotherAttr='a' xmlns:c=\"urn:c\" xmlns:d=\"urn:d\" xmlns:g=\"urn:g\"></c:child>",
+                "<c:child some_attr='b' anotherAttr='b' xmlns:c=\"urn:c\" xmlns:d=\"urn:d\" xmlns:g=\"urn:g\"/>");
+        } else {
+            result.expectedBodiesReceived(
+                "<c:child some_attr='a' anotherAttr='a' xmlns:g=\"urn:g\" xmlns:d=\"urn:d\" xmlns:c=\"urn:c\"></c:child>",
+                "<c:child some_attr='b' anotherAttr='b' xmlns:g=\"urn:g\" xmlns:d=\"urn:d\" xmlns:c=\"urn:c\"/>");
+        }
 
         template.sendBody("direct:start",
             "<?xml version='1.0' encoding='UTF-8'?><g:greatgrandparent xmlns:g='urn:g'><grandparent><uncle/><aunt>emma</aunt><c:parent xmlns:c='urn:c' xmlns:d=\"urn:d\">"

http://git-wip-us.apache.org/repos/asf/camel/blob/b0c572fe/camel-core/src/test/java/org/apache/camel/support/XMLTokenExpressionIteratorTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/support/XMLTokenExpressionIteratorTest.java b/camel-core/src/test/java/org/apache/camel/support/XMLTokenExpressionIteratorTest.java
index 43628fc..a7f4e00 100644
--- a/camel-core/src/test/java/org/apache/camel/support/XMLTokenExpressionIteratorTest.java
+++ b/camel-core/src/test/java/org/apache/camel/support/XMLTokenExpressionIteratorTest.java
@@ -23,6 +23,7 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Locale;
 import java.util.Map;
 
 import junit.framework.TestCase;
@@ -121,6 +122,13 @@ public class XMLTokenExpressionIteratorTest extends TestCase {
         "<child some_attr='c' anotherAttr='c' xmlns='urn:c' xmlns:g='urn:g' xmlns:c='urn:c'></child>",
         "<c:child some_attr='d' anotherAttr='d' xmlns:g=\"urn:g\" xmlns:c=\"urn:c\"/>"
     };
+    
+    private static final String[] RESULTS_CHILD_MIXED_JAVA8 = {
+        "<child some_attr='a' anotherAttr='a' xmlns=\"urn:c\" xmlns:c=\"urn:c\" xmlns:g=\"urn:g\"></child>",
+        "<x:child xmlns:x='urn:c' some_attr='b' anotherAttr='b' xmlns='urn:c' xmlns:c='urn:c' xmlns:g='urn:g'/>",
+        "<child some_attr='c' anotherAttr='c' xmlns='urn:c' xmlns:g='urn:g' xmlns:c='urn:c'></child>",
+        "<c:child some_attr='d' anotherAttr='d' xmlns:g=\"urn:g\" xmlns:c=\"urn:c\"/>"
+    };
 
     private static final String[] RESULTS_CHILD_MIXED_WRAPPED = {
         "<?xml version='1.0' encoding='UTF-8'?><g:greatgrandparent xmlns:g='urn:g'><grandparent>"
@@ -145,11 +153,25 @@ public class XMLTokenExpressionIteratorTest extends TestCase {
         "<c:child some_attr='e' anotherAttr='e' xmlns:g=\"urn:g\" xmlns:d=\"urn:d\" xmlns:c=\"urn:c\"></c:child>",
         "<c:child some_attr='f' anotherAttr='f' xmlns:g=\"urn:g\" xmlns:d=\"urn:d\" xmlns:c=\"urn:c\"/>"
     };
+    
+    private static final String[] RESULTS_CHILD_JAVA8 = {
+        "<c:child some_attr='a' anotherAttr='a' xmlns:c=\"urn:c\" xmlns:d=\"urn:d\" xmlns:g=\"urn:g\"></c:child>",
+        "<c:child some_attr='b' anotherAttr='b' xmlns:c=\"urn:c\" xmlns:d=\"urn:d\" xmlns:g=\"urn:g\"/>",
+        "<c:child some_attr='c' anotherAttr='c' xmlns:c=\"urn:c\" xmlns:d=\"urn:d\" xmlns:g=\"urn:g\"></c:child>",
+        "<c:child some_attr='d' anotherAttr='d' xmlns:c=\"urn:c\" xmlns:d=\"urn:d\" xmlns:g=\"urn:g\"/>",
+        "<c:child some_attr='e' anotherAttr='e' xmlns:c=\"urn:c\" xmlns:d=\"urn:d\" xmlns:g=\"urn:g\"></c:child>",
+        "<c:child some_attr='f' anotherAttr='f' xmlns:c=\"urn:c\" xmlns:d=\"urn:d\" xmlns:g=\"urn:g\"/>"
+    };
 
     private static final String[] RESULTS_CHILD_NO_NS_MIXED = {
         "<child some_attr='a' anotherAttr='a' xmlns='' xmlns:g='urn:g' xmlns:c='urn:c'></child>",
         "<child some_attr='c' anotherAttr='c' xmlns:g=\"urn:g\" xmlns:c=\"urn:c\"></child>",
     };
+    
+    private static final String[] RESULTS_CHILD_NO_NS_MIXED_JAVA8 = {
+        "<child some_attr='a' anotherAttr='a' xmlns='' xmlns:c='urn:c' xmlns:g='urn:g'></child>",
+        "<child some_attr='c' anotherAttr='c' xmlns:g=\"urn:g\" xmlns:c=\"urn:c\"></child>",
+    };
 
     // note that there is no preceding sibling to the extracted child
     private static final String[] RESULTS_CHILD_NO_NS_MIXED_WRAPPED = {
@@ -165,6 +187,11 @@ public class XMLTokenExpressionIteratorTest extends TestCase {
         "<x:child xmlns:x='urn:c' some_attr='b' anotherAttr='b' xmlns='urn:c' xmlns:g='urn:g' xmlns:c='urn:c'/>",
         "<c:child some_attr='d' anotherAttr='d' xmlns:g=\"urn:g\" xmlns:c=\"urn:c\"/>"
     };
+    
+    private static final String[] RESULTS_CHILD_NS_MIXED_JAVA8 = {
+        "<x:child xmlns:x='urn:c' some_attr='b' anotherAttr='b' xmlns='urn:c' xmlns:c='urn:c' xmlns:g='urn:g'/>",
+        "<c:child some_attr='d' anotherAttr='d' xmlns:g=\"urn:g\" xmlns:c=\"urn:c\"/>"
+    };
 
     // note that there is a preceding sibling to the extracted child
     private static final String[] RESULTS_CHILD_NS_MIXED_WRAPPED = {
@@ -257,7 +284,11 @@ public class XMLTokenExpressionIteratorTest extends TestCase {
     }
 
     public void testExtractChildInjected() throws Exception {
-        invokeAndVerify("//C:child", 'i', new ByteArrayInputStream(TEST_BODY), RESULTS_CHILD);
+        String[] result = RESULTS_CHILD;
+        if (isJavaVersion("1.8")) {
+            result = RESULTS_CHILD_JAVA8;
+        }
+        invokeAndVerify("//C:child", 'i', new ByteArrayInputStream(TEST_BODY), result);
     }
 
     public void testExtractChildNSMixed() throws Exception {
@@ -265,7 +296,11 @@ public class XMLTokenExpressionIteratorTest extends TestCase {
     }
 
     public void testExtractChildNSMixedInjected() throws Exception {
-        invokeAndVerify("//*:child", 'i', new ByteArrayInputStream(TEST_BODY_NS_MIXED), RESULTS_CHILD_MIXED);
+        String[] result =  RESULTS_CHILD_MIXED;
+        if (isJavaVersion("1.8")) {
+            result =  RESULTS_CHILD_MIXED_JAVA8;
+        }
+        invokeAndVerify("//*:child", 'i', new ByteArrayInputStream(TEST_BODY_NS_MIXED), result);
     }
 
     public void testExtractAnyChild() throws Exception {
@@ -273,7 +308,11 @@ public class XMLTokenExpressionIteratorTest extends TestCase {
     }
 
     public void testExtractCxxxd() throws Exception {
-        invokeAndVerify("//C:c*d", 'i', new ByteArrayInputStream(TEST_BODY), RESULTS_CHILD);
+        String[] result =  RESULTS_CHILD;
+        if (isJavaVersion("1.8")) {
+            result =  RESULTS_CHILD_JAVA8;
+        }
+        invokeAndVerify("//C:c*d", 'i', new ByteArrayInputStream(TEST_BODY), result);
     }
 
     public void testExtractUnqualifiedChild() throws Exception {
@@ -285,7 +324,11 @@ public class XMLTokenExpressionIteratorTest extends TestCase {
     }
 
     public void testExtractSomeUnqualifiedChildInjected() throws Exception {
-        invokeAndVerify("//child", 'i', new ByteArrayInputStream(TEST_BODY_NO_NS_MIXED), RESULTS_CHILD_NO_NS_MIXED);
+        String[] result = RESULTS_CHILD_NO_NS_MIXED;
+        if (isJavaVersion("1.8"))  {
+            result = RESULTS_CHILD_NO_NS_MIXED_JAVA8;
+        }
+        invokeAndVerify("//child", 'i', new ByteArrayInputStream(TEST_BODY_NO_NS_MIXED), result);
     }
 
     public void testExtractSomeQualifiedChild() throws Exception {
@@ -295,12 +338,20 @@ public class XMLTokenExpressionIteratorTest extends TestCase {
 
     public void testExtractSomeQualifiedChildInjected() throws Exception {
         nsmap.put("", "urn:c");
-        invokeAndVerify("//child", 'i', new ByteArrayInputStream(TEST_BODY_NO_NS_MIXED), RESULTS_CHILD_NS_MIXED);
+        String[] result = RESULTS_CHILD_NS_MIXED;
+        if (isJavaVersion("1.8")) {
+            result = RESULTS_CHILD_NS_MIXED_JAVA8;
+        }
+        invokeAndVerify("//child", 'i', new ByteArrayInputStream(TEST_BODY_NO_NS_MIXED), result);
     }
 
     public void testExtractWithNullNamespaceMap() throws Exception {
         nsmap = null;
-        invokeAndVerify("//child", 'i', new ByteArrayInputStream(TEST_BODY_NO_NS_MIXED), RESULTS_CHILD_NO_NS_MIXED);
+        String[] result = RESULTS_CHILD_NO_NS_MIXED;
+        if (isJavaVersion("1.8")) {
+            result = RESULTS_CHILD_NO_NS_MIXED_JAVA8;
+        }
+        invokeAndVerify("//child", 'i', new ByteArrayInputStream(TEST_BODY_NO_NS_MIXED), result);
     }
 
     public void testExtractChildWithAncestorGGPdGP() throws Exception {
@@ -390,4 +441,9 @@ public class XMLTokenExpressionIteratorTest extends TestCase {
         }
 
     }
+    
+    public static boolean isJavaVersion(String version) {
+        String javaVersion = System.getProperty("java.version");
+        return javaVersion.contains(version.toLowerCase(Locale.US));
+    }
 }