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
text06"; | |
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 setImplementationAttribute("expandEntityReferences", true); | |
44 | |
45 docsLoaded = 0; | |
46 | |
47 var docRef = null; | |
48 if (typeof(this.doc) != 'undefined') { | |
49 docRef = this.doc; | |
50 } | |
51 docsLoaded += preload(docRef, "doc", "hc_staff"); | |
52 | |
53 if (docsLoaded == 1) { | |
54 setUpPageStatus = 'complete'; | |
55 } | |
56 } catch(ex) { | |
57 catchInitializationError(builder, ex); | |
58 setUpPageStatus = 'complete'; | |
59 } | |
60 } | |
61 | |
62 | |
63 | |
64 // | |
65 // This method is called on the completion of | |
66 // each asychronous load started in setUpTests. | |
67 // | |
68 // When every synchronous loaded document has completed, | |
69 // the page status is changed which allows the | |
70 // body of the test to be executed. | |
71 function loadComplete() { | |
72 if (++docsLoaded == 1) { | |
73 setUpPageStatus = 'complete'; | |
74 } | |
75 } | |
76 | |
77 | |
78 /** | |
79 * | |
80 The method replaceWholeText substitutes the a specified text for the tex
t of | |
81 the current node and all logically-adjacent text nodes. This method rai
ses | |
82 a NO_MODIFICATION_ALLOWED_ERR if one of the Text nodes being replaced is
readonly. | |
83 | |
84 Invoke replaceWholeText on an existing text node with newly created text
and Entityreference | |
85 nodes (whose replacement text is a character entity reference) appended
as children of its parent element node. | |
86 Where the nodes to be removed are read-only descendants of an EntityRefe
rence, the EntityReference | |
87 must be removed instead of the read-only nodes. Only if any EntityRefere
nce to be removed has | |
88 descendants that are not EntityReference, Text, or CDATASection nodes, t
he replaceWholeText | |
89 method must fail, raising a NO_MODIFICATION_ALLOWED_ERR. Verify that the
method does not raise | |
90 an exception and verify the content of the returned text node. | |
91 | |
92 * @author IBM | |
93 * @author Neil Delima | |
94 * @see http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#Text3-replac
eWholeText | |
95 */ | |
96 function textreplacewholetext06() { | |
97 var success; | |
98 if(checkInitialization(builder, "textreplacewholetext06") != null) return; | |
99 var doc; | |
100 var itemList; | |
101 var elementStrong; | |
102 var textNode; | |
103 var erefNode; | |
104 var replacedText; | |
105 var appendedChild; | |
106 var nodeValue; | |
107 | |
108 var docRef = null; | |
109 if (typeof(this.doc) != 'undefined') { | |
110 docRef = this.doc; | |
111 } | |
112 doc = load(docRef, "doc", "hc_staff"); | |
113 itemList = doc.getElementsByTagName("strong"); | |
114 elementStrong = itemList.item(0); | |
115 textNode = doc.createTextNode("New Text"); | |
116 erefNode = doc.createEntityReference("beta"); | |
117 appendedChild = elementStrong.appendChild(textNode); | |
118 appendedChild = elementStrong.appendChild(erefNode); | |
119 textNode = elementStrong.firstChild; | |
120 | |
121 replacedText = textNode.replaceWholeText("New Text and Cdata"); | |
122 nodeValue = textNode.nodeValue; | |
123 | |
124 assertEquals("textreplacewholetext06","New Text and Cdata",nodeValue); | |
125 | |
126 } | |
127 | |
128 | |
129 | |
130 | |
131 function runTest() { | |
132 textreplacewholetext06(); | |
133 } | |
OLD | NEW |