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

nodenormalize01

public final class nodenormalize01 extends org.w3c.domts.DOMTestCase
The method "normalize" puts all Text nodes in the full depth of the sub-tree underneath this Node, including attribute nodes, into a "normal" form where only structure (e.g., elements, comments, processing instructions, CDATA sections, and entity references) separates Text nodes, i.e., there are neither adjacent Text nodes nor empty Text nodes. Create a dom tree consisting of elements, comments, processing instructions, CDATA sections, and entity references nodes seperated by text nodes. Check the length of the node list of each before and after normalize has been called.
author
IBM
author
Neil Delima
see
http://www.w3.org/TR/DOM-Level-2-Core/core#ID-normalize

Fields Summary
Constructors Summary
public nodenormalize01(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", true);
    
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/nodenormalize01";
   
public static voidmain(java.lang.String[] args)
Runs this test from the command line.

param
args command line arguments

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

throws
Throwable Any uncaught exception causes test to fail

      Document doc;
      Document newDoc;
      DOMImplementation domImpl;
      DocumentType docType;
      DocumentType docTypeNull = null;

      Element documentElement;
      Element element1;
      Element element2;
      Element element3;
      Element element4;
      Element element5;
      Element element6;
      Element element7;
      Text text1;
      Text text2;
      Text text3;
      ProcessingInstruction pi;
      CDATASection cData;
      Comment comment;
      EntityReference entRef;
      NodeList elementList;
      Node appendedChild;
      doc = (Document) load("staffNS", true);
      domImpl = doc.getImplementation();
      newDoc = domImpl.createDocument("http://www.w3.org/DOM/Test", "dom:root", docTypeNull);
      element1 = newDoc.createElement("element1");
      element2 = newDoc.createElement("element2");
      element3 = newDoc.createElement("element3");
      element4 = newDoc.createElement("element4");
      element5 = newDoc.createElement("element5");
      element6 = newDoc.createElement("element6");
      element7 = newDoc.createElement("element7");
      text1 = newDoc.createTextNode("text1");
      text2 = newDoc.createTextNode("text2");
      text3 = newDoc.createTextNode("text3");
      cData = newDoc.createCDATASection("Cdata");
      comment = newDoc.createComment("comment");
      pi = newDoc.createProcessingInstruction("PITarget", "PIData");
      entRef = newDoc.createEntityReference("EntRef");
      assertNotNull("createdEntRefNotNull", entRef);
      documentElement = newDoc.getDocumentElement();
      appendedChild = documentElement.appendChild(element1);
      appendedChild = element2.appendChild(text1);
      appendedChild = element2.appendChild(text2);
      appendedChild = element2.appendChild(text3);
      appendedChild = element1.appendChild(element2);
      text1 = (Text) text1.cloneNode(false);
      text2 = (Text) text2.cloneNode(false);
      appendedChild = element3.appendChild(entRef);
      appendedChild = element3.appendChild(text1);
      appendedChild = element3.appendChild(text2);
      appendedChild = element1.appendChild(element3);
      text1 = (Text) text1.cloneNode(false);
      text2 = (Text) text2.cloneNode(false);
      appendedChild = element4.appendChild(cData);
      appendedChild = element4.appendChild(text1);
      appendedChild = element4.appendChild(text2);
      appendedChild = element1.appendChild(element4);
      text2 = (Text) text2.cloneNode(false);
      text3 = (Text) text3.cloneNode(false);
      appendedChild = element5.appendChild(comment);
      appendedChild = element5.appendChild(text2);
      appendedChild = element5.appendChild(text3);
      appendedChild = element1.appendChild(element5);
      text2 = (Text) text2.cloneNode(false);
      text3 = (Text) text3.cloneNode(false);
      appendedChild = element6.appendChild(pi);
      appendedChild = element6.appendChild(text2);
      appendedChild = element6.appendChild(text3);
      appendedChild = element1.appendChild(element6);
      entRef = (EntityReference) entRef.cloneNode(false);
      text1 = (Text) text1.cloneNode(false);
      text2 = (Text) text2.cloneNode(false);
      text3 = (Text) text3.cloneNode(false);
      appendedChild = element7.appendChild(entRef);
      appendedChild = element7.appendChild(text1);
      appendedChild = element7.appendChild(text2);
      appendedChild = element7.appendChild(text3);
      appendedChild = element1.appendChild(element7);
      elementList = element1.getChildNodes();
      assertSize("nodeNormalize01_1Bef", 6, elementList);
      elementList = element2.getChildNodes();
      assertSize("nodeNormalize01_2Bef", 3, elementList);
      elementList = element3.getChildNodes();
      assertSize("nodeNormalize01_3Bef", 3, elementList);
      elementList = element4.getChildNodes();
      assertSize("nodeNormalize01_4Bef", 3, elementList);
      elementList = element5.getChildNodes();
      assertSize("nodeNormalize01_5Bef", 3, elementList);
      elementList = element6.getChildNodes();
      assertSize("nodeNormalize01_6Bef", 3, elementList);
      elementList = element7.getChildNodes();
      assertSize("nodeNormalize01_7Bef", 4, elementList);
      newDoc.normalize();
      elementList = element1.getChildNodes();
      assertSize("nodeNormalize01_1Aft", 6, elementList);
      elementList = element2.getChildNodes();
      assertSize("nodeNormalize01_2Aft", 1, elementList);
      elementList = element3.getChildNodes();
      assertSize("nodeNormalize01_3Aft", 2, elementList);
      elementList = element4.getChildNodes();
      assertSize("nodeNormalize01_4Aft", 2, elementList);
      elementList = element5.getChildNodes();
      assertSize("nodeNormalize01_5Aft", 2, elementList);
      elementList = element6.getChildNodes();
      assertSize("nodeNormalize01_6Aft", 2, elementList);
      elementList = element7.getChildNodes();
      assertSize("nodeNormalize01_7Aft", 2, elementList);