test_HTMLSelectElement20.html (7642B)
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 content="text/html; charset=UTF-8" http-equiv="Content-Type"> 6 <title>http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement20</title> 7 <link type="text/css" rel="stylesheet" href="/tests/SimpleTest/test.css"> 8 <script src="/tests/SimpleTest/SimpleTest.js" type="text/javascript"></script> 9 <script src="DOMTestCase.js" type="text/javascript"></script> 10 <script type="text/javascript"> 11 // expose test function names 12 function exposeTestFunctionNames() 13 { 14 return ['HTMLSelectElement20']; 15 } 16 17 var docsLoaded = -1000000; 18 var builder = null; 19 20 // 21 // This function is called by the testing framework before 22 // running the test suite. 23 // 24 // If there are no configuration exceptions, asynchronous 25 // document loading is started. Otherwise, the status 26 // is set to complete and the exception is immediately 27 // raised when entering the body of the test. 28 // 29 function setUpPage() { 30 setUpPageStatus = 'running'; 31 try { 32 // 33 // creates test document builder, may throw exception 34 // 35 builder = createConfiguredBuilder(); 36 37 docsLoaded = 0; 38 39 var docRef = null; 40 if (typeof(this.doc) != 'undefined') { 41 docRef = this.doc; 42 } 43 docsLoaded += preload(docRef, "doc", "select"); 44 45 if (docsLoaded == 1) { 46 setUpPage = 'complete'; 47 } 48 } catch(ex) { 49 catchInitializationError(builder, ex); 50 setUpPage = 'complete'; 51 } 52 } 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 SimpleTest.finish(); 68 } 69 } 70 71 72 /** 73 * 74 Attempting to add an new option using HTMLSelectElement.add before a node that is not a child of the select 75 element should raise a NOT_FOUND_ERR. 76 77 * @author Curt Arnold 78 * @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-14493106 79 */ 80 function HTMLSelectElement20() { 81 var success; 82 if(checkInitialization(builder, "HTMLSelectElement20") != null) return; 83 var nodeList; 84 var testNode; 85 var doc; 86 var optLength; 87 var selected; 88 var newOpt; 89 var newOptText; 90 var retNode; 91 var options; 92 var otherSelect; 93 var selectedNode; 94 95 var docRef = null; 96 if (typeof(this.doc) != 'undefined') { 97 docRef = this.doc; 98 } 99 doc = load(docRef, "doc", "select"); 100 nodeList = doc.getElementsByTagName("select"); 101 assertSize("Asize",3,nodeList); 102 testNode = nodeList.item(0); 103 otherSelect = nodeList.item(1); 104 newOpt = doc.createElement("option"); 105 newOptText = doc.createTextNode("EMP31415"); 106 retNode = newOpt.appendChild(newOptText); 107 options = otherSelect.options; 108 109 selectedNode = options.item(0); 110 111 { 112 success = false; 113 try { 114 testNode.add(newOpt,selectedNode); 115 } 116 catch(ex) { 117 success = (typeof(ex.code) != 'undefined' && ex.code == 8); 118 } 119 assertTrue("throw_NOT_FOUND_ERR",success); 120 } 121 122 } 123 124 </script> 125 </head> 126 <body> 127 <h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement20</h2> 128 <p><test name='HTMLSelectElement20' schemaLocation='http://www.w3.org/2001/DOM-Test-Suite/Level-2 dom2.xsd'><br> <metadata><br> <title>HTMLSelectElement20</title> 129 <br> <creator>Curt Arnold</creator> 130 <br> <description> 131 Attempting to add an new option using HTMLSelectElement.add before a node that is not a child of the select 132 element should raise a NOT_FOUND_ERR. 133 </description> 134 <br> <date qualifier='created'>2004-03-18</date> 135 <br> <subject resource='<a href="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-14493106">http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-14493106</a>'/> 136 <br></metadata><br> <var name='nodeList' type='NodeList'/><br> <var name='testNode' type='Node'/><br> <var name='doc' type='Document'/><br> <var name='optLength' type='int'/><br> <var name='selected' type='int'/><br> <var name='newOpt' type='Element'/><br> <var name='newOptText' type='Text'/><br> <var name='retNode' type='Node'/><br> <var name='options' type='HTMLCollection'/><br> <var name='otherSelect' type='Element'/><br> <var name='selectedNode' type='Node'/><br> <load var='doc' href='select' willBeModified='true'/><br> <getElementsByTagName interface='Document' obj='doc' var='nodeList' tagname='"select"'/><br> <assertSize collection='nodeList' size='3' <a id="Asize">id='Asize'</a>/><br> <item interface='NodeList' obj='nodeList' var='testNode' index='0'/><br> <item interface='NodeList' obj='nodeList' var='otherSelect' index='1'/><br> <createElement var='newOpt' obj='doc' tagName='"option"'/><br> <createTextNode var='newOptText' obj='doc' data='"EMP31415"'/><br> <appendChild var='retNode' obj='newOpt' newChild='newOptText'/><br> <options var='options' obj='otherSelect'/><br> <item var='selectedNode' obj='options' index='0' interface='HTMLCollection'/><br> <assertDOMException <a id="throw_NOT_FOUND_ERR">id='throw_NOT_FOUND_ERR'</a>><br> <NOT_FOUND_ERR><br> <add interface='HTMLSelectElement' obj='testNode' element='newOpt' before='selectedNode'/><br> </NOT_FOUND_ERR><br> </assertDOMException><br></test><br> 137 </p> 138 <p> 139 Copyright (c) 2001-2004 World Wide Web Consortium, 140 (Massachusetts Institute of Technology, Institut National de 141 Recherche en Informatique et en Automatique, Keio University). All 142 Rights Reserved. This program is distributed under the W3C's Software 143 Intellectual Property License. This program is distributed in the 144 hope that it will be useful, but WITHOUT ANY WARRANTY; without even 145 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 146 PURPOSE. 147 </p> 148 <p>See W3C License <a href="http://www.w3.org/Consortium/Legal/">http://www.w3.org/Consortium/Legal/</a> 149 for more details.</p> 150 <iframe name="doc" src="files/select.html"></iframe> 151 <br> 152 </body> 153 </html>