You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Alexey Petrenko (JIRA)" <ji...@apache.org> on 2006/07/12 13:38:30 UTC

[jira] Commented: (HARMONY-829) [classlib][io] unexpected result for java.io.File.compareTo(File) method

    [ http://issues.apache.org/jira/browse/HARMONY-829?page=comments#action_12420593 ] 

Alexey Petrenko commented on HARMONY-829:
-----------------------------------------

Small investigation shown that the problem is not in the File.compareTo method but in File.getPath method which returns different path in this case.

As we can see from your output RI returns "01" and "0" as paths, but Harmony returns "01\" and "0\". String.compareTo and String.CompareToIgnoreCase methods returns the same results for this string on RI and Harmony.

So the only way to fix this bug is to fix File.getPath method.

> [classlib][io] unexpected result for java.io.File.compareTo(File) method
> ------------------------------------------------------------------------
>
>          Key: HARMONY-829
>          URL: http://issues.apache.org/jira/browse/HARMONY-829
>      Project: Harmony
>         Type: Bug

>   Components: Classlib
>     Reporter: Vladimir Ivanov
>  Attachments: FileTest.patch
>
> The Harmony method java.io.File.compareTo(File) returns positive value while RI returns negative.
> ================= test.java ====================
> import java.io.*;
> public class test  { 
>     public static void main (String[] args) {        
>         File f1 = new File("01", "");
>         File f2 = new File("0", "");
>         System.out.println("f1.getPath() = " + f1.getPath() + ", f2.getPath() = " + f2.getPath());
>         System.out.println("f2.compareTo(f1) = " + f2.compareTo(f1) + ", f1.compareTo(f2) = " + f1.compareTo(f2));
>    }
> } 
> ============================================
> Output:
> C:\tmp\tmp17>C:\jrockit-jdk1.5.0-windows-ia32\bin\java.exe -showversion test
> java version "1.5.0"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
> BEA WebLogic JRockit(R) (build dra-38972-20041208-2001-win-ia32, R25.0.0-75, GC: System optimized over throughput (initial strategy singleparpar))
> f1.getPath() = 01, f2.getPath() = 0
> f2.compareTo(f1) = -1, f1.compareTo(f2) = 1
> C:\tmp\tmp17>C:\harmony\trunk_0427\deploy\jdk\jre\bin\java.exe -showversion test
> java version 1.5 (subset)
> (c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable.
> f1.getPath() = 01\, f2.getPath() = 0\
> f2.compareTo(f1) = 43, f1.compareTo(f2) = -43

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira