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_attrinsertbef
ore4"; | |
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 Prepends a document fragment to an attribute 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-9522
80727 | |
78 */ | |
79 function hc_attrinsertbefore4() { | |
80 var success; | |
81 if(checkInitialization(builder, "hc_attrinsertbefore4") != 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 var lastChild; | |
94 var refChild; | |
95 | |
96 var docRef = null; | |
97 if (typeof(this.doc) != 'undefined') { | |
98 docRef = this.doc; | |
99 } | |
100 doc = load(docRef, "doc", "hc_staff"); | |
101 acronymList = doc.getElementsByTagName("acronym"); | |
102 testNode = acronymList.item(3); | |
103 attributes = testNode.attributes; | |
104 | |
105 titleAttr = attributes.getNamedItem("title"); | |
106 terNode = doc.createTextNode("ter"); | |
107 dayNode = doc.createTextNode("day"); | |
108 docFrag = doc.createDocumentFragment(); | |
109 retval = docFrag.appendChild(terNode); | |
110 retval = docFrag.appendChild(dayNode); | |
111 refChild = titleAttr.firstChild; | |
112 | |
113 retval = titleAttr.insertBefore(docFrag,refChild); | |
114 value = titleAttr.value; | |
115 | |
116 assertEquals("attrValue","terdayYes",value); | |
117 value = titleAttr.nodeValue; | |
118 | |
119 assertEquals("attrNodeValue","terdayYes",value); | |
120 value = retval.nodeValue; | |
121 | |
122 assertNull("retvalValue",value); | |
123 firstChild = titleAttr.firstChild; | |
124 | |
125 value = firstChild.nodeValue; | |
126 | |
127 assertEquals("firstChildValue","ter",value); | |
128 lastChild = titleAttr.lastChild; | |
129 | |
130 value = lastChild.nodeValue; | |
131 | |
132 assertEquals("lastChildValue","Yes",value); | |
133 | |
134 } | |
135 | |
136 function runTest() { | |
137 hc_attrinsertbefore4(); | |
138 } | |
OLD | NEW |