blob: 2cfeaccd932262c77a3d5675aeeeca07ee673caf [file] [log] [blame]
/*
* Copyright 2008 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package com.google.gwt.dom.client;
import com.google.gwt.core.shared.impl.StringCase;
import com.google.gwt.junit.DoNotRunWith;
import com.google.gwt.junit.Platform;
import com.google.gwt.junit.client.GWTTestCase;
/**
* Tests the {@link Document} class.
*/
public class DocumentTest extends GWTTestCase {
@Override
public String getModuleName() {
return "com.google.gwt.dom.DOMTest";
}
// create*Element
public void testElementCreators() {
Document doc = Document.get();
assertEquals("a", StringCase.toLower(doc.createAnchorElement().getTagName()));
assertEquals("area", StringCase.toLower(doc.createAreaElement().getTagName()));
assertEquals("base", StringCase.toLower(doc.createBaseElement().getTagName()));
assertEquals("blockquote",
StringCase.toLower(doc.createBlockQuoteElement().getTagName()));
assertEquals("br", StringCase.toLower(doc.createBRElement().getTagName()));
assertEquals("caption",
StringCase.toLower(doc.createCaptionElement().getTagName()));
assertEquals("col", StringCase.toLower(doc.createColElement().getTagName()));
assertEquals("colgroup",
StringCase.toLower(doc.createColGroupElement().getTagName()));
assertEquals("del", StringCase.toLower(doc.createDelElement().getTagName()));
assertEquals("div", StringCase.toLower(doc.createDivElement().getTagName()));
assertEquals("dl", StringCase.toLower(doc.createDLElement().getTagName()));
assertEquals("fieldset",
StringCase.toLower(doc.createFieldSetElement().getTagName()));
assertEquals("form", StringCase.toLower(doc.createFormElement().getTagName()));
assertEquals("frame", StringCase.toLower(doc.createFrameElement().getTagName()));
assertEquals("frameset",
StringCase.toLower(doc.createFrameSetElement().getTagName()));
assertEquals("head", StringCase.toLower(doc.createHeadElement().getTagName()));
assertEquals("h1", StringCase.toLower(doc.createHElement(1).getTagName()));
assertEquals("hr", StringCase.toLower(doc.createHRElement().getTagName()));
assertEquals("iframe", StringCase.toLower(doc.createIFrameElement().getTagName()));
assertEquals("img", StringCase.toLower(doc.createImageElement().getTagName()));
assertEquals("ins", StringCase.toLower(doc.createInsElement().getTagName()));
assertEquals("label", StringCase.toLower(doc.createLabelElement().getTagName()));
assertEquals("legend", StringCase.toLower(doc.createLegendElement().getTagName()));
assertEquals("li", StringCase.toLower(doc.createLIElement().getTagName()));
assertEquals("link", StringCase.toLower(doc.createLinkElement().getTagName()));
assertEquals("map", StringCase.toLower(doc.createMapElement().getTagName()));
assertEquals("meta", StringCase.toLower(doc.createMetaElement().getTagName()));
assertEquals("object", StringCase.toLower(doc.createObjectElement().getTagName()));
assertEquals("ol", StringCase.toLower(doc.createOLElement().getTagName()));
assertEquals("optgroup",
StringCase.toLower(doc.createOptGroupElement().getTagName()));
assertEquals("option", StringCase.toLower(doc.createOptionElement().getTagName()));
assertEquals("param", StringCase.toLower(doc.createParamElement().getTagName()));
assertEquals("p", StringCase.toLower(doc.createPElement().getTagName()));
assertEquals("pre", StringCase.toLower(doc.createPreElement().getTagName()));
assertEquals("q", StringCase.toLower(doc.createQElement().getTagName()));
assertEquals("script", StringCase.toLower(doc.createScriptElement().getTagName()));
assertEquals("select", StringCase.toLower(doc.createSelectElement().getTagName()));
assertEquals("select",
StringCase.toLower(doc.createSelectElement(false).getTagName()));
assertEquals("span", StringCase.toLower(doc.createSpanElement().getTagName()));
assertEquals("style", StringCase.toLower(doc.createStyleElement().getTagName()));
assertEquals("table", StringCase.toLower(doc.createTableElement().getTagName()));
assertEquals("tbody", StringCase.toLower(doc.createTBodyElement().getTagName()));
assertEquals("td", StringCase.toLower(doc.createTDElement().getTagName()));
assertEquals("textarea",
StringCase.toLower(doc.createTextAreaElement().getTagName()));
assertEquals("tfoot", StringCase.toLower(doc.createTFootElement().getTagName()));
assertEquals("thead", StringCase.toLower(doc.createTHeadElement().getTagName()));
assertEquals("th", StringCase.toLower(doc.createTHElement().getTagName()));
assertEquals("title", StringCase.toLower(doc.createTitleElement().getTagName()));
assertEquals("tr", StringCase.toLower(doc.createTRElement().getTagName()));
assertEquals("ul", StringCase.toLower(doc.createULElement().getTagName()));
assertEquals("button",
StringCase.toLower(doc.createPushButtonElement().getTagName()));
assertEquals("button",
StringCase.toLower(doc.createResetButtonElement().getTagName()));
assertEquals("button",
StringCase.toLower(doc.createSubmitButtonElement().getTagName()));
assertEquals("button",
StringCase.toLower(doc.createPushButtonElement().getType()));
assertEquals("reset",
StringCase.toLower(doc.createResetButtonElement().getType()));
assertEquals("submit",
StringCase.toLower(doc.createSubmitButtonElement().getType()));
assertEquals("input",
StringCase.toLower(doc.createCheckInputElement().getTagName()));
assertEquals("input",
StringCase.toLower(doc.createFileInputElement().getTagName()));
assertEquals("input",
StringCase.toLower(doc.createHiddenInputElement().getTagName()));
assertEquals("input",
StringCase.toLower(doc.createImageInputElement().getTagName()));
assertEquals("input",
StringCase.toLower(doc.createPasswordInputElement().getTagName()));
assertEquals("input",
StringCase.toLower(doc.createRadioInputElement("foo").getTagName()));
assertEquals("input",
StringCase.toLower(doc.createTextInputElement().getTagName()));
assertEquals("button",
StringCase.toLower(doc.createButtonInputElement().getType()));
assertEquals("checkbox",
StringCase.toLower(doc.createCheckInputElement().getType()));
assertEquals("file", StringCase.toLower(doc.createFileInputElement().getType()));
assertEquals("hidden",
StringCase.toLower(doc.createHiddenInputElement().getType()));
assertEquals("image", StringCase.toLower(doc.createImageInputElement().getType()));
assertEquals("password",
StringCase.toLower(doc.createPasswordInputElement().getType()));
assertEquals("radio",
StringCase.toLower(doc.createRadioInputElement("foo").getType()));
assertEquals("reset", StringCase.toLower(doc.createResetInputElement().getType()));
assertEquals("submit",
StringCase.toLower(doc.createSubmitInputElement().getType()));
assertEquals("text", StringCase.toLower(doc.createTextInputElement().getType()));
}
/**
* getElementById, getElementsByTagName.
*/
public void testGetElements() {
Document doc = Document.get();
DivElement div = doc.createDivElement();
doc.getBody().appendChild(div);
div.setInnerHTML("<span><button id='foo'>foo</button><span><button>bar</button></span></span>");
NodeList<Element> nodes = doc.getElementsByTagName("button");
assertEquals(2, nodes.getLength());
assertEquals("foo", nodes.getItem(0).getInnerText());
assertEquals("bar", nodes.getItem(1).getInnerText());
Element foo = doc.getElementById("foo");
assertEquals("foo", foo.getId());
}
/**
* domain, referrer, title, url.
*/
public void testProperties() {
Document doc = Document.get();
assertTrue(doc.getURL().startsWith("http"));
// TODO: referrer
// TODO: domain
doc.setTitle("myTitle");
assertEquals("myTitle", doc.getTitle());
}
@DoNotRunWith(Platform.HtmlUnitLayout)
public void testScrollLeft() {
Document doc = Document.get();
DivElement element = doc.createDivElement();
element.setInnerHTML("<div style='width: 5000px; height: 5000px'></div>");
doc.getBody().appendChild(element);
doc.setScrollLeft(15);
assertEquals(15, doc.getScrollLeft());
}
@DoNotRunWith(Platform.HtmlUnitLayout)
public void testScrollTop() {
Document doc = Document.get();
DivElement element = doc.createDivElement();
element.setInnerHTML("<div style='width: 5000px; height: 5000px'></div>");
doc.getBody().appendChild(element);
doc.setScrollTop(15);
assertEquals(15, doc.getScrollTop());
}
}