On Mon, 23 Jun 2025 23:24:14 GMT, Sergey Bylokhov <s...@openjdk.org> wrote:

>> `AccessibleText.getBeforeIndex` method returns `null for last characte`r due 
>> to the **wrong boundary value condition check**.
>> This method returns `null` when the `passed index parameter` is equal to 
>> `text's length` which is incorrect.
>> `getBeforeIndex` method should return `null` only if the **passed index 
>> parameter is less than 0 and greater than the text's length**.
>> 
>> After modifying the condition check, expected character is returned. Test is 
>> added to verify the check,
>
>>getBeforeIndex method should return null only if the passed index parameter 
>>is less than 0 and greater than the text's length.
> 
> I am not sure about the statement above. I think the check should take care 
> of the direction, which is -1 in your case. This is actually properly handled 
> by the code below(in t he same method you changed):
> 
>                     if (index + direction < model.getLength() &&
>                         index + direction >= 0) {
>                         return model.getText(index + direction, 1);
>                     }
> 
> The code you added also affects WORD and SENTENCE cases. I suggest covering 
> those with a test as well.

> @mrserb The code you added also affects WORD and SENTENCE cases. I suggest 
> covering those with a test as well.

Yes, that affects the WORD and SENTENCE cases. I have extended the test to 
cover them.
Before the fix the returned value for  WORD and SENTENCE is null that seems 
incorrect as well.

I think the return string in case of WORD should be `Test6` and SENTENCE should 
be `Test4 Test5. `

-------------

PR Comment: https://git.openjdk.org/jdk/pull/25941#issuecomment-3000004752

Reply via email to