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: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org