Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / dom / xhtml / level3 / core / documentadoptnode06.js
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] in 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/documentadoptnode06";
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
43       docsLoaded = 0;
44       
45       var docRef = null;
46       if (typeof(this.doc) != 'undefined') {
47         docRef = this.doc;
48       }
49       docsLoaded += preload(docRef, "doc", "hc_staff");
50         
51        if (docsLoaded == 1) {
52           setUpPageStatus = 'complete';
53        }
54     } catch(ex) {
55         catchInitializationError(builder, ex);
56         setUpPageStatus = 'complete';
57     }
58 }
59
60
61
62 //
63 //   This method is called on the completion of 
64 //      each asychronous load started in setUpTests.
65 //
66 //   When every synchronous loaded document has completed,
67 //      the page status is changed which allows the
68 //      body of the test to be executed.
69 function loadComplete() {
70     if (++docsLoaded == 1) {
71         setUpPageStatus = 'complete';
72     }
73 }
74
75
76 /**
77
78         Invoke adoptNode on a new document to adopt the a new Attribute node having a Text and an EntityReference 
79         child.  Check if this attribute has been adopted successfully by verifying the nodeName, namespaceURI, prefix, 
80         specified and ownerElement attributes of the adopted node.  Also verify the ownerDocument attribute
81         of the adopted node and the adopted children of the attribute node.
82
83 * @author IBM
84 * @author Neil Delima
85 * @see http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#Document3-adoptNode
86 */
87 function documentadoptnode06() {
88    var success;
89     if(checkInitialization(builder, "documentadoptnode06") != null) return;
90     var doc;
91       var newDoc;
92       var domImpl;
93       var newAttr;
94       var newText;
95       var newEntRef;
96       var adoptedAttr;
97       var adoptText;
98       var adoptEntRef;
99       var nodeList;
100       var nodeName;
101       var nodeNamespaceURI;
102       var nodePrefix;
103       var attrOwnerElem;
104       var isSpecified;
105       var adoptedTextNodeValue;
106       var adoptedEntRefNodeValue;
107       var nullDocType = null;
108
109       var appendedChild;
110       var docElem;
111       var rootNS;
112       var rootName;
113       var xmlNS = "http://www.w3.org/XML/1998/namespace";
114       
115       var docRef = null;
116       if (typeof(this.doc) != 'undefined') {
117         docRef = this.doc;
118       }
119       doc = load(docRef, "doc", "hc_staff");
120       docElem = doc.documentElement;
121
122       rootName = docElem.tagName;
123
124       rootNS = docElem.namespaceURI;
125
126       domImpl = doc.implementation;
127 newDoc = domImpl.createDocument(rootNS,rootName,nullDocType);
128       newAttr = doc.createAttribute("xml:lang");
129       newText = doc.createTextNode("Text Node");
130       newEntRef = doc.createEntityReference("alpha");
131       appendedChild = newAttr.appendChild(newText);
132       appendedChild = newAttr.appendChild(newEntRef);
133       adoptedAttr = newDoc.adoptNode(newAttr);
134       
135         if(
136         
137         (adoptedAttr != null)
138
139         ) {
140         nodeName = adoptedAttr.nodeName;
141
142       nodeNamespaceURI = adoptedAttr.namespaceURI;
143
144       nodePrefix = adoptedAttr.prefix;
145
146       attrOwnerElem = adoptedAttr.ownerElement;
147
148       isSpecified = adoptedAttr.specified;
149
150       assertEquals("documentadoptnode06_nodeName","xml:lang",nodeName);
151        assertEquals("documentadoptnode06_namespaceURI",xmlNS,nodeNamespaceURI);
152        assertEquals("documentadoptnode06_prefix","xml",nodePrefix);
153        assertNull("documentadoptnode06_ownerDoc",attrOwnerElem);
154     assertTrue("documentadoptnode06_specified",isSpecified);
155 nodeList = adoptedAttr.childNodes;
156
157       adoptText = nodeList.item(0);
158       adoptEntRef = nodeList.item(1);
159       adoptedTextNodeValue = adoptText.nodeValue;
160
161       adoptedEntRefNodeValue = adoptEntRef.nodeName;
162
163       assertEquals("documentadoptnode06_TextNodeValue","Text Node",adoptedTextNodeValue);
164        assertEquals("documentadoptnode06_EntRefNodeValue","alpha",adoptedEntRefNodeValue);
165        
166         }
167         
168 }
169
170
171
172
173 function runTest() {
174    documentadoptnode06();
175 }