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