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/level3/core/attrisid05";
     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      //
     44      // WebKit modification:
     45      //
     46      // Remove the following line otherwise test case skipped.
     47      //
     48      //setImplementationAttribute("validating", true);
     49      //
     50      // End WebKit modification
     51      //
     52 
     53       docsLoaded = 0;
     54       
     55       var docRef = null;
     56       if (typeof(this.doc) != 'undefined') {
     57         docRef = this.doc;
     58       }
     59       docsLoaded += preload(docRef, "doc", "hc_staff");
     60         
     61        if (docsLoaded == 1) {
     62           setUpPageStatus = 'complete';
     63        }
     64     } catch(ex) {
     65     	catchInitializationError(builder, ex);
     66         setUpPageStatus = 'complete';
     67     }
     68 }
     69 
     70 
     71 
     72 //
     73 //   This method is called on the completion of 
     74 //      each asychronous load started in setUpTests.
     75 //
     76 //   When every synchronous loaded document has completed,
     77 //      the page status is changed which allows the
     78 //      body of the test to be executed.
     79 function loadComplete() {
     80     if (++docsLoaded == 1) {
     81         setUpPageStatus = 'complete';
     82     }
     83 }
     84 
     85 
     86 /**
     87 * 
     88 	Retrieve the fourth acronym element's id attribute, whose type is ID.  
     89 	Deep clone the element node and append it as a sibling of the acronym node.
     90 	We now have two id attributes of type ID with identical values.   
     91 	Invoke isID on the class attribute, should this return true???
     92 
     93 * @author IBM
     94 * @author Neil Delima
     95 * @see http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#Attr-isId
     96 */
     97 function attrisid05() {
     98    var success;
     99     if(checkInitialization(builder, "attrisid05") != null) return;
    100     var doc;
    101       var elemList;
    102       var acronymElem;
    103       var clonedacronymElem;
    104       var acronymParentElem;
    105       var appendedNode;
    106       var attributesMap;
    107       var attr;
    108       var id = false;
    109       var elem;
    110       var elemName;
    111       
    112       var docRef = null;
    113       if (typeof(this.doc) != 'undefined') {
    114         docRef = this.doc;
    115       }
    116       doc = load(docRef, "doc", "hc_staff");
    117       elemList = doc.getElementsByTagName("acronym");
    118       acronymElem = elemList.item(3);
    119       acronymParentElem = acronymElem.parentNode;
    120 
    121       clonedacronymElem = acronymElem.cloneNode(true);
    122       appendedNode = acronymParentElem.appendChild(clonedacronymElem);
    123       attr = acronymElem.getAttributeNode("id");
    124       id = attr.isId;
    125 
    126       assertTrue("AttrIsIDTrue05",id);
    127 
    128 }
    129 
    130 
    131 
    132 
    133 function runTest() {
    134    attrisid05();
    135 }
    136