test_setNamedItemNS01.html (4680B)
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/setNamedItemNS01</title> 7 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"> 8 <script 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 ['setNamedItemNS01']; 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 = 'setNamedItemNS01'; 73 74 75 /** 76 * 77 The "setNamedItemNS(arg)" method for a 78 NamedNodeMap should raise INUSE_ATTRIBUTE_ERR DOMException if 79 arg is an Attr that is already an attribute of another Element object. 80 81 Retrieve an attr node from the third "address" element whose local name 82 is "domestic" and namespaceURI is "http://www.netzero.com". 83 Invoke method setNamedItemNS(arg) on the map of the first "address" element with 84 arg being the attr node from above. Method should raise 85 INUSE_ATTRIBUTE_ERR 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='INUSE_ATTRIBUTE_ERR']) 90 * @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-setNamedItemNS 91 * @see http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-setNamedItemNS')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INUSE_ATTRIBUTE_ERR']) 92 */ 93 function setNamedItemNS01() { 94 var success; 95 if(checkInitialization(builder, "setNamedItemNS01") != null) return; 96 var doc; 97 var elementList; 98 var anotherElement; 99 var anotherMap; 100 var arg; 101 var testAddress; 102 var map; 103 var setNode; 104 105 var docRef = null; 106 if (typeof(this.doc) != 'undefined') { 107 docRef = this.doc; 108 } 109 doc = load(docRef, "doc", "staffNS"); 110 elementList = doc.getElementsByTagName("address"); 111 anotherElement = elementList.item(2); 112 anotherMap = anotherElement.attributes; 113 114 arg = anotherMap.getNamedItemNS("http://www.netzero.com","domestic"); 115 testAddress = elementList.item(0); 116 map = testAddress.attributes; 117 118 119 { 120 success = false; 121 try { 122 setNode = map.setNamedItemNS(arg); 123 } 124 catch(ex) { 125 success = (typeof(ex.code) != 'undefined' && ex.code == 10); 126 } 127 assertTrue("throw_INUSE_ATTRIBUTE_ERR",success); 128 } 129 130 } 131 132 </script> 133 </head> 134 <body> 135 <h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/setNamedItemNS01</h2> 136 <p></p> 137 <p> 138 Copyright (c) 2001-2004 World Wide Web Consortium, 139 (Massachusetts Institute of Technology, European Research Consortium 140 for Informatics and Mathematics, Keio University). All 141 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 142 hope that it will be useful, but WITHOUT ANY WARRANTY; without even 143 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 144 </p> 145 </body> 146 </html>