OLD | NEW |
| (Empty) |
1 /* | |
2 Copyright © 2001-2004 World Wide Web Consortium, | |
3 (Massachusetts Institute of Technology, European Research Consortium | |
4 for Informatics and Mathematics, Keio University). All | |
5 Rights Reserved. This work is distributed under the W3C® Software License [1] i
n the | |
6 hope that it will be useful, but WITHOUT ANY WARRANTY; without even | |
7 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | |
8 | |
9 [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 | |
10 */ | |
11 | |
12 /** | |
13 * Gets URI that identifies the test. | |
14 * @return uri identifier of test | |
15 */ | |
16 function getTargetURI() { | |
17 return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrreplacech
ild2"; | |
18 } | |
19 | |
20 var docsLoaded = -1000000; | |
21 var builder = null; | |
22 | |
23 // | |
24 // This function is called by the testing framework before | |
25 // running the test suite. | |
26 // | |
27 // If there are no configuration exceptions, asynchronous | |
28 // document loading is started. Otherwise, the status | |
29 // is set to complete and the exception is immediately | |
30 // raised when entering the body of the test. | |
31 // | |
32 function setUpPage() { | |
33 setUpPageStatus = 'running'; | |
34 try { | |
35 // | |
36 // creates test document builder, may throw exception | |
37 // | |
38 builder = createConfiguredBuilder(); | |
39 | |
40 docsLoaded = 0; | |
41 | |
42 var docRef = null; | |
43 if (typeof(this.doc) != 'undefined') { | |
44 docRef = this.doc; | |
45 } | |
46 docsLoaded += preload(docRef, "doc", "hc_staff"); | |
47 | |
48 if (docsLoaded == 1) { | |
49 setUpPageStatus = 'complete'; | |
50 } | |
51 } catch(ex) { | |
52 catchInitializationError(builder, ex); | |
53 setUpPageStatus = 'complete'; | |
54 } | |
55 } | |
56 | |
57 // | |
58 // This method is called on the completion of | |
59 // each asychronous load started in setUpTests. | |
60 // | |
61 // When every synchronous loaded document has completed, | |
62 // the page status is changed which allows the | |
63 // body of the test to be executed. | |
64 function loadComplete() { | |
65 if (++docsLoaded == 1) { | |
66 setUpPageStatus = 'complete'; | |
67 } | |
68 } | |
69 | |
70 /** | |
71 * | |
72 Replaces a text node of an attribute with a document fragment and checks if the
value of | |
73 the attribute is changed. | |
74 | |
75 * @author Curt Arnold | |
76 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6376
46024 | |
77 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7858
87307 | |
78 */ | |
79 function hc_attrreplacechild2() { | |
80 var success; | |
81 if(checkInitialization(builder, "hc_attrreplacechild2") != null) return; | |
82 var doc; | |
83 var acronymList; | |
84 var testNode; | |
85 var attributes; | |
86 var titleAttr; | |
87 var value; | |
88 var terNode; | |
89 var dayNode; | |
90 var docFrag; | |
91 var retval; | |
92 var firstChild; | |
93 | |
94 var docRef = null; | |
95 if (typeof(this.doc) != 'undefined') { | |
96 docRef = this.doc; | |
97 } | |
98 doc = load(docRef, "doc", "hc_staff"); | |
99 acronymList = doc.getElementsByTagName("acronym"); | |
100 testNode = acronymList.item(3); | |
101 attributes = testNode.attributes; | |
102 | |
103 titleAttr = attributes.getNamedItem("title"); | |
104 terNode = doc.createTextNode("ter"); | |
105 dayNode = doc.createTextNode("day"); | |
106 docFrag = doc.createDocumentFragment(); | |
107 retval = docFrag.appendChild(terNode); | |
108 retval = docFrag.appendChild(dayNode); | |
109 firstChild = titleAttr.firstChild; | |
110 | |
111 assertNotNull("attrChildNotNull",firstChild); | |
112 retval = titleAttr.replaceChild(docFrag,firstChild); | |
113 value = titleAttr.value; | |
114 | |
115 assertEquals("attrValue","terday",value); | |
116 value = titleAttr.nodeValue; | |
117 | |
118 assertEquals("attrNodeValue","terday",value); | |
119 value = retval.nodeValue; | |
120 | |
121 assertEquals("retvalValue","Yes",value); | |
122 firstChild = titleAttr.firstChild; | |
123 | |
124 value = firstChild.nodeValue; | |
125 | |
126 assertEquals("firstChildValue","ter",value); | |
127 | |
128 } | |
129 | |
130 function runTest() { | |
131 hc_attrreplacechild2(); | |
132 } | |
OLD | NEW |