OLD | NEW |
1 | |
2 /* | 1 /* |
3 Copyright © 2001-2004 World Wide Web Consortium, | 2 Copyright © 2001-2004 World Wide Web Consortium, |
4 (Massachusetts Institute of Technology, European Research Consortium | 3 (Massachusetts Institute of Technology, European Research Consortium |
5 for Informatics and Mathematics, Keio University). All | 4 for Informatics and Mathematics, Keio University). All |
6 Rights Reserved. This work is distributed under the W3C® Software License [1] i
n the | 5 Rights Reserved. This work is distributed under the W3C® Software License [1] i
n the |
7 hope that it will be useful, but WITHOUT ANY WARRANTY; without even | 6 hope that it will be useful, but WITHOUT ANY WARRANTY; without even |
8 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 7 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
9 | 8 |
10 [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 | 9 [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 |
11 */ | 10 */ |
12 | 11 |
13 | |
14 | |
15 /** | 12 /** |
16 * Gets URI that identifies the test. | 13 * Gets URI that identifies the test. |
17 * @return uri identifier of test | 14 * @return uri identifier of test |
18 */ | 15 */ |
19 function getTargetURI() { | 16 function getTargetURI() { |
20 return "http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodereplacechild
27"; | 17 return "http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodereplacechild
27"; |
21 } | 18 } |
22 | 19 |
23 var docsLoaded = -1000000; | 20 var docsLoaded = -1000000; |
24 var builder = null; | 21 var builder = null; |
(...skipping 11 matching lines...) Expand all Loading... |
36 setUpPageStatus = 'running'; | 33 setUpPageStatus = 'running'; |
37 try { | 34 try { |
38 // | 35 // |
39 // creates test document builder, may throw exception | 36 // creates test document builder, may throw exception |
40 // | 37 // |
41 builder = createConfiguredBuilder(); | 38 builder = createConfiguredBuilder(); |
42 setImplementationAttribute("namespaceAware", true); | 39 setImplementationAttribute("namespaceAware", true); |
43 setImplementationAttribute("expandEntityReferences", false); | 40 setImplementationAttribute("expandEntityReferences", false); |
44 | 41 |
45 docsLoaded = 0; | 42 docsLoaded = 0; |
46 | 43 |
47 var docRef = null; | 44 var docRef = null; |
48 if (typeof(this.doc) != 'undefined') { | 45 if (typeof(this.doc) != 'undefined') { |
49 docRef = this.doc; | 46 docRef = this.doc; |
50 } | 47 } |
51 docsLoaded += preload(docRef, "doc", "hc_staff"); | 48 docsLoaded += preload(docRef, "doc", "hc_staff"); |
52 | 49 |
53 var doc2Ref = null; | 50 var doc2Ref = null; |
54 if (typeof(this.doc2) != 'undefined') { | 51 if (typeof(this.doc2) != 'undefined') { |
55 doc2Ref = this.doc2; | 52 doc2Ref = this.doc2; |
56 } | 53 } |
57 docsLoaded += preload(doc2Ref, "doc2", "hc_staff"); | 54 docsLoaded += preload(doc2Ref, "doc2", "hc_staff"); |
58 | 55 |
59 if (docsLoaded == 2) { | 56 if (docsLoaded == 2) { |
60 setUpPageStatus = 'complete'; | 57 setUpPageStatus = 'complete'; |
61 } | 58 } |
62 } catch(ex) { | 59 } catch(ex) { |
63 » catchInitializationError(builder, ex); | 60 catchInitializationError(builder, ex); |
64 setUpPageStatus = 'complete'; | 61 setUpPageStatus = 'complete'; |
65 } | 62 } |
66 } | 63 } |
67 | 64 |
68 | |
69 | |
70 // | 65 // |
71 // This method is called on the completion of | 66 // This method is called on the completion of |
72 // each asychronous load started in setUpTests. | 67 // each asychronous load started in setUpTests. |
73 // | 68 // |
74 // When every synchronous loaded document has completed, | 69 // When every synchronous loaded document has completed, |
75 // the page status is changed which allows the | 70 // the page status is changed which allows the |
76 // body of the test to be executed. | 71 // body of the test to be executed. |
77 function loadComplete() { | 72 function loadComplete() { |
78 if (++docsLoaded == 2) { | 73 if (++docsLoaded == 2) { |
79 setUpPageStatus = 'complete'; | 74 setUpPageStatus = 'complete'; |
80 } | 75 } |
81 } | 76 } |
82 | 77 |
| 78 /** |
| 79 * |
| 80 The method replaceChild replaces the child node oldChild with newChild in th
e list of |
| 81 children, and returns the oldChild node. |
83 | 82 |
84 /** | 83 Using replaceChild on an Element node attempt to replace an Element node wit
h another |
85 * | 84 Element from another document and verify if a WRONG_DOCUMENT_ERR gets thrown
. |
86 » The method replaceChild replaces the child node oldChild with newChild i
n the list of | |
87 » children, and returns the oldChild node. | |
88 | |
89 » Using replaceChild on an Element node attempt to replace an Element node
with another | |
90 » Element from another document and verify if a WRONG_DOCUMENT_ERR gets th
rown. | |
91 | 85 |
92 * @author IBM | 86 * @author IBM |
93 * @author Neil Delima | 87 * @author Neil Delima |
94 * @see http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#ID-785887307 | 88 * @see http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#ID-785887307 |
95 */ | 89 */ |
96 function nodereplacechild27() { | 90 function nodereplacechild27() { |
97 var success; | 91 var success; |
98 if(checkInitialization(builder, "nodereplacechild27") != null) return; | 92 if(checkInitialization(builder, "nodereplacechild27") != null) return; |
99 var doc; | 93 var doc; |
100 var doc2; | 94 var doc2; |
101 var childList; | 95 var childList; |
102 var childList2; | 96 var childList2; |
103 var elem2; | 97 var elem2; |
104 var elem; | 98 var elem; |
105 var firstChild; | 99 var firstChild; |
106 var nodeName; | 100 var nodeName; |
107 var replaced; | 101 var replaced; |
108 | 102 |
109 var docRef = null; | 103 var docRef = null; |
110 if (typeof(this.doc) != 'undefined') { | 104 if (typeof(this.doc) != 'undefined') { |
111 docRef = this.doc; | 105 docRef = this.doc; |
112 } | 106 } |
113 doc = load(docRef, "doc", "hc_staff"); | 107 doc = load(docRef, "doc", "hc_staff"); |
114 childList = doc.getElementsByTagNameNS("*","p"); | 108 childList = doc.getElementsByTagNameNS("*","p"); |
115 elem = childList.item(0); | 109 elem = childList.item(0); |
116 firstChild = elem.firstChild; | 110 firstChild = elem.firstChild; |
117 | 111 |
118 | |
119 var doc2Ref = null; | 112 var doc2Ref = null; |
120 if (typeof(this.doc2) != 'undefined') { | 113 if (typeof(this.doc2) != 'undefined') { |
121 doc2Ref = this.doc2; | 114 doc2Ref = this.doc2; |
122 } | 115 } |
123 doc2 = load(doc2Ref, "doc2", "hc_staff"); | 116 doc2 = load(doc2Ref, "doc2", "hc_staff"); |
124 childList2 = doc2.getElementsByTagNameNS("*","p"); | 117 childList2 = doc2.getElementsByTagNameNS("*","p"); |
125 elem2 = childList2.item(0); | 118 elem2 = childList2.item(0); |
126 | 119 |
127 » { | 120 { |
128 » » success = false; | 121 success = false; |
129 » » try { | 122 try { |
130 replaced = elem.replaceChild(elem2,firstChild); | 123 replaced = elem.replaceChild(elem2,firstChild); |
131 } | 124 } |
132 » » catch(ex) { | 125 catch(ex) { |
133 success = (typeof(ex.code) != 'undefined' && ex.code == 4); | 126 success = (typeof(ex.code) != 'undefined' && ex.code == 4); |
134 » » } | 127 } |
135 » » assertTrue("WRONG_DOCUMENT_ERR_nodereplacechild27",success); | 128 assertTrue("WRONG_DOCUMENT_ERR_nodereplacechild27",success); |
136 » } | 129 } |
137 | 130 |
138 } | 131 } |
139 | 132 |
140 | |
141 | |
142 | |
143 function runTest() { | 133 function runTest() { |
144 nodereplacechild27(); | 134 nodereplacechild27(); |
145 } | 135 } |
OLD | NEW |