@Test public void testGetId() { WidgetAdapterImpl adapter = new WidgetAdapterImpl("id"); String id = adapter.getId(); assertEquals("id", id); }
@Test public void testGetId_ignoresCustomIdWhenUITestDisabled() { WidgetAdapterImpl adapter = new WidgetAdapterImpl("default-id"); adapter.setCustomId("custom-id"); assertEquals("default-id", adapter.getId()); }
@Test public void testIsInitialized_isFalseByDefault() { WidgetAdapterImpl adapter = new WidgetAdapterImpl("id"); boolean initialized = adapter.isInitialized(); assertFalse(initialized); }
@Test public void testGetId_returnsCustomIdWhenUITestEnabled() { UITestUtilAdapter.setUITestEnabled(true); WidgetAdapterImpl adapter = new WidgetAdapterImpl("default-id"); adapter.setCustomId("custom-id"); assertEquals("custom-id", adapter.getId()); }
@Test public void testSetInitialized() { WidgetAdapterImpl adapter = new WidgetAdapterImpl("id"); adapter.setInitialized(true); boolean initialized = adapter.isInitialized(); assertTrue(initialized); }
@Test public void testSetParent() { WidgetAdapterImpl adapter = new WidgetAdapterImpl("id"); Composite parent = mock(Composite.class); adapter.setParent(parent); assertSame(parent, adapter.getParent()); }
@Test public void testSetRenderRunnable() { WidgetAdapterImpl adapter = new WidgetAdapterImpl("id"); IRenderRunnable runnable = mock(IRenderRunnable.class); adapter.setRenderRunnable(runnable); assertSame(runnable, adapter.getRenderRunnable()); }
@Test public void testSetRenderRunnable_cannotBeCalledTwice() { WidgetAdapterImpl adapter = new WidgetAdapterImpl("id"); adapter.setRenderRunnable(mock(IRenderRunnable.class)); IRenderRunnable otherRenderRunnable = mock(IRenderRunnable.class); try { adapter.setRenderRunnable(otherRenderRunnable); } catch (IllegalStateException expected) { } }
@Test public void testSetCustomId_failsAfterWidgetIsInitialised() { WidgetAdapterImpl adapter = new WidgetAdapterImpl("default-id"); adapter.setInitialized(true); try { adapter.setCustomId("custom-id"); fail(); } catch (IllegalStateException expected) { assertEquals("Widget is already initialized", expected.getMessage()); } }
@Test public void testSetCustomId_failsWithIllegalId() { UITestUtilAdapter.setUITestEnabled(true); WidgetAdapterImpl adapter = new WidgetAdapterImpl("default-id"); try { adapter.setCustomId("#!pf"); fail(); } catch (IllegalArgumentException expected) { assertEquals("The widget id contains illegal characters: #!pf", expected.getMessage()); } }
@Test public void testMarkDisposed() { Fixture.fakeNewRequest(); Fixture.fakeResponseWriter(); // dispose un-initialized widget: must not occur in list of disposed widgets Widget widget = new Shell(display); widget.dispose(); assertTrue(widget.isDisposed()); assertEquals(0, DisposedWidgets.getAll().length); // dispose initialized widget: must be present in list of disposed widgets widget = new Shell(display); WidgetAdapterImpl adapter = (WidgetAdapterImpl) WidgetUtil.getAdapter(widget); adapter.setInitialized(true); widget.dispose(); assertTrue(widget.isDisposed()); assertEquals(1, DisposedWidgets.getAll().length); }
@Test public void testNonSerializableFields() throws Exception { String property = "foo"; WidgetAdapterImpl adapter = new WidgetAdapterImpl("id"); adapter.setCachedVariant("cachedVariant"); adapter.setRenderRunnable(mock(IRenderRunnable.class)); adapter.preserve(property, "bar"); WidgetAdapterImpl deserializedAdapter = Fixture.serializeAndDeserialize(adapter); assertNull(deserializedAdapter.getCachedVariant()); assertNull(deserializedAdapter.getRenderRunnable()); assertNull(deserializedAdapter.getPreserved(property)); }
@Test public void testSerializableFields() throws Exception { WidgetAdapterImpl adapter = new WidgetAdapterImpl("id"); adapter.setInitialized(true); WidgetAdapterImpl deserializedAdapter = Fixture.serializeAndDeserialize(adapter); assertEquals(adapter.getId(), deserializedAdapter.getId()); assertTrue(deserializedAdapter.isInitialized()); }