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));
+ }
}