package org.jdesktop.swingx.plaf; import static org.junit.Assert.assertEquals; import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.plaf.basic.BasicTextFieldUI; import org.jdesktop.swingx.JXSearchField; import org.junit.Before; import org.junit.Test; public class TextUIWrapperTest { private JTextField txt; private TextUIWrapper<? extends PromptTextUI> wrapper; @Before public void setup() { txt = new JTextField(); wrapper = TextUIWrapper.getDefaultWrapper(); } @Test public void testWrapUI() throws Exception { assertEquals(BuddyTextFieldUI.class, wrapper.wrapUI(new JTextField()).getClass()); assertEquals(PromptTextAreaUI.class, wrapper.wrapUI(new JTextArea()).getClass()); assertEquals(SearchFieldUI.class, wrapper.wrapUI(new JXSearchField()).getClass()); } @Test public void testUninstall() { Class<?> defaultUiClass = txt.getUI().getClass(); wrapper.install(txt, true); wrapper.uninstall(txt); assertEquals(defaultUiClass, txt.getUI().getClass()); } @Test public void testInstall() { wrapper.install(txt, false); mustBeInstalled(); } @Test public void testInstallAndStay() { wrapper.install(txt, true); mustStayInstalled(); } private void mustBeInstalled() { assertEquals(BuddyTextFieldUI.class, txt.getUI().getClass()); txt.setUI(new BasicTextFieldUI()); assertEquals(BasicTextFieldUI.class, txt.getUI().getClass()); } private void mustStayInstalled() { assertEquals(BuddyTextFieldUI.class, txt.getUI().getClass()); txt.setUI(new BasicTextFieldUI()); assertEquals(BuddyTextFieldUI.class, txt.getUI().getClass()); } }