FileDocCategorySizeDatePackage
createDocumentType02.javaAPI DocAndroid 1.5 API4921Wed May 06 22:41:04 BST 2009org.w3c.domts.level2.core

createDocumentType02

public final class createDocumentType02 extends org.w3c.domts.DOMTestCase
The "createDocumentType(qualifiedName,publicId,systemId)" method for a DOMImplementation should raise INVALID_CHARACTER_ERR DOMException if qualifiedName contains an illegal character. Invoke method createDocumentType(qualifiedName,publicId,systemId) on this domimplementation with qualifiedName containing an illegal character from illegalChars[]. Method should raise INVALID_CHARACTER_ERR DOMException for all characters in illegalChars[].
author
NIST
author
Mary Brady
see
http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-DOM-createDocType
see
http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('Level-2-Core-DOM-createDocType')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR'])

Fields Summary
Constructors Summary
public createDocumentType02(org.w3c.domts.DOMTestDocumentBuilderFactory factory)
Constructor.

param
factory document factory, may not be null
throws
org.w3c.domts.DOMTestIncompatibleException Thrown if test is not compatible with parser configuration

      super(factory);

    //
    //   check if loaded documents are supported for content type
    //
    String contentType = getContentType();
    preload(contentType, "staffNS", false);
    
Methods Summary
public java.lang.StringgetTargetURI()
Gets URI that identifies the test.

return
uri identifier of test

      return "http://www.w3.org/2001/DOM-Test-Suite/level2/core/createDocumentType02";
   
public static voidmain(java.lang.String[] args)
Runs this test from the command line.

param
args command line arguments

        DOMTestCase.doMain(createDocumentType02.class, args);
   
public voidrunTest()
Runs the test case.

throws
Throwable Any uncaught exception causes test to fail

      String publicId = "http://www.localhost.com/";
      String systemId = "myDoc.dtd";
      String qualifiedName;
      Document doc;
      DocumentType docType = null;

      DOMImplementation domImpl;
      java.util.List illegalQNames = new java.util.ArrayList();
      illegalQNames.add("edi:{");
      illegalQNames.add("edi:}");
      illegalQNames.add("edi:~");
      illegalQNames.add("edi:'");
      illegalQNames.add("edi:!");
      illegalQNames.add("edi:@");
      illegalQNames.add("edi:#");
      illegalQNames.add("edi:$");
      illegalQNames.add("edi:%");
      illegalQNames.add("edi:^");
      illegalQNames.add("edi:&");
      illegalQNames.add("edi:*");
      illegalQNames.add("edi:(");
      illegalQNames.add("edi:)");
      illegalQNames.add("edi:+");
      illegalQNames.add("edi:=");
      illegalQNames.add("edi:[");
      illegalQNames.add("edi:]");
      illegalQNames.add("edi:\\");
      illegalQNames.add("edi:/");
      illegalQNames.add("edi:;");
      illegalQNames.add("edi:`");
      illegalQNames.add("edi:<");
      illegalQNames.add("edi:>");
      illegalQNames.add("edi:,");
      illegalQNames.add("edi:a ");
      illegalQNames.add("edi:\"");
      
      doc = (Document) load("staffNS", false);
      for (int indexN1009A = 0; indexN1009A < illegalQNames.size(); indexN1009A++) {
          qualifiedName = (String) illegalQNames.get(indexN1009A);
    domImpl = doc.getImplementation();
      
      {
         boolean success = false;
         try {
            docType = domImpl.createDocumentType(qualifiedName, publicId, systemId);
          } catch (DOMException ex) {
            success = (ex.code == DOMException.INVALID_CHARACTER_ERR);
         }
         assertTrue("throw_INVALID_CHARACTER_ERR", success);
      }
  }