| /* |
| This Java source file was generated by test-to-java.xsl |
| and is a derived work from the source document. |
| The source document contained the following notice: |
| |
| |
| |
| Copyright (c) 2001 World Wide Web Consortium, |
| (Massachusetts Institute of Technology, Institut National de |
| Recherche en Informatique et en Automatique, Keio University). All |
| Rights Reserved. This program is distributed under the W3C's Software |
| Intellectual Property License. This program is distributed in the |
| hope that it will be useful, but WITHOUT ANY WARRANTY; without even |
| the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR |
| PURPOSE. |
| |
| See W3C License http://www.w3.org/Consortium/Legal/ for more details. |
| |
| |
| */ |
| |
| 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.Document; |
| import org.w3c.dom.DOMException; |
| import org.w3c.dom.Element; |
| |
| import javax.xml.parsers.DocumentBuilder; |
| |
| /** |
| * The "createElementNS(namespaceURI,qualifiedName)" method for a Document |
| * should raise NAMESPACE_ERR DOMException if qualifiedName is malformed. |
| * |
| * Invoke method createElementNS(namespaceURI,qualifiedName) on the XMLNS |
| * Document with namespaceURI being the literal string |
| * "http://www.ecommerce.org/", and qualifiedName as "prefix::local". Method |
| * should raise NAMESPACE_ERR DOMException. |
| * |
| * @author NIST |
| * @author Mary Brady |
| * @see <a |
| * href="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-258A00AF')/constant[@name='NAMESPACE_ERR'])">http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-258A00AF')/constant[@name='NAMESPACE_ERR'])</a> |
| * @see <a |
| * href="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-DocCrElNS">http://www.w3.org/TR/DOM-Level-2-Core/core#ID-DocCrElNS</a> |
| * @see <a |
| * href="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-DocCrElNS')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NAMESPACE_ERR'])">http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-DocCrElNS')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NAMESPACE_ERR'])</a> |
| */ |
| @TestTargetClass(Document.class) |
| public final class CreateElementNS 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_COMPLETE, |
| notes = "Doesn't verify null as a parameters, and other types of DOMException.", |
| method = "createElementNS", |
| args = {java.lang.String.class, java.lang.String.class} |
| ) |
| public void testCreateElementNS1() throws Throwable { |
| String namespaceURI = "http://www.ecommerce.org/"; |
| String malformedName = "prefix::local"; |
| Document doc; |
| |
| doc = (Document) load("staffNS", builder); |
| |
| { |
| boolean success = false; |
| try { |
| doc.createElementNS(namespaceURI, malformedName); |
| } catch (DOMException ex) { |
| success = (ex.code == DOMException.NAMESPACE_ERR); |
| } |
| assertTrue("throw_NAMESPACE_ERR", success); |
| } |
| } |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Doesn't verify null as a parameters, and other types of DOMException.", |
| method = "createElementNS", |
| args = {java.lang.String.class, java.lang.String.class} |
| ) |
| public void testCreateElementNS2() throws Throwable { |
| String namespaceURI = null; |
| |
| String qualifiedName = "prefix:local"; |
| Document doc; |
| |
| doc = (Document) load("staffNS", builder); |
| |
| { |
| boolean success = false; |
| try { |
| doc.createElementNS(namespaceURI, qualifiedName); |
| } catch (DOMException ex) { |
| success = (ex.code == DOMException.NAMESPACE_ERR); |
| } |
| assertTrue("throw_NAMESPACE_ERR", success); |
| } |
| } |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Doesn't verify null as a parameters, and other types of DOMException.", |
| method = "createElementNS", |
| args = {java.lang.String.class, java.lang.String.class} |
| ) |
| public void testCreateElementNS3() throws Throwable { |
| String namespaceURI = "http://www.wedding.com/"; |
| String qualifiedName; |
| Document doc; |
| |
| List<String> illegalQNames = new ArrayList<String>(); |
| illegalQNames.add("person:{"); |
| illegalQNames.add("person:}"); |
| illegalQNames.add("person:~"); |
| illegalQNames.add("person:'"); |
| illegalQNames.add("person:!"); |
| illegalQNames.add("person:@"); |
| illegalQNames.add("person:#"); |
| illegalQNames.add("person:$"); |
| illegalQNames.add("person:%"); |
| illegalQNames.add("person:^"); |
| illegalQNames.add("person:&"); |
| illegalQNames.add("person:*"); |
| illegalQNames.add("person:("); |
| illegalQNames.add("person:)"); |
| illegalQNames.add("person:+"); |
| illegalQNames.add("person:="); |
| illegalQNames.add("person:["); |
| illegalQNames.add("person:]"); |
| illegalQNames.add("person:\\"); |
| illegalQNames.add("person:/"); |
| illegalQNames.add("person:;"); |
| illegalQNames.add("person:`"); |
| illegalQNames.add("person:<"); |
| illegalQNames.add("person:>"); |
| illegalQNames.add("person:,"); |
| illegalQNames.add("person:a "); |
| illegalQNames.add("person:\""); |
| |
| doc = (Document) load("staffNS", builder); |
| for (int indexN10098 = 0; indexN10098 < illegalQNames.size(); indexN10098++) { |
| qualifiedName = (String) illegalQNames.get(indexN10098); |
| |
| { |
| boolean success = false; |
| try { |
| doc.createElementNS(namespaceURI, qualifiedName); |
| } catch (DOMException ex) { |
| success = (ex.code == DOMException.INVALID_CHARACTER_ERR); |
| } |
| assertTrue("throw_INVALID_CHARACTER_ERR", success); |
| } |
| } |
| } |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Doesn't verify null as a parameters, and other types of DOMException.", |
| method = "createElementNS", |
| args = {java.lang.String.class, java.lang.String.class} |
| ) |
| public void testCreateElementNS4() throws Throwable { |
| String namespaceURI = "http://www.w3.org/XML/1998/namespaces"; |
| String qualifiedName = "xml:element1"; |
| Document doc; |
| |
| doc = (Document) load("staffNS", builder); |
| |
| { |
| boolean success = false; |
| try { |
| doc.createElementNS(namespaceURI, qualifiedName); |
| } catch (DOMException ex) { |
| success = (ex.code == DOMException.NAMESPACE_ERR); |
| } |
| assertTrue("throw_NAMESPACE_ERR", success); |
| } |
| } |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Doesn't verify null as a parameters, and other types of DOMException.", |
| method = "createElementNS", |
| args = {java.lang.String.class, java.lang.String.class} |
| ) |
| public void testCreateElementNS5() throws Throwable { |
| String namespaceURI = "http://www.nist.gov"; |
| String qualifiedName = "gov:faculty"; |
| Document doc; |
| Element newElement; |
| String elementName; |
| doc = (Document) load("staffNS", builder); |
| newElement = doc.createElementNS(namespaceURI, qualifiedName); |
| elementName = newElement.getTagName(); |
| assertEquals("throw_Equals", qualifiedName, elementName); |
| } |
| @TestTargetNew( |
| level = TestLevel.PARTIAL_COMPLETE, |
| notes = "Doesn't verify null as a parameters, and other types of DOMException.", |
| method = "createElementNS", |
| args = {java.lang.String.class, java.lang.String.class} |
| ) |
| public void testCreateElementNS6() throws Throwable { |
| String namespaceURI = "http://www.example.com/"; |
| |
| Document doc; |
| |
| doc = (Document) load("hc_staff", builder); |
| |
| { |
| // BEGIN android-changed |
| // Our exception priorities differ from the spec |
| try { |
| doc.createElementNS(namespaceURI, ""); |
| fail(); |
| } catch (DOMException ex) { |
| } |
| // END android-changed |
| } |
| } |
| } |