blob: 6d31a811a097a3581cd6d353e3f5faa15ca92f3d [file] [log] [blame]
package tests.org.w3c.dom;
import dalvik.annotation.TestTargets;
import dalvik.annotation.TestLevel;
import dalvik.annotation.TestTargetNew;
import dalvik.annotation.TestTargetClass;
import java.util.ArrayList;
import java.util.List;
import org.w3c.dom.DOMImplementation;
import org.w3c.dom.Document;
import org.w3c.dom.DocumentType;
import org.w3c.dom.DOMException;
import javax.xml.parsers.DocumentBuilder;
/**
* The createDocument method with valid arguments, should create a DOM Document
* of the specified type.
*
* Call the createDocument on this DOMImplementation with createDocument
* ("http://www.w3.org/DOMTest/L2",see the array below for valid QNames,null).
* Check if the returned Document object is is empty with no Document Element.
*
* @author IBM
* @author Neil Delima
* @see <a
* href="http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-DOM-createDocument">http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-DOM-createDocument</a>
*/
@TestTargetClass(DOMImplementation.class)
public final class DOMImplementationCreateDocument extends DOMTestCase {
DOMDocumentBuilderFactory factory;
DocumentBuilder builder;
protected void setUp() throws Exception {
super.setUp();
try {
factory = new DOMDocumentBuilderFactory(DOMDocumentBuilderFactory
.getConfiguration1());
builder = factory.getBuilder();
} catch (Exception e) {
fail("Unexpected exception" + e.getMessage());
}
}
protected void tearDown() throws Exception {
factory = null;
builder = null;
super.tearDown();
}
/**
* Runs the test case.
*
* @throws Throwable
* Any uncaught exception causes test to fail
*/
@TestTargetNew(
level = TestLevel.PARTIAL,
notes = "Doesn't verify DOMException.",
method = "createDocument",
args = {java.lang.String.class, java.lang.String.class, org.w3c.dom.DocumentType.class}
)
public void testCreateDocument3() throws Throwable {
Document doc;
DOMImplementation domImpl;
Document newDoc;
DocumentType docType = null;
String namespaceURI = "http://www.w3.org/DOMTest/L2";
String qualifiedName;
List<String> qualifiedNames = new ArrayList<String>();
qualifiedNames.add("_:_");
qualifiedNames.add("_:h0");
qualifiedNames.add("_:test");
qualifiedNames.add("l_:_");
qualifiedNames.add("ns:_0");
qualifiedNames.add("ns:a0");
qualifiedNames.add("ns0:test");
qualifiedNames.add("a.b:c");
qualifiedNames.add("a-b:c");
qualifiedNames.add("a-b:c");
doc = (Document) load("staffNS", builder);
domImpl = doc.getImplementation();
for (int indexN1006B = 0; indexN1006B < qualifiedNames.size(); indexN1006B++) {
qualifiedName = (String) qualifiedNames.get(indexN1006B);
newDoc = domImpl.createDocument(namespaceURI, qualifiedName,
docType);
assertNotNull("domimplementationcreatedocument03", newDoc);
}
}
@TestTargetNew(
level = TestLevel.PARTIAL,
notes = "Verifies DOMException with NAMESPACE_ERR code.",
method = "createDocument",
args = {java.lang.String.class, java.lang.String.class, org.w3c.dom.DocumentType.class}
)
public void testCreateDocument4() throws Throwable {
Document doc;
DOMImplementation domImpl;
String namespaceURI = null;
String qualifiedName = "dom:root";
DocumentType docType = null;
doc = (Document) load("staffNS", builder);
domImpl = doc.getImplementation();
{
boolean success = false;
try {
domImpl.createDocument(namespaceURI, qualifiedName, docType);
} catch (DOMException ex) {
success = (ex.code == DOMException.NAMESPACE_ERR);
}
assertTrue("domimplementationcreatedocument04", success);
}
}
@TestTargetNew(
level = TestLevel.PARTIAL,
notes = "Verifies DOMException with NAMESPACE_ERR code.",
method = "createDocument",
args = {java.lang.String.class, java.lang.String.class, org.w3c.dom.DocumentType.class}
)
public void testCreateDocument5() throws Throwable {
Document doc;
DOMImplementation domImpl;
String namespaceURI = "http://www.w3.org/xml/1998/namespace";
String qualifiedName = "xml:root";
DocumentType docType = null;
doc = (Document) load("staffNS", builder);
domImpl = doc.getImplementation();
{
boolean success = false;
try {
domImpl.createDocument(namespaceURI, qualifiedName, docType);
} catch (DOMException ex) {
success = (ex.code == DOMException.NAMESPACE_ERR);
}
assertTrue("domimplementationcreatedocument05", success);
}
}
@TestTargetNew(
level = TestLevel.PARTIAL,
notes = "Verifies DOMException with NAMESPACE_ERR code.",
method = "createDocument",
args = {java.lang.String.class, java.lang.String.class, org.w3c.dom.DocumentType.class}
)
public void testCreateDocument7() throws Throwable {
Document doc;
DOMImplementation domImpl;
String namespaceURI = "http://www.w3.org/DOMTest/level2";
DocumentType docType = null;
doc = (Document) load("staffNS", builder);
domImpl = doc.getImplementation();
{
boolean success = false;
try {
domImpl.createDocument(namespaceURI, ":", docType);
} catch (DOMException ex) {
success = (ex.code == DOMException.NAMESPACE_ERR);
}
assertTrue("domimplementationcreatedocument07", success);
}
}
}