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

branch
TOR_BUG_9701
changeset 8
97036ab72558
equal deleted inserted replaced
-1:000000000000 0:223ae53bbede
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/removeNamedItemNS03</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 ['removeNamedItemNS03'];
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 if (docsLoaded == 1) {
48 setUpPage = 'complete';
49 }
50 } catch(ex) {
51 catchInitializationError(builder, ex);
52 setUpPage = 'complete';
53 }
54 }
55
56 //
57 // This method is called on the completion of
58 // each asychronous load started in setUpTests.
59 //
60 // When every synchronous loaded document has completed,
61 // the page status is changed which allows the
62 // body of the test to be executed.
63 function loadComplete() {
64 if (++docsLoaded == 1) {
65 setUpPageStatus = 'complete';
66 runJSUnitTests();
67 markTodos();
68 SimpleTest.finish();
69 }
70 }
71
72 var docName = 'removeNamedItemNS03';
73
74
75 /**
76 *
77 The "removeNamedItemNS(namespaceURI,localName)" method for a
78 NamedNodeMap should raise NO_MODIFICATION_ALLOWED_ERR DOMException if
79 this map is readonly.
80
81 Retrieve a list of "gender" elements. Get access to the THIRD element
82 which contains an ENTITY_REFERENCE child node. Try to remove the attribute
83 in the node's map with method removeNamedItemNS(namespaceURI,localName).
84 This should result in NO_MODIFICATION_ALLOWED_ERR
85 DOMException.
86
87 * @author NIST
88 * @author Mary Brady
89 * @see http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])
90 * @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-removeNamedItemNS
91 * @see http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-removeNamedItemNS')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])
92 */
93 function removeNamedItemNS03() {
94 var success;
95 if(checkInitialization(builder, "removeNamedItemNS03") != null) return;
96 var namespaceURI = "http://www.w3.org/2000/xmlns/";
97 var localName = "local1";
98 var doc;
99 var elementList;
100 var testAddress;
101 var nList;
102 var child;
103 var n2List;
104 var child2;
105 var attributes;
106 var removedNode;
107 var nodeType;
108
109 var docRef = null;
110 if (typeof(this.doc) != 'undefined') {
111 docRef = this.doc;
112 }
113 doc = load(docRef, "doc", "staffNS");
114 elementList = doc.getElementsByTagName("gender");
115 testAddress = elementList.item(2);
116 nList = testAddress.childNodes;
117
118 child = nList.item(0);
119 nodeType = child.nodeType;
120
121
122 if(
123 (1 == nodeType)
124 ) {
125 child = doc.createEntityReference("ent4");
126 assertNotNull("createdEntRefNotNull",child);
127
128 }
129 n2List = child.childNodes;
130
131 child2 = n2List.item(0);
132 assertNotNull("notnull",child2);
133 attributes = child2.attributes;
134
135
136 {
137 success = false;
138 try {
139 removedNode = attributes.removeNamedItemNS(namespaceURI,localName);
140 }
141 catch(ex) {
142 success = (typeof(ex.code) != 'undefined' && ex.code == 7);
143 }
144 assertTrue("throw_NO_MODIFICATION_ALLOWED_ERR",success);
145 }
146
147 }
148
149 </script>
150 </head>
151 <body>
152 <h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/removeNamedItemNS03</h2>
153 <p></p>
154 <p>
155 Copyright (c) 2001-2004 World Wide Web Consortium,
156 (Massachusetts Institute of Technology, European Research Consortium
157 for Informatics and Mathematics, Keio University). All
158 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
159 hope that it will be useful, but WITHOUT ANY WARRANTY; without even
160 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
161 </p>
162 </body>
163 </html>

mercurial