package org.tessell.gwt.dom.client; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.nullValue; import static org.hamcrest.MatcherAssert.assertThat; import org.junit.Test; public class StubElementTest { private final StubElement s = new StubElement(); @Test public void innerTextDefaultsToEmpty() { assertThat(s.getInnerText(), is("")); } @Test public void innerTextConvertsNull() { s.setInnerText(null); assertThat(s.getInnerText(), is("")); } @Test public void innerHtmlDefaultsToEmpty() { assertThat(s.getInnerHTML(), is("")); } @Test public void innerHtmlConvertsNull() { s.setInnerHTML(null); assertThat(s.getInnerHTML(), is("")); } @Test public void innerTextClearsInnerHtml() { s.setInnerHTML("foo"); s.setInnerText("bar"); assertThat(s.getInnerHTML(), is("")); } @Test public void innerHtmlClearsInnerText() { s.setInnerText("bar"); s.setInnerHTML("foo"); assertThat(s.getInnerText(), is("")); } @Test public void setStyleName() { s.setStyleName("one two"); assertThat(s.getStyleNames().toString(), is("[one, two]")); } @Test public void getParent() { StubElement p = new StubElement(); p.appendChild(s); assertThat(s.getParentElement(), is((IsElement) p)); p.removeChild(s); assertThat(s.getParentElement(), is(nullValue())); } @Test public void removeFromParent() { StubElement p = new StubElement(); p.appendChild(s); assertThat(s.getParentElement(), is((IsElement) p)); s.removeFromParent(); assertThat(s.getParentElement(), is(nullValue())); assertThat(p.getChildCount(), is(0)); } @Test public void removeAllChildren() { StubElement p = new StubElement(); p.appendChild(s); assertThat(s.getParentElement(), is((IsElement) p)); p.removeAllChildren(); assertThat(s.getParentElement(), is(nullValue())); assertThat(p.getChildCount(), is(0)); } }