On 4/14/2010 4:06 下午, Kevin Zhou (JIRA) wrote:
[ https://issues.apache.org/jira/browse/HARMONY-6139?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]Kevin Zhou resolved HARMONY-6139. --------------------------------- Resolution: Fixed Thanks, Ray. Patch applied at r933872, please verify.[classlib][luni][java6] java.util.Arrays.binarySearch(short[] array, int startIndex, int endIndex, short value) should return (-(insertion point) - 1) rather than -1 if value is not found in the given range -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Key: HARMONY-6139 URL: https://issues.apache.org/jira/browse/HARMONY-6139 Project: Harmony Issue Type: Bug Components: Classlib Affects Versions: 5.0M8 Reporter: Kevin Zhou Fix For: 5.0M9 Attachments: Harmony6139.diff, Harmony6139_v2.diff, Harmony6139_v3.diff Given a test case [1] below, RI passes while HY6 fails. The testcase is used to test the binarySearch(short[] array, int startIndex, int endIndex, short value) of java.util.Arrays class. According to java spec, if the given value is not found in the given range of array, this method should return (-(insertion point) - 1) rather than -1. Here, "insertion point" is defined as the point at which the key would be inserted into the array or endIndex if all elements in the range are less than the specified key. And HY6 doesn't implement this. [1] Test Case: public void test_Arrays_binaraySearch_short() { assertEquals(-2, Arrays.binarySearch(new short[] { (short) -1 }, 1, 1, (short)0)); }
patch verified, thanks!
