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

branch
TOR_BUG_9701
changeset 15
b8a032363ba2
equal deleted inserted replaced
-1:000000000000 0:3fdbd9d3d57d
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/setNamedItemNS02</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 ['setNamedItemNS02'];
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
38 docsLoaded = 0;
39
40 var docRef = null;
41 if (typeof(this.doc) != 'undefined') {
42 docRef = this.doc;
43 }
44 docsLoaded += preload(docRef, "doc", "staffNS");
45
46 var anotherDocRef = null;
47 if (typeof(this.anotherDoc) != 'undefined') {
48 anotherDocRef = this.anotherDoc;
49 }
50 docsLoaded += preload(anotherDocRef, "anotherDoc", "staffNS");
51
52 if (docsLoaded == 2) {
53 setUpPage = 'complete';
54 }
55 } catch(ex) {
56 catchInitializationError(builder, ex);
57 setUpPage = 'complete';
58 }
59 }
60
61 //
62 // This method is called on the completion of
63 // each asychronous load started in setUpTests.
64 //
65 // When every synchronous loaded document has completed,
66 // the page status is changed which allows the
67 // body of the test to be executed.
68 function loadComplete() {
69 if (++docsLoaded == 2) {
70 setUpPageStatus = 'complete';
71 runJSUnitTests();
72 markTodos();
73 SimpleTest.finish();
74 }
75 }
76
77 var docName = 'setNamedItemNS02';
78
79
80 /**
81 *
82 The "setNamedItemNS(arg)" method for a
83 NamedNodeMap should raise WRONG_DOCUMENT_ERR DOMException if arg was
84 created from a different document than the one that created this map.
85
86 Create an attr node in a different document with qualifiedName equals
87 "dmstc:domestic" and namespaceURI is "http://www.usa.com".
88 Access the namednodemap of the first "address" element in this document.
89 Invoke method setNamedItemNS(arg) with arg being the attr node from above.
90 Method should raise WRONG_DOCUMENT_ERR DOMException.
91
92 * @author NIST
93 * @author Mary Brady
94 * @see http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-258A00AF')/constant[@name='WRONG_DOCUMENT_ERR'])
95 * @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-setNamedItemNS
96 * @see http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-setNamedItemNS')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='WRONG_DOCUMENT_ERR'])
97 */
98 function setNamedItemNS02() {
99 var success;
100 if(checkInitialization(builder, "setNamedItemNS02") != null) return;
101 var namespaceURI = "http://www.usa.com";
102 var qualifiedName = "dmstc:domestic";
103 var doc;
104 var anotherDoc;
105 var arg;
106 var elementList;
107 var testAddress;
108 var attributes;
109 var setNode;
110
111 var docRef = null;
112 if (typeof(this.doc) != 'undefined') {
113 docRef = this.doc;
114 }
115 doc = load(docRef, "doc", "staffNS");
116
117 var anotherDocRef = null;
118 if (typeof(this.anotherDoc) != 'undefined') {
119 anotherDocRef = this.anotherDoc;
120 }
121 anotherDoc = load(anotherDocRef, "anotherDoc", "staffNS");
122 arg = anotherDoc.createAttributeNS(namespaceURI,qualifiedName);
123 arg.nodeValue = "Maybe";
124
125 elementList = doc.getElementsByTagName("address");
126 testAddress = elementList.item(0);
127 attributes = testAddress.attributes;
128
129
130 {
131 success = false;
132 try {
133 setNode = attributes.setNamedItemNS(arg);
134 }
135 catch(ex) {
136 success = (typeof(ex.code) != 'undefined' && ex.code == 4);
137 }
138 assertTrue("throw_WRONG_DOCUMENT_ERR",success);
139 }
140
141 }
142
143 </script>
144 </head>
145 <body>
146 <h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/setNamedItemNS02</h2>
147 <p></p>
148 <p>
149 Copyright (c) 2001-2004 World Wide Web Consortium,
150 (Massachusetts Institute of Technology, European Research Consortium
151 for Informatics and Mathematics, Keio University). All
152 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
153 hope that it will be useful, but WITHOUT ANY WARRANTY; without even
154 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
155 </p>
156 </body>
157 </html>

mercurial