test_HTMLSelectElement03.html (6520B)
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/HTMLSelectElement03</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 ['HTMLSelectElement03']; 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 The selectedIndex attribute specifies the ordinal index of the selected 75 option. If no element is selected -1 is returned. 76 77 Retrieve the selectedIndex attribute from the second SELECT element and 78 examine its value. 79 80 Per http://www.w3.org/TR/html401/interact/forms.html#h-17.6.1, 81 without an explicit selected attribute, user agent behavior is 82 undefined. There is no way to coerce no option to be selected. 83 84 * @author NIST 85 * @author Mary Brady 86 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-85676760 87 */ 88 function HTMLSelectElement03() { 89 var success; 90 if(checkInitialization(builder, "HTMLSelectElement03") != null) return; 91 var nodeList; 92 var testNode; 93 var vselectedindex; 94 var doc; 95 96 var docRef = null; 97 if (typeof(this.doc) != 'undefined') { 98 docRef = this.doc; 99 } 100 doc = load(docRef, "doc", "select"); 101 nodeList = doc.getElementsByTagName("select"); 102 assertSize("Asize",3,nodeList); 103 testNode = nodeList.item(1); 104 vselectedindex = testNode.selectedIndex; 105 106 107 } 108 109 </script> 110 </head> 111 <body> 112 <h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement03</h2> 113 <p><test name='HTMLSelectElement03' schemaLocation='http://www.w3.org/2001/DOM-Test-Suite/Level-1 dom1.xsd'><br> <metadata><br> <title>HTMLSelectElement03</title> 114 <br> <creator>NIST</creator> 115 <br> <description> 116 The selectedIndex attribute specifies the ordinal index of the selected 117 option. If no element is selected -1 is returned. 118 119 Retrieve the selectedIndex attribute from the second SELECT element and 120 examine its value. 121 122 Per http://www.w3.org/TR/html401/interact/forms.html#h-17.6.1, 123 without an explicit selected attribute, user agent behavior is 124 undefined. There is no way to coerce no option to be selected. 125 </description> 126 <br> <contributor>Mary Brady</contributor> 127 <br> <date qualifier='created'>2002-02-22</date> 128 <br> <subject resource='<a href="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-85676760">http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-85676760</a>'/> 129 <br></metadata><br> <var name='nodeList' type='NodeList'/><br> <var name='testNode' type='Node'/><br> <var name='vselectedindex' type='int'/><br> <var name='doc' type='Document'/><br> <load var='doc' href='select' willBeModified='false'/><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='1'/><br> <selectedIndex interface='HTMLSelectElement' obj='testNode' var='vselectedindex'/><br> <!-- Commented assertion per section 17.6.3 --><br> <!-- assertEquals actual="vselectedindex" expected="-1" id="selectedIndexLink" ignoreCase="false"/ --><br></test><br> 130 </p> 131 <p> 132 Copyright (c) 2001-2004 World Wide Web Consortium, 133 (Massachusetts Institute of Technology, Institut National de 134 Recherche en Informatique et en Automatique, Keio University). All 135 Rights Reserved. This program is distributed under the W3C's Software 136 Intellectual Property License. This program is distributed in the 137 hope that it will be useful, but WITHOUT ANY WARRANTY; without even 138 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 139 PURPOSE. 140 </p> 141 <p>See W3C License <a href="http://www.w3.org/Consortium/Legal/">http://www.w3.org/Consortium/Legal/</a> 142 for more details.</p> 143 <iframe name="doc" src="files/select.html"></iframe> 144 <br> 145 </body> 146 </html>