dom/tests/mochitest/dom-level2-core/test_documentimportnode02.html

branch
TOR_BUG_9701
changeset 9
a63d609f5ebe
equal deleted inserted replaced
-1:000000000000 0:0e725a4f5ce4
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
2 <html>
3 <head>
4 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
6 <title>http://www.w3.org/2001/DOM-Test-Suite/level2/core/documentimportnode02</title>
7 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css">
8 <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
9 <script type="text/javascript" src="DOMTestCase.js"></script>
10 <script type="text/javascript" src="exclusions.js"></script>
11 <script type="text/javascript">
12 // expose test function names
13 function exposeTestFunctionNames()
14 {
15 return ['documentimportnode02'];
16 }
17
18 var docsLoaded = -1000000;
19 var builder = null;
20
21 //
22 // This function is called by the testing framework before
23 // running the test suite.
24 //
25 // If there are no configuration exceptions, asynchronous
26 // document loading is started. Otherwise, the status
27 // is set to complete and the exception is immediately
28 // raised when entering the body of the test.
29 //
30 function setUpPage() {
31 setUpPageStatus = 'running';
32 try {
33 //
34 // creates test document builder, may throw exception
35 //
36 builder = createConfiguredBuilder();
37 setImplementationAttribute("namespaceAware", true);
38
39 docsLoaded = 0;
40
41 var docRef = null;
42 if (typeof(this.doc) != 'undefined') {
43 docRef = this.doc;
44 }
45 docsLoaded += preload(docRef, "doc", "staffNS");
46
47 var docImportedRef = null;
48 if (typeof(this.docImported) != 'undefined') {
49 docImportedRef = this.docImported;
50 }
51 docsLoaded += preload(docImportedRef, "docImported", "staff");
52
53 if (docsLoaded == 2) {
54 setUpPage = 'complete';
55 }
56 } catch(ex) {
57 catchInitializationError(builder, ex);
58 setUpPage = 'complete';
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 == 2) {
71 setUpPageStatus = 'complete';
72 runJSUnitTests();
73 markTodos();
74 SimpleTest.finish();
75 }
76 }
77
78 var docName = 'documentimportnode02';
79
80
81 /**
82 *
83 The importNode method imports a node from another document to this document.
84 The returned node has no parent; (parentNode is null). The source node is not
85 altered or removed from the original document but a new copy of the source node
86 is created.
87
88 Using the method importNode with deep=false, import the attribute, "emp:zone" of the
89 element node which is retreived by its elementId="CANADA", into the another document.
90 Check the parentNode, nodeName, nodeType and nodeValue of the imported node to
91 verify if it has been imported correctly.
92
93 * @author IBM
94 * @author Neil Delima
95 * @see http://www.w3.org/TR/DOM-Level-2-Core/core
96 * @see http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode
97 */
98 function documentimportnode02() {
99 var success;
100 if(checkInitialization(builder, "documentimportnode02") != null) return;
101 var doc;
102 var docImported;
103 var element;
104 var attr;
105 var importedAttr;
106 var nodeName;
107 var nodeType;
108 var nodeValue;
109 var addresses;
110 var attrsParent;
111
112 var docRef = null;
113 if (typeof(this.doc) != 'undefined') {
114 docRef = this.doc;
115 }
116 doc = load(docRef, "doc", "staffNS");
117
118 var docImportedRef = null;
119 if (typeof(this.docImported) != 'undefined') {
120 docImportedRef = this.docImported;
121 }
122 docImported = load(docImportedRef, "docImported", "staff");
123 addresses = doc.getElementsByTagNameNS("http://www.nist.gov","address");
124 element = addresses.item(1);
125 attr = element.getAttributeNodeNS("http://www.nist.gov","zone");
126 importedAttr = docImported.importNode(attr,false);
127 nodeName = importedAttr.nodeName;
128
129 nodeType = importedAttr.nodeType;
130
131 nodeValue = importedAttr.nodeValue;
132
133 attrsParent = importedAttr.parentNode;
134
135 assertNull("documentimportnode02_parentNull",attrsParent);
136 assertEquals("documentimportnode02_nodeName","emp:zone",nodeName);
137 assertEquals("documentimportnode02_nodeType",2,nodeType);
138 assertEquals("documentimportnode02_nodeValue","CANADA",nodeValue);
139
140 }
141
142 </script>
143 </head>
144 <body>
145 <h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/documentimportnode02</h2>
146 <p></p>
147 <p>
148 Copyright (c) 2001-2004 World Wide Web Consortium,
149 (Massachusetts Institute of Technology, European Research Consortium
150 for Informatics and Mathematics, Keio University). All
151 Rights Reserved. This work is distributed under the <a href="http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231">W3C(r) Software License</a> in the
152 hope that it will be useful, but WITHOUT ANY WARRANTY; without even
153 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
154 </p>
155 </body>
156 </html>

mercurial