Correct isWhitespace up until 128
authorJaroslav Tulach <jaroslav.tulach@apidesign.org>
Sun, 02 Mar 2014 11:54:59 +0100
changeset 1480797da74ddde1
parent 1478 4ce73c83c775
child 1481 3680747f6a19
Correct isWhitespace up until 128
rt/emul/compact/src/test/java/org/apidesign/bck2brwsr/tck/CharacterTest.java
rt/emul/mini/src/main/java/java/lang/Character.java
     1.1 --- a/rt/emul/compact/src/test/java/org/apidesign/bck2brwsr/tck/CharacterTest.java	Wed Feb 19 08:10:04 2014 +0100
     1.2 +++ b/rt/emul/compact/src/test/java/org/apidesign/bck2brwsr/tck/CharacterTest.java	Sun Mar 02 11:54:59 2014 +0100
     1.3 @@ -41,7 +41,17 @@
     1.4      @Compare public boolean numberJavaPart() {
     1.5          return Character.isJavaIdentifierPart('3');
     1.6      }
     1.7 -    
     1.8 +
     1.9 +    @Compare public String testWhiteSpaces() {
    1.10 +        StringBuilder sb = new StringBuilder();
    1.11 +        for (int i = 1; i < 128; i++) {
    1.12 +            char ch = (char)i;
    1.13 +            if (Character.isWhitespace(ch)) {
    1.14 +                sb.append(i).append(",");
    1.15 +            }
    1.16 +        }
    1.17 +        return sb.toString();
    1.18 +    }
    1.19      
    1.20      @Factory
    1.21      public static Object[] create() {
     2.1 --- a/rt/emul/mini/src/main/java/java/lang/Character.java	Wed Feb 19 08:10:04 2014 +0100
     2.2 +++ b/rt/emul/mini/src/main/java/java/lang/Character.java	Sun Mar 02 11:54:59 2014 +0100
     2.3 @@ -2416,11 +2416,11 @@
     2.4       * @since   1.5
     2.5       */
     2.6      public static boolean isWhitespace(int codePoint) {
     2.7 -        if (
     2.8 -            codePoint == SPACE_SEPARATOR || 
     2.9 -            codePoint == LINE_SEPARATOR || 
    2.10 -            codePoint == PARAGRAPH_SEPARATOR
    2.11 -        ) {
    2.12 +        // values up to 128: [9,10,11,12,13,28,29,30,31,32]
    2.13 +        if (9 <= codePoint && 13 >= codePoint) {
    2.14 +            return true;
    2.15 +        }
    2.16 +        if (28 <= codePoint && 32 >= codePoint) {
    2.17              return true;
    2.18          }
    2.19          return false;