OLD | NEW |
| (Empty) |
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] i
n 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/textreplacewhole
text07"; | |
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 setImplementationAttribute("namespaceAware", true); | |
43 | |
44 docsLoaded = 0; | |
45 | |
46 var docRef = null; | |
47 if (typeof(this.doc) != 'undefined') { | |
48 docRef = this.doc; | |
49 } | |
50 docsLoaded += preload(docRef, "doc", "hc_staff"); | |
51 | |
52 if (docsLoaded == 1) { | |
53 setUpPageStatus = 'complete'; | |
54 } | |
55 } catch(ex) { | |
56 catchInitializationError(builder, ex); | |
57 setUpPageStatus = 'complete'; | |
58 } | |
59 } | |
60 | |
61 | |
62 | |
63 // | |
64 // This method is called on the completion of | |
65 // each asychronous load started in setUpTests. | |
66 // | |
67 // When every synchronous loaded document has completed, | |
68 // the page status is changed which allows the | |
69 // body of the test to be executed. | |
70 function loadComplete() { | |
71 if (++docsLoaded == 1) { | |
72 setUpPageStatus = 'complete'; | |
73 } | |
74 } | |
75 | |
76 | |
77 /** | |
78 * | |
79 Append an entity reference and a text node after to the content of the | |
80 first strong element. Then call replaceWholeText on initial content | |
81 of that element. Since the entity reference does not contain any | |
82 logically-adjacent text content, only the initial text element should | |
83 be replaced. | |
84 | |
85 * @author IBM | |
86 * @author Neil Delima | |
87 * @author Curt Arnold | |
88 * @see http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#Text3-replac
eWholeText | |
89 * @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=425 | |
90 */ | |
91 function textreplacewholetext07() { | |
92 var success; | |
93 if(checkInitialization(builder, "textreplacewholetext07") != null) return; | |
94 var doc; | |
95 var itemList; | |
96 var elementName; | |
97 var textNode; | |
98 var erefNode; | |
99 var replacedText; | |
100 var appendedChild; | |
101 var node; | |
102 var nodeValue; | |
103 var nodeType; | |
104 | |
105 var docRef = null; | |
106 if (typeof(this.doc) != 'undefined') { | |
107 docRef = this.doc; | |
108 } | |
109 doc = load(docRef, "doc", "hc_staff"); | |
110 itemList = doc.getElementsByTagName("strong"); | |
111 elementName = itemList.item(0); | |
112 erefNode = doc.createEntityReference("ent4"); | |
113 textNode = doc.createTextNode("New Text"); | |
114 appendedChild = elementName.appendChild(erefNode); | |
115 appendedChild = elementName.appendChild(textNode); | |
116 textNode = elementName.firstChild; | |
117 | |
118 replacedText = textNode.replaceWholeText("New Text and Cdata"); | |
119 textNode = elementName.firstChild; | |
120 | |
121 assertSame("retval_same",textNode,replacedText); | |
122 nodeValue = textNode.nodeValue; | |
123 | |
124 assertEquals("nodeValueSame","New Text and Cdata",nodeValue); | |
125 node = textNode.nextSibling; | |
126 | |
127 assertNotNull("secondChildNotNull",node); | |
128 nodeType = node.nodeType; | |
129 | |
130 assertEquals("secondChildIsEntRef",5,nodeType); | |
131 | |
132 } | |
133 | |
134 | |
135 | |
136 | |
137 function runTest() { | |
138 textreplacewholetext07(); | |
139 } | |
OLD | NEW |