Home | History | Annotate | Download | only in core
      1 
      2 /*
      3 Copyright  2001-2004 World Wide Web Consortium, 
      4 (Massachusetts Institute of Technology, European Research Consortium 
      5 for Informatics and Mathematics, Keio University). All 
      6 Rights Reserved. This work is distributed under the W3C Software License [1] in the 
      7 hope that it will be useful, but WITHOUT ANY WARRANTY; without even 
      8 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
      9 
     10 [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
     11 */
     12 
     13 
     14 
     15    /**
     16     *  Gets URI that identifies the test.
     17     *  @return uri identifier of test
     18     */
     19 function getTargetURI() {
     20       return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodelistindexequalzero";
     21    }
     22 
     23 var docsLoaded = -1000000;
     24 var builder = null;
     25 
     26 //
     27 //   This function is called by the testing framework before
     28 //      running the test suite.
     29 //
     30 //   If there are no configuration exceptions, asynchronous
     31 //        document loading is started.  Otherwise, the status
     32 //        is set to complete and the exception is immediately
     33 //        raised when entering the body of the test.
     34 //
     35 function setUpPage() {
     36    setUpPageStatus = 'running';
     37    try {
     38      //
     39      //   creates test document builder, may throw exception
     40      //
     41      builder = createConfiguredBuilder();
     42 
     43       docsLoaded = 0;
     44       
     45       var docRef = null;
     46       if (typeof(this.doc) != 'undefined') {
     47         docRef = this.doc;
     48       }
     49       docsLoaded += preload(docRef, "doc", "hc_staff");
     50         
     51        if (docsLoaded == 1) {
     52           setUpPageStatus = 'complete';
     53        }
     54     } catch(ex) {
     55     	catchInitializationError(builder, ex);
     56         setUpPageStatus = 'complete';
     57     }
     58 }
     59 
     60 
     61 
     62 //
     63 //   This method is called on the completion of 
     64 //      each asychronous load started in setUpTests.
     65 //
     66 //   When every synchronous loaded document has completed,
     67 //      the page status is changed which allows the
     68 //      body of the test to be executed.
     69 function loadComplete() {
     70     if (++docsLoaded == 1) {
     71         setUpPageStatus = 'complete';
     72     }
     73 }
     74 
     75 
     76 /**
     77 * 
     78    Create a list of all the children elements of the third
     79    employee and access its first child by using an index
     80    of 0.  This should result in the whitspace before "em" being
     81    selected (em when ignoring whitespace).  
     82    Further we evaluate its content(by using
     83    the "getNodeName()" method) to ensure the proper
     84    element was accessed.
     85 
     86 * @author Curt Arnold
     87 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-844377136
     88 * @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246
     89 */
     90 function hc_nodelistindexequalzero() {
     91    var success;
     92     if(checkInitialization(builder, "hc_nodelistindexequalzero") != null) return;
     93     var doc;
     94       var elementList;
     95       var employeeNode;
     96       var employeeList;
     97       var child;
     98       var childName;
     99       var length;
    100       
    101       var docRef = null;
    102       if (typeof(this.doc) != 'undefined') {
    103         docRef = this.doc;
    104       }
    105       doc = load(docRef, "doc", "hc_staff");
    106       elementList = doc.getElementsByTagName("p");
    107       employeeNode = elementList.item(2);
    108       employeeList = employeeNode.childNodes;
    109 
    110       length = employeeList.length;
    111 
    112       child = employeeList.item(0);
    113       childName = child.nodeName;
    114 
    115       
    116 	if(
    117 	(13 == length)
    118 	) {
    119 	assertEquals("childName_w_whitespace","#text",childName);
    120        
    121 	}
    122 	
    123 		else {
    124 			assertEqualsAutoCase("element", "childName_wo_whitespace","em",childName);
    125        
    126 		}
    127 	
    128 }
    129 
    130 
    131 
    132 
    133 function runTest() {
    134    hc_nodelistindexequalzero();
    135 }
    136