package com.googlecode.gwt.test.dom; import com.google.gwt.dom.client.*; import com.googlecode.gwt.test.GwtTestTest; import org.junit.Before; import org.junit.Test; import static org.assertj.core.api.Assertions.assertThat; public class DocumentTest extends GwtTestTest { private Document d; @Test public void checkToString() { // Given d.getBody().appendChild(d.createAnchorElement()); d.getBody().appendChild(d.createAreaElement()); // When String toString = Document.get().toString(); // Then assertThat(toString).isEqualTo("<html><body><a></a><area></area></body></html>"); } @Test public void createElement() { // When & Then assertThat(d.createAnchorElement().getTagName()).isEqualTo("a"); assertThat(d.createAreaElement().getTagName()).isEqualTo("area"); assertThat(d.createBaseElement().getTagName()).isEqualTo("base"); assertThat(d.createElement("body").getTagName()).isEqualTo("body"); assertThat(d.createBRElement().getTagName()).isEqualTo("br"); assertThat(d.createDivElement().getTagName()).isEqualTo("div"); assertThat(d.createDLElement().getTagName()).isEqualTo("dl"); assertThat(d.createFieldSetElement().getTagName()).isEqualTo("fieldset"); assertThat(d.createFormElement().getTagName()).isEqualTo("form"); assertThat(d.createFrameElement().getTagName()).isEqualTo("frame"); assertThat(d.createFrameSetElement().getTagName()).isEqualTo("frameset"); assertThat(d.createHeadElement().getTagName()).isEqualTo("head"); assertThat(d.createHElement(1).getTagName()).isEqualTo("h1"); assertThat(d.createHElement(2).getTagName()).isEqualTo("h2"); assertThat(d.createHElement(3).getTagName()).isEqualTo("h3"); assertThat(d.createHElement(4).getTagName()).isEqualTo("h4"); assertThat(d.createHElement(5).getTagName()).isEqualTo("h5"); assertThat(d.createHElement(6).getTagName()).isEqualTo("h6"); assertThat(d.createHRElement().getTagName()).isEqualTo("hr"); assertThat(d.createIFrameElement().getTagName()).isEqualTo("iframe"); assertThat(d.createImageElement().getTagName()).isEqualTo("img"); assertThat(d.createElement("input").getTagName()).isEqualTo("input"); assertThat(d.createLabelElement().getTagName()).isEqualTo("label"); assertThat(d.createLegendElement().getTagName()).isEqualTo("legend"); assertThat(d.createLIElement().getTagName()).isEqualTo("li"); assertThat(d.createLinkElement().getTagName()).isEqualTo("link"); assertThat(d.createMapElement().getTagName()).isEqualTo("map"); assertThat(d.createMetaElement().getTagName()).isEqualTo("meta"); assertThat(d.createInsElement().getTagName()).isEqualTo("ins"); assertThat(d.createDelElement().getTagName()).isEqualTo("del"); assertThat(d.createObjectElement().getTagName()).isEqualTo("object"); assertThat(d.createOLElement().getTagName()).isEqualTo("ol"); assertThat(d.createOptGroupElement().getTagName()).isEqualTo("optgroup"); assertThat(d.createOptionElement().getTagName()).isEqualTo("option"); assertThat(d.createPElement().getTagName()).isEqualTo("p"); assertThat(d.createParamElement().getTagName()).isEqualTo("param"); assertThat(d.createPreElement().getTagName()).isEqualTo("pre"); assertThat(d.createQElement().getTagName()).isEqualTo("q"); assertThat(d.createBlockQuoteElement().getTagName()).isEqualTo("blockquote"); assertThat(d.createScriptElement().getTagName()).isEqualTo("script"); assertThat(d.createSelectElement().getTagName()).isEqualTo("select"); assertThat(d.createSpanElement().getTagName()).isEqualTo("span"); assertThat(d.createStyleElement().getTagName()).isEqualTo("style"); assertThat(d.createCaptionElement().getTagName()).isEqualTo("caption"); assertThat(d.createTDElement().getTagName()).isEqualTo("td"); assertThat(d.createTHElement().getTagName()).isEqualTo("th"); assertThat(d.createColElement().getTagName()).isEqualTo("col"); assertThat(d.createColGroupElement().getTagName()).isEqualTo("colgroup"); assertThat(d.createTableElement().getTagName()).isEqualTo("table"); assertThat(d.createTBodyElement().getTagName()).isEqualTo("tbody"); assertThat(d.createTFootElement().getTagName()).isEqualTo("tfoot"); assertThat(d.createTHeadElement().getTagName()).isEqualTo("thead"); assertThat(d.createTextAreaElement().getTagName()).isEqualTo("textarea"); assertThat(d.createTitleElement().getTagName()).isEqualTo("title"); assertThat(d.createULElement().getTagName()).isEqualTo("ul"); } @Test public void createImageInputElement() { // When InputElement e = d.createImageInputElement(); // Then assertThat(e.getType()).isEqualTo("image"); } @Test public void createPushButtonElement() { // When ButtonElement e = d.createPushButtonElement(); // Then assertThat(e.getTagName()).isEqualTo("button"); assertThat(e.getType()).isEqualTo("button"); } @Test public void createRadioInputElement() { // When InputElement e = d.createRadioInputElement("test"); // Then assertThat(e.getType()).isEqualTo("RADIO"); assertThat(e.getName()).isEqualTo("test"); } @Test public void createResetButtonElement() { // When ButtonElement e = d.createResetButtonElement(); // Then assertThat(e.getTagName()).isEqualTo("button"); assertThat(e.getType()).isEqualTo("reset"); } @Test public void createSubmitButtonElement() { // When ButtonElement e = d.createSubmitButtonElement(); // Then assertThat(e.getTagName()).isEqualTo("button"); assertThat(e.getType()).isEqualTo("submit"); } @Test public void createTextNode() { // When String data = "myData"; Text text = d.createTextNode(data); // Then assertThat(text.getNodeType()).isEqualTo(Node.TEXT_NODE); assertThat(text.getData()).isEqualTo(data); } @Test public void getBodyOffsetLeft() { // When int result = d.getBodyOffsetLeft(); // Then assertThat(result).isEqualTo(0); } @Test public void getBodyOffsetTop() { // When int result = d.getBodyOffsetTop(); // Then assertThat(result).isEqualTo(0); } @Test public void getDocumentElement() { // When Element e = d.getDocumentElement(); // Then assertThat(e.getTagName()).isEqualTo("HTML"); assertThat(e.getNodeName()).isEqualTo("HTML"); assertThat(e.getNodeType()).isEqualTo(Node.ELEMENT_NODE); assertThat(e).isEqualTo(d.getChild(0)); } @Test public void getDomain() { // When & Then assertThat(d.getDomain()).isNull(); } @Test public void getElementById_InBody() { // Given AnchorElement a = Document.get().createAnchorElement(); a.setId("myId"); DivElement div = Document.get().createDivElement(); div.appendChild(a); d.getBody().appendChild(div); // When Element result = d.getElementById("myId"); // Then assertThat(result).isEqualTo(a); } @Test public void getElementById_NotFound() { // Given AnchorElement a1 = Document.get().createAnchorElement(); AnchorElement a2 = Document.get().createAnchorElement(); AnchorElement a3 = Document.get().createAnchorElement(); DivElement d1 = Document.get().createDivElement(); d.appendChild(a1); d.appendChild(a1); d.appendChild(a2); a2.appendChild(a3); d.appendChild(d1); // When Element result = d.getElementById("myId"); // Then assertThat(result).isNull(); } @Test public void getElementByIdFound() { // Given AnchorElement a1 = Document.get().createAnchorElement(); AnchorElement a2 = Document.get().createAnchorElement(); AnchorElement a3 = Document.get().createAnchorElement(); a3.setId("myId"); DivElement d1 = Document.get().createDivElement(); d.appendChild(a1); d.appendChild(a1); d.appendChild(a2); a2.appendChild(a3); d.appendChild(d1); // When Element result = d.getElementById("myId"); // Then assertThat(result).isEqualTo(a3); } @Test public void getElementByTagName() { // Given AnchorElement a1 = Document.get().createAnchorElement(); AnchorElement a2 = Document.get().createAnchorElement(); AnchorElement a3 = Document.get().createAnchorElement(); DivElement d1 = Document.get().createDivElement(); d.appendChild(a1); d.appendChild(a1); d.appendChild(a2); a2.appendChild(a3); d.appendChild(d1); // When NodeList<Element> nodes = d.getElementsByTagName("a"); // Then assertThat(nodes.getLength()).isEqualTo(3); assertThat(nodes.getItem(0)).isEqualTo(a1); assertThat(nodes.getItem(1)).isEqualTo(a2); assertThat(nodes.getItem(2)).isEqualTo(a3); } @Test public void getReferrer() { assertThat(d.getReferrer()).isEqualTo(""); } @Before public void initDocument() { d = Document.get(); } @Test public void isCSS1Compat() { // When boolean result = d.isCSS1Compat(); // Then assertThat(result).isEqualTo(false); } @Test public void scrollLeft() { // Preconditions assertThat(d.getScrollLeft()).isEqualTo(0); // When d.setScrollLeft(3); // Then assertThat(d.getScrollLeft()).isEqualTo(3); } @Test public void scrollTop() { // Preconditions assertThat(d.getScrollTop()).isEqualTo(0); // When d.setScrollTop(3); // Then assertThat(d.getScrollTop()).isEqualTo(3); } }