Author: markt
Date: Thu May 8 21:19:26 2014
New Revision: 1593421
URL: http://svn.apache.org/r1593421
Log:
Testing with Java 9 early access.
UTF-8 issues resolved.
Modified:
tomcat/trunk/test/org/apache/tomcat/util/buf/TestUtf8.java
Modified: tomcat/trunk/test/org/apache/tomcat/util/buf/TestUtf8.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/util/buf/TestUtf8.java?rev=1593421&r1=1593420&r2=1593421&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/tomcat/util/buf/TestUtf8.java (original)
+++ tomcat/trunk/test/org/apache/tomcat/util/buf/TestUtf8.java Thu May 8
21:19:26 2014
@@ -69,6 +69,9 @@ public class TestUtf8 {
} catch (Exception e) {
// Ignore
}
+ // TODO Identify a class to test for Java 9
+ //javaVersion = 9;
+
Utf8TestCase testCase = null;
TEST_CASES.add(new Utf8TestCase(
@@ -96,12 +99,17 @@ public class TestUtf8 {
new int[] {0xF0, 0x90, 0x90, 0x80},
-1,
"\uD801\uDC00"));
- // JVM decoder does not report error until all 4 bytes are available
- TEST_CASES.add(new Utf8TestCase(
+ // Java 7/8 JVM decoder does not report error until all 4 bytes are
+ // available
+ testCase = new Utf8TestCase(
"Invalid code point - out of range",
new int[] {0x41, 0xF4, 0x90, 0x80, 0x80, 0x41},
2,
- "A\uFFFD\uFFFD\uFFFD\uFFFDA").addForJvm(ERROR_POS_PLUS2));
+ "A\uFFFD\uFFFD\uFFFD\uFFFDA");
+ if (javaVersion < 9) {
+ testCase.addForJvm(ERROR_POS_PLUS2);
+ }
+ TEST_CASES.add(testCase);
// Java 7 JVM decoder does not report error until all 2 bytes are
available
testCase = new Utf8TestCase(
@@ -125,12 +133,18 @@ public class TestUtf8 {
}
TEST_CASES.add(testCase);
- // JVM decoder does not report error until all 4 bytes are available
- TEST_CASES.add(new Utf8TestCase(
+ // Java 7/8 JVM decoder does not report error until all 4 bytes are
+ // available
+ testCase = new Utf8TestCase(
"Valid sequence padded from one byte to four",
new int[] {0x41, 0xF0, 0x80, 0x80, 0xC1, 0x41},
2,
- "A\uFFFD\uFFFD\uFFFD\uFFFDA").addForJvm(ERROR_POS_PLUS2));
+ "A\uFFFD\uFFFD\uFFFD\uFFFDA");
+ if (javaVersion < 9) {
+ testCase.addForJvm(ERROR_POS_PLUS2);
+ }
+ TEST_CASES.add(testCase);
+
TEST_CASES.add(new Utf8TestCase(
"Invalid one byte 1111 1111",
new int[] {0x41, 0xFF, 0x41},
@@ -333,26 +347,46 @@ public class TestUtf8 {
new int[] {0x61, 0xE1, 0x80, 0xC0, 0x61},
3,
"a\uFFFD\uFFFDa"));
- TEST_CASES.add(new Utf8TestCase(
+ testCase = new Utf8TestCase(
"Four bytes, U+0000 zero-padded",
new int[] {0x61, 0xF0, 0x80, 0x80, 0x80, 0x61},
2,
- "a\uFFFD\uFFFD\uFFFD\uFFFDa").addForJvm(ERROR_POS_PLUS2));
- TEST_CASES.add(new Utf8TestCase(
+ "a\uFFFD\uFFFD\uFFFD\uFFFDa");
+ if (javaVersion < 9) {
+ testCase.addForJvm(ERROR_POS_PLUS2);
+ }
+ TEST_CASES.add(testCase);
+
+ testCase = new Utf8TestCase(
"Four bytes, U+007F zero-padded",
new int[] {0x61, 0xF0, 0x80, 0x81, 0xBF, 0x61},
2,
- "a\uFFFD\uFFFD\uFFFD\uFFFDa").addForJvm(ERROR_POS_PLUS2));
- TEST_CASES.add(new Utf8TestCase(
+ "a\uFFFD\uFFFD\uFFFD\uFFFDa");
+ if (javaVersion < 9) {
+ testCase.addForJvm(ERROR_POS_PLUS2);
+ }
+ TEST_CASES.add(testCase);
+
+ testCase = new Utf8TestCase(
"Four bytes, U+07FF zero-padded",
new int[] {0x61, 0xF0, 0x80, 0x9F, 0xBF, 0x61},
2,
- "a\uFFFD\uFFFD\uFFFD\uFFFDa").addForJvm(ERROR_POS_PLUS2));
- TEST_CASES.add(new Utf8TestCase(
+ "a\uFFFD\uFFFD\uFFFD\uFFFDa");
+ if (javaVersion < 9) {
+ testCase.addForJvm(ERROR_POS_PLUS2);
+ }
+ TEST_CASES.add(testCase);
+
+ testCase = new Utf8TestCase(
"Four bytes, U+FFFF zero-padded",
new int[] {0x61, 0xF0, 0x8F, 0xBF, 0xBF, 0x61},
2,
- "a\uFFFD\uFFFD\uFFFD\uFFFDa").addForJvm(ERROR_POS_PLUS2));
+ "a\uFFFD\uFFFD\uFFFD\uFFFDa");
+ if (javaVersion < 9) {
+ testCase.addForJvm(ERROR_POS_PLUS2);
+ }
+ TEST_CASES.add(testCase);
+
TEST_CASES.add(new Utf8TestCase(
"Four bytes, all 1's",
new int[] {0x61, 0xFF, 0xFF, 0xFF, 0xFF, 0x61},
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]