modules/controls/src/test/java/javafx/scene/control/DatePickerTest.java

Print this page
rev 9038 : RT-34620: [ComboBox, DatePicker] Buttons set to default/cancel are not reacting to ComboBox enter/esc keys

*** 430,442 **** assertEquals("1/2/2015", dp.getEditor().getText()); }); StageLoader sl = new StageLoader(dp); ! dp.getEditor().requestFocus(); dp.getEditor().setText("1/2/2015"); ! KeyEventFirer keyboard = new KeyEventFirer(dp.getEditor()); keyboard.doKeyPress(KeyCode.ENTER); assertEquals(1, test_rt35586_count); sl.dispose(); --- 430,442 ---- assertEquals("1/2/2015", dp.getEditor().getText()); }); StageLoader sl = new StageLoader(dp); ! dp.requestFocus(); dp.getEditor().setText("1/2/2015"); ! KeyEventFirer keyboard = new KeyEventFirer(dp); keyboard.doKeyPress(KeyCode.ENTER); assertEquals(1, test_rt35586_count); sl.dispose();
*** 590,601 **** // dp2.isFocused() returns true as expected, the scene focus owner is // not the ComboBox, but the FakeFocusTextField inside it dp1Keyboard.doKeyPress(KeyCode.TAB, KeyModifier.SHIFT); assertTrue("Expect dp2 to be focused, but actual focus owner is: " + scene.getFocusOwner(), dp2.isFocused()); ! assertEquals("Expect dp2 TextField to be focused, but actual focus owner is: " + scene.getFocusOwner(), ! dp2.getEditor(), scene.getFocusOwner()); // This is where the second half of the bug appears, as we are stuck in // the FakeFocusTextField of dp2, we never make it to dp1 dp2Keyboard.doKeyPress(KeyCode.TAB, KeyModifier.SHIFT); assertTrue(dp1.isFocused()); --- 590,605 ---- // dp2.isFocused() returns true as expected, the scene focus owner is // not the ComboBox, but the FakeFocusTextField inside it dp1Keyboard.doKeyPress(KeyCode.TAB, KeyModifier.SHIFT); assertTrue("Expect dp2 to be focused, but actual focus owner is: " + scene.getFocusOwner(), dp2.isFocused()); ! // Updated with fix for RT-34602: The TextField now never gets ! // focus (it's just faking it). ! // assertEquals("Expect dp2 TextField to be focused, but actual focus owner is: " + scene.getFocusOwner(), ! // dp2.getEditor(), scene.getFocusOwner()); ! assertEquals("Expect dp2 to be focused, but actual focus owner is: " + scene.getFocusOwner(), ! dp2, scene.getFocusOwner()); // This is where the second half of the bug appears, as we are stuck in // the FakeFocusTextField of dp2, we never make it to dp1 dp2Keyboard.doKeyPress(KeyCode.TAB, KeyModifier.SHIFT); assertTrue(dp1.isFocused());