//This product is provided under the terms of EPL (Eclipse Public License) //version 1.0. // //The full license text can be read from: http://www.eclipse.org/org/documents/epl-v10.php package org.dtangler.swingui.textinput.impl; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import org.dtangler.swingui.textinput.TextInputSelector; import org.dtangler.swingui.windowmanager.MockWindowManager; import org.junit.Before; import org.junit.Test; public class TextInputSelectorFeatureTest { private MockWindowManager windowManager; private TextInputSelector selector; @Before public void setUp() { windowManager = new MockWindowManager(); selector = new TextInputSelectorImpl(windowManager); } @Test public void testFieldNameAndDialogTitle() { selector.selectValue("my field", "my title"); TextInputViewDriver view = new TextInputViewDriver(windowManager .getLastShownView()); assertEquals("my title", view.title); assertEquals("my field", view.fieldName.getText()); } @Test public void testOkButtonIsEnabledOnlyWhenValueIsNotEmpty() { selector.selectValue("my field", "my title"); TextInputViewDriver view = new TextInputViewDriver(windowManager .getLastShownView()); assertEquals("", view.value.getText()); assertFalse(view.okButton.isEnabled().isTrue()); view.value.setText("a"); assertTrue(view.okButton.isEnabled().isTrue()); } @Test public void testOk() { windowManager.setTestCodeForNextModal(new Runnable() { public void run() { TextInputViewDriver view = new TextInputViewDriver( windowManager.getLastShownView()); view.value.setText("myvalue"); view.okButton.click(); } }); String result = selector.selectValue("my field", "my title"); assertEquals("myvalue", result); assertNull("window was closed", windowManager.getLastShownView()); } @Test public void testCancel() { windowManager.setTestCodeForNextModal(new Runnable() { public void run() { TextInputViewDriver view = new TextInputViewDriver( windowManager.getLastShownView()); view.value.setText("myvalue"); view.cancelButton.click(); } }); String result = selector.selectValue("my field", "my title"); assertNull(result); assertNull("window was closed", windowManager.getLastShownView()); } }