test_createAttributeNS03.html (5324B)
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/createAttributeNS03</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 ['createAttributeNS03']; 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 if (docsLoaded == 1) { 47 setUpPage = 'complete'; 48 } 49 } catch(ex) { 50 catchInitializationError(builder, ex); 51 setUpPage = 'complete'; 52 } 53 } 54 55 // 56 // This method is called on the completion of 57 // each asychronous load started in setUpTests. 58 // 59 // When every synchronous loaded document has completed, 60 // the page status is changed which allows the 61 // body of the test to be executed. 62 function loadComplete() { 63 if (++docsLoaded == 1) { 64 setUpPageStatus = 'complete'; 65 runJSUnitTests(); 66 markTodos(); 67 SimpleTest.finish(); 68 } 69 } 70 71 var docName = 'createAttributeNS03'; 72 73 74 /** 75 * 76 The "createAttributeNS(namespaceURI,qualifiedName)" method for a 77 Document should raise INVALID_CHARACTER_ERR DOMException 78 if qualifiedName contains an illegal character. 79 80 Invoke method createAttributeNS(namespaceURI,qualifiedName) on this document 81 with qualifiedName containing an illegal character from illegalChars[]. 82 Method should raise INVALID_CHARACTER_ERR DOMException for all 83 characters in illegalChars[]. 84 85 * @author NIST 86 * @author Mary Brady 87 * @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-DocCrAttrNS 88 * @see http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-DocCrAttrNS')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR']) 89 */ 90 function createAttributeNS03() { 91 var success; 92 if(checkInitialization(builder, "createAttributeNS03") != null) return; 93 var namespaceURI = "http://www.wedding.com/"; 94 var qualifiedName; 95 var doc; 96 var newAttr; 97 illegalQNames = new Array(); 98 illegalQNames[0] = "person:{"; 99 illegalQNames[1] = "person:}"; 100 illegalQNames[2] = "person:~"; 101 illegalQNames[3] = "person:'"; 102 illegalQNames[4] = "person:!"; 103 illegalQNames[5] = "person:@"; 104 illegalQNames[6] = "person:#"; 105 illegalQNames[7] = "person:$"; 106 illegalQNames[8] = "person:%"; 107 illegalQNames[9] = "person:^"; 108 illegalQNames[10] = "person:&"; 109 illegalQNames[11] = "person:*"; 110 illegalQNames[12] = "person:("; 111 illegalQNames[13] = "person:)"; 112 illegalQNames[14] = "person:+"; 113 illegalQNames[15] = "person:="; 114 illegalQNames[16] = "person:["; 115 illegalQNames[17] = "person:]"; 116 illegalQNames[18] = "person:\\"; 117 illegalQNames[19] = "person:/"; 118 illegalQNames[20] = "person:;"; 119 illegalQNames[21] = "person:`"; 120 illegalQNames[22] = "person:<"; 121 illegalQNames[23] = "person:>"; 122 illegalQNames[24] = "person:,"; 123 illegalQNames[25] = "person:a "; 124 illegalQNames[26] = "person:\""; 125 126 127 var docRef = null; 128 if (typeof(this.doc) != 'undefined') { 129 docRef = this.doc; 130 } 131 doc = load(docRef, "doc", "staffNS"); 132 for(var indexN65680 = 0;indexN65680 < illegalQNames.length; indexN65680++) { 133 qualifiedName = illegalQNames[indexN65680]; 134 135 { 136 success = false; 137 try { 138 newAttr = doc.createAttributeNS(namespaceURI,qualifiedName); 139 } 140 catch(ex) { 141 success = (typeof(ex.code) != 'undefined' && ex.code == 5); 142 } 143 assertTrue("throw_INVALID_CHARACTER_ERR",success); 144 } 145 146 } 147 148 } 149 150 </script> 151 </head> 152 <body> 153 <h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/createAttributeNS03</h2> 154 <p></p> 155 <p> 156 Copyright (c) 2001-2004 World Wide Web Consortium, 157 (Massachusetts Institute of Technology, European Research Consortium 158 for Informatics and Mathematics, Keio University). All 159 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 160 hope that it will be useful, but WITHOUT ANY WARRANTY; without even 161 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 162 </p> 163 </body> 164 </html>