On Thu, 7 Apr 2022 07:40:18 GMT, Srinivas Mandalika <smandal...@openjdk.org> wrote:
> Create an automated test for > [JDK-4170173](https://bugs.openjdk.java.net/browse/JDK-4170173) > > Issue > JTextComponent.AccessibleJTextComponent.getAfterIndex(int part, int index) > works incorrectly, when 'part' parameter is AccessibleText.WORD. > It returns a space (" ") instead of the correct word. > > The test verifies the fix for this behavior by checking the getAfterIndex for > AccessibleText.CHARACTER,AccessibleText.WORD,AccessibleText.SENTENCE for the > components JTextField, JTextArea, JEditorPane. > > While working on this test case there was a related bug relevant to this > [JDK-4170174](https://bugs.openjdk.java.net/browse/JDK-4170174) > This is marked as duplicate, addressess a similar issue. > It indicates that JTextComponent.AccessibleJTextComponent.getBeforeIndex(int > part, int index) works incorrectly, when part parameter is > AccessibleText.WORD. > It returns a space (" ") instead of correct word. > > Hence an additional test was added for this, for verifying the behavior of > getBeforeIndex. > AccessibleText.CHARACTER,AccessibleText.WORD,AccessibleText.SENTENCE for the > components JTextField, JTextArea, JEditorPane. > > The two tests have multiple distinct assertions. For this reason, as well as > for maintainability, the two were not clubbed into a single test. > However, the two tests are still similar in the functional flow of the code > and the functionality they are testing as well - hence they have been clubbed > into a single review. > This review is for migrating tests from a closed test suite to open. > > Testing: > The tests ran successfully on Mach5 with multiple runs (30) on windows-x64, > linux-x64 and macos-x64. test/jdk/javax/accessibility/4170173/AccessibleJTextAfterIndexTest.java line 114: > 112: jTextComponent.getAccessibleContext().getAccessibleText() > 113: .getAfterIndex(character, characterPosition)); > 114: It feels that the code above is too smart=) Can we simplify/reformat it a little bit. I do not think that you need to jump from the main thread to the EDT and back for each testcase, just wrap the "doTest" by the invokeAndWait ------------- PR: https://git.openjdk.java.net/jdk/pull/8138