Create a regression test for JDK-4532513.
This test verifies that the DefaultCaret doesn't requests focus in mouseClick and mousePressed causing the associated input verifier to fire twice.
As per JDK-4532513, the DefaultCaret requests focus in mouseClick and mousePressed causing the associated input verifier to fire twice.
This issue was raised in JDK 1.4.0 and fixed in 1.4.1, so the test need to be failed in 1.4.0 and must pass in 1.4.1.
Testing:
In JDK 1.4.0:
$ ./j2sdk1.4.0/bin/java DefaultCaretWin
Testing L&F: javax.swing.plaf.metal.MetalLookAndFeel
shouldYieldFocus called 1
shouldYieldFocus called 2
shouldYieldFocus called 3
java.lang.RuntimeException: Test failed for javax.swing.plaf.metal.MetalLookAndFeel as InputVerifier.shouldYieldFocus() getting called 3 times on jTextField2, but it is expected to call only once.
at DefaultCaretWin.runTest(DefaultCaretWin.java:114)
at DefaultCaretWin.main(DefaultCaretWin.java:58)
In JDK 1.4.1:
$ ./j2sdk1.4.1/bin/java DefaultCaretWin
Testing L&F: javax.swing.plaf.metal.MetalLookAndFeel
shouldYieldFocus called 1
Test passed for laf: javax.swing.plaf.metal.MetalLookAndFeel
Testing L&F: com.sun.java.swing.plaf.motif.MotifLookAndFeel
shouldYieldFocus called 1
Test passed for laf: com.sun.java.swing.plaf.motif.MotifLookAndFeel
Testing L&F: com.sun.java.swing.plaf.windows.WindowsLookAndFeel
shouldYieldFocus called 1
Test passed for laf: com.sun.java.swing.plaf.windows.WindowsLookAndFeel