This is the mail archive of the mauve-discuss@sourceware.cygnus.com mailing list for the Mauve project. See the Mauve home page for more information.


[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index] [Subject Index] [Author Index] [Thread Index]

Re: Character test (incomplete)



Artur> http://www.pg.gda.pl/~abies/tests/
Artur> file CharacterTest.java

I ran this against libjava.

It found a couple bugs in libjava (we implemented the deprecated
methods incorrectly, and we didn't compute the titlecase of a
titlecase character correctly).  So it has already helped -- thanks.

I still have some divergences.  The ones I've looked at all appear to
be bugs in the test code, and not libjava.


For instance, the program reports this:

Character 00AA:FEMININE ORDINAL INDICATOR incorectly reported as not-lowercase

However, this is incorrect.  The Java Class Libraries book says that
isLowerCase() returns true if and only iff:

  * ch < 0x2000 or ch > 0x2fff
  * Unicode does not specify a lowercase mapping for ch
  * Unicode specifies an uppercase mapping for ch, or the Unicode name
    contains "SMALL LETTER" or "SMALL LIGATURE"

However, you can see that #3 does not apply for this character from
the Unicode table entry:

    00AA;FEMININE ORDINAL INDICATOR;Ll;0;L;<super> 0061;;;;N;;;;;

(The last 3 fields are the case mappings.)

See http://java.sun.com/products/jdk/1.2/docs/api/java/lang/Character.html
for all the details on how the methods are specified.


I believe all the other libjava tests represent failures in the test
code, but of course I haven't checked them all.  A quick glance seems
to indicate they are all upper/lower test failures.

Tom