Index: .classpath
===================================================================
--- .classpath (revision 442054)
+++ .classpath (working copy)
@@ -6,5 +6,6 @@
+
Index: src/test/java/org/apache/harmony/luni/tests/java/lang/CharacterTest.java
===================================================================
--- src/test/java/org/apache/harmony/luni/tests/java/lang/CharacterTest.java (revision 442109)
+++ src/test/java/org/apache/harmony/luni/tests/java/lang/CharacterTest.java (working copy)
@@ -774,11 +774,24 @@
public void test_isDefinedC() {
// Test for method boolean java.lang.Character.isDefined(char)
assertTrue("Defined character returned false", Character.isDefined('v'));
- assertTrue("Undefined character returned true", Character
+ assertTrue("Defined character returned false", Character
.isDefined('\u6039'));
}
/**
+ * @tests java.lang.Character#isDefined(int)
+ */
+ public void test_isDefined_I(){
+ assertTrue(Character.isDefined((int)'v'));
+ assertTrue(Character.isDefined((int)'\u6039'));
+ assertTrue(Character.isDefined(0x10300));
+
+ assertFalse(Character.isDefined(0x30000));
+ assertFalse(Character.isDefined(0x3FFFF));
+ assertFalse(Character.isDefined(0x110000));
+ }
+
+ /**
* @tests java.lang.Character#isDigit(char)
*/
public void test_isDigitC() {
@@ -786,6 +799,41 @@
assertTrue("Digit returned false", Character.isDigit('1'));
assertTrue("Non-Digit returned false", !Character.isDigit('A'));
}
+
+ /**
+ * @tests java.lang.Character#isDigit(int)
+ */
+ public void test_isDigit_I() {
+ assertTrue(Character.isDigit((int) '1'));
+ assertFalse(Character.isDigit((int) 'A'));
+
+ assertTrue(Character.isDigit(0x0030));
+ assertTrue(Character.isDigit(0x0035));
+ assertTrue(Character.isDigit(0x0039));
+
+ assertTrue(Character.isDigit(0x0660));
+ assertTrue(Character.isDigit(0x0665));
+ assertTrue(Character.isDigit(0x0669));
+
+ assertTrue(Character.isDigit(0x06F0));
+ assertTrue(Character.isDigit(0x06F5));
+ assertTrue(Character.isDigit(0x06F9));
+
+ assertTrue(Character.isDigit(0x0966));
+ assertTrue(Character.isDigit(0x096A));
+ assertTrue(Character.isDigit(0x096F));
+
+ assertTrue(Character.isDigit(0xFF10));
+ assertTrue(Character.isDigit(0xFF15));
+ assertTrue(Character.isDigit(0xFF19));
+
+ assertTrue(Character.isDigit(0x1D7CE));
+ assertTrue(Character.isDigit(0x1D7D8));
+
+ assertFalse(Character.isDigit(0x2F800));
+ assertFalse(Character.isDigit(0x10FFFD));
+ assertFalse(Character.isDigit(0x110000));
+ }
/**
* @tests java.lang.Character#isIdentifierIgnorable(char)
@@ -920,6 +968,22 @@
assertTrue("Letter returned false", Character.isLetter('L'));
assertTrue("Non-Letter returned true", !Character.isLetter('9'));
}
+
+ /**
+ * @tests java.lang.Character#isLetter(int)
+ */
+ public void test_isLetter_I() {
+ assertTrue(Character.isLetter((int)'L'));
+ assertFalse(Character.isLetter((int)'9'));
+
+ assertTrue(Character.isLetter(0x1FA9));
+ assertTrue(Character.isLetter(0x1D400));
+ assertTrue(Character.isLetter(0x1D622));
+ assertTrue(Character.isLetter(0x10000));
+
+ assertFalse(Character.isLetter(0x1012C));
+ assertFalse(Character.isLetter(0x110000));
+ }
/**
* @tests java.lang.Character#isLetterOrDigit(char)
@@ -931,7 +995,29 @@
assertTrue("Control returned true", !Character.isLetterOrDigit('\n'));
assertTrue("Puncutation returned true", !Character.isLetterOrDigit('?'));
}
+
+ /**
+ * @tests java.lang.Character#isLetterOrDigit(int)
+ */
+ public void test_isLetterOrDigit_I() {
+ assertTrue(Character.isLetterOrDigit((int)'9'));
+ assertTrue(Character.isLetterOrDigit((int)'K'));
+ assertFalse(Character.isLetterOrDigit((int)'\n'));
+ assertFalse(Character.isLetterOrDigit((int)'?'));
+
+ assertTrue(Character.isLetterOrDigit(0x1FA9));
+ assertTrue(Character.isLetterOrDigit(0x1D400));
+ assertTrue(Character.isLetterOrDigit(0x1D622));
+ assertTrue(Character.isLetterOrDigit(0x10000));
+ assertTrue(Character.isLetterOrDigit(0x1D7CE));
+ assertTrue(Character.isLetterOrDigit(0x1D7D8));
+
+ assertFalse(Character.isLetterOrDigit(0x10FFFD));
+ assertFalse(Character.isLetterOrDigit(0x1012C));
+ assertFalse(Character.isLetterOrDigit(0x110000));
+ }
+
/**
* @tests java.lang.Character#isLowerCase(char)
*/
@@ -940,6 +1026,21 @@
assertTrue("lower returned false", Character.isLowerCase('a'));
assertTrue("upper returned true", !Character.isLowerCase('T'));
}
+
+ /**
+ * @tests java.lang.Character#isLowerCase(int)
+ */
+ public void test_isLowerCase_I() {
+ assertTrue(Character.isLowerCase((int)'a'));
+ assertFalse(Character.isLowerCase((int)'T'));
+
+ assertTrue(Character.isLowerCase(0x10428));
+ assertTrue(Character.isLowerCase(0x1D4EA));
+
+ assertFalse(Character.isLowerCase(0x1D504));
+ assertFalse(Character.isLowerCase(0x30000));
+ assertFalse(Character.isLowerCase(0x110000));
+ }
/**
* @tests java.lang.Character#isSpace(char)
@@ -1022,6 +1123,21 @@
assertTrue("Incorrect case value", !Character.isUpperCase('t'));
assertTrue("Incorrect case value", Character.isUpperCase('T'));
}
+
+ /**
+ * @tests java.lang.Character#isUpperCase(int)
+ */
+ public void test_isUpperCase_I() {
+ assertFalse(Character.isUpperCase((int)'t'));
+ assertTrue(Character.isUpperCase((int)'T'));
+
+ assertTrue(Character.isUpperCase(0x1D504));
+ assertTrue(Character.isUpperCase(0x1D608));
+
+ assertFalse(Character.isUpperCase(0x1D656));
+ assertFalse(Character.isUpperCase(0x10FFFD));
+ assertFalse(Character.isUpperCase(0x110000));
+ }
/**
* @tests java.lang.Character#isWhitespace(char)
Index: src/main/java/java/lang/Character.java
===================================================================
--- src/main/java/java/lang/Character.java (revision 442054)
+++ src/main/java/java/lang/Character.java (working copy)
@@ -1,4 +1,4 @@
-/* Copyright 1998, 2005 The Apache Software Foundation or its licensors, as applicable
+/* Copyright 1998, 2006 The Apache Software Foundation or its licensors, as applicable
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -21,6 +21,8 @@
import org.apache.harmony.luni.util.BinarySearch;
+import com.ibm.icu.lang.UCharacter;
+
/**
*
* Character is the wrapper for the primitive type char. This
@@ -2591,6 +2593,19 @@
public static boolean isDefined(char c) {
return getType(c) != UNASSIGNED;
}
+
+ /**
+ * Answers whether the specified character is defined in the Unicode
+ * specification.
+ *
+ * @param codePoint
+ * the character, including supplementary characters
+ * @return true if the general Unicode category of the character is not
+ * UNASSIGNED, false otherwise
+ */
+ public static boolean isDefined(int codePoint) {
+ return UCharacter.isDefined(codePoint);
+ }
/**
* Answers whether the character is a digit.
@@ -2609,6 +2624,17 @@
}
return getType(c) == DECIMAL_DIGIT_NUMBER;
}
+
+ /**
+ * Answers whether the character is a digit.
+ *
+ * @param codePoint
+ * the character, including supplementary characters
+ * @return true when the character is a digit, false otherwise
+ */
+ public static boolean isDigit(int codePoint) {
+ return UCharacter.isDigit(codePoint);
+ }
/**
* Answers whether the specified character is ignorable in a Java or Unicode
@@ -2639,7 +2665,7 @@
* Answers whether the character is an ISO control character.
*
* @param c
- * the character,, including supplementary characters
+ * the character, including supplementary characters
* @return true if c is an ISO control
* character, otherwise false
*/
@@ -2728,6 +2754,17 @@
int type = getType(c);
return type >= UPPERCASE_LETTER && type <= OTHER_LETTER;
}
+
+ /**
+ * Answers whether the character is a letter.
+ *
+ * @param codePoint
+ * the character, including supplementary characters
+ * @return true when the character is a letter, false otherwise
+ */
+ public static boolean isLetter(int codePoint) {
+ return UCharacter.isLetter(codePoint);
+ }
/**
* Answers whether the character is a letter or a digit.
@@ -2741,6 +2778,17 @@
return (type >= UPPERCASE_LETTER && type <= OTHER_LETTER)
|| type == DECIMAL_DIGIT_NUMBER;
}
+
+ /**
+ * Answers whether the character is a letter or a digit.
+ *
+ * @param codePoint
+ * the character, including supplementary characters
+ * @return true when the character is a letter or a digit, false otherwise
+ */
+ public static boolean isLetterOrDigit(int codePoint) {
+ return UCharacter.isLetterOrDigit(codePoint);
+ }
/**
* Answers whether the character is a lower case letter.
@@ -2760,6 +2808,17 @@
return getType(c) == LOWERCASE_LETTER;
}
+
+ /**
+ * Answers whether the character is a lower case letter.
+ *
+ * @param codePoint
+ * the character, including supplementary characters
+ * @return true when the character is a lower case letter, false otherwise
+ */
+ public static boolean isLowerCase(int codePoint) {
+ return UCharacter.isLowerCase(codePoint);
+ }
/**
* Answers whether the character is a Java space.
@@ -2866,6 +2925,17 @@
return getType(c) == UPPERCASE_LETTER;
}
+
+ /**
+ * Answers whether the character is an upper case letter.
+ *
+ * @param codePoint
+ * the character, including supplementary characters
+ * @return true when the character is a upper case letter, false otherwise
+ */
+ public static boolean isUpperCase(int codePoint) {
+ return UCharacter.isUpperCase(codePoint);
+ }
/**
* Answers whether the character is a whitespace character in Java.