test_hc_nodereplacechildnewchildexists.html (4945B)
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd"> 2 <html> 3 <head> 4 <META http-equiv="Content-Type" content="text/html; charset=UTF-8"> 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 6 <title>http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodereplacechildnewchildexists</title> 7 <link href="activity-home.css" rel="stylesheet" type="text/css"> 8 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"> 9 <script src="/tests/SimpleTest/SimpleTest.js"></script> 10 <script type="text/javascript" src="DOMTestCase.js"></script> 11 <script type="text/javascript" src="exclusions.js"></script> 12 <script type="text/javascript"> 13 // expose test function names 14 function exposeTestFunctionNames() 15 { 16 return ['hc_nodereplacechildnewchildexists']; 17 } 18 19 var docsLoaded = -1000000; 20 var builder = null; 21 22 // 23 // This function is called by the testing framework before 24 // running the test suite. 25 // 26 // If there are no configuration exceptions, asynchronous 27 // document loading is started. Otherwise, the status 28 // is set to complete and the exception is immediately 29 // raised when entering the body of the test. 30 // 31 function setUpPage() { 32 setUpPageStatus = 'running'; 33 try { 34 // 35 // creates test document builder, may throw exception 36 // 37 builder = createConfiguredBuilder(); 38 39 docsLoaded = 0; 40 41 var docRef = null; 42 if (typeof(this.doc) != 'undefined') { 43 docRef = this.doc; 44 } 45 docsLoaded += preload(docRef, "doc", "hc_staff"); 46 47 if (docsLoaded == 1) { 48 setUpPage = 'complete'; 49 } 50 } catch(ex) { 51 catchInitializationError(builder, ex); 52 setUpPage = 'complete'; 53 } 54 } 55 56 // 57 // This method is called on the completion of 58 // each asychronous load started in setUpTests. 59 // 60 // When every synchronous loaded document has completed, 61 // the page status is changed which allows the 62 // body of the test to be executed. 63 function loadComplete() { 64 if (++docsLoaded == 1) { 65 setUpPageStatus = 'complete'; 66 runJSUnitTests(); 67 markTodos(); 68 SimpleTest.finish(); 69 } 70 } 71 72 var docName = 'hc_nodereplacechildnewchildexists'; 73 74 75 76 window.doc = window; 77 SimpleTest.waitForExplicitFinish(); 78 addLoadEvent(setUpPage); 79 80 81 /** 82 * 83 If the "newChild" is already in the tree, it is first 84 removed before the new one is added. 85 86 Retrieve the second "p" and replace "acronym" with its "em". 87 88 * @author Curt Arnold 89 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307 90 * @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=246 91 */ 92 function hc_nodereplacechildnewchildexists() { 93 var success; 94 if(checkInitialization(builder, "hc_nodereplacechildnewchildexists") != null) return; 95 var doc; 96 var elementList; 97 var employeeNode; 98 var childList; 99 var oldChild = null; 100 101 var newChild = null; 102 103 var child; 104 var childName; 105 var childNode; 106 var actual = new Array(); 107 108 expected = new Array(); 109 expected[0] = "strong"; 110 expected[1] = "code"; 111 expected[2] = "sup"; 112 expected[3] = "var"; 113 expected[4] = "em"; 114 115 var replacedChild; 116 var nodeType; 117 118 var docRef = null; 119 if (typeof(this.doc) != 'undefined') { 120 docRef = this.doc; 121 } 122 doc = load(docRef, "doc", "hc_staff"); 123 elementList = doc.getElementsByTagName("p"); 124 employeeNode = elementList.item(1); 125 childList = employeeNode.getElementsByTagName("*"); 126 newChild = childList.item(0); 127 oldChild = childList.item(5); 128 replacedChild = employeeNode.replaceChild(newChild,oldChild); 129 assertSame("return_value_same",oldChild,replacedChild); 130 for(var indexN65684 = 0;indexN65684 < childList.length; indexN65684++) { 131 childNode = childList.item(indexN65684); 132 childName = childNode.nodeName; 133 134 nodeType = childNode.nodeType; 135 136 137 if( 138 (1 == nodeType) 139 ) { 140 actual[actual.length] = childName; 141 142 } 143 144 else { 145 assertEquals("textNodeType",3,nodeType); 146 assertEquals("textNodeName","#text",childName); 147 148 } 149 150 } 151 assertEqualsListAutoCase("element", "childNames",expected,actual); 152 153 } 154 155 </script> 156 </head> 157 <body> 158 <h2>Test http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodereplacechildnewchildexists</h2> 159 <p></p> 160 <p> 161 Copyright (c) 2001-2004 World Wide Web Consortium, 162 (Massachusetts Institute of Technology, European Research Consortium 163 for Informatics and Mathematics, Keio University). All 164 Rights Reserved. This work is distributed under the <a href="http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231">W3C(r) Software License</a> in the 165 hope that it will be useful, but WITHOUT ANY WARRANTY; without even 166 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 167 </p> 168 <iframe name="doc" src="files/hc_staff.html"></iframe> 169 <br> 170 </body> 171 </html>