Home | History | Annotate | Download | only in ManualTests
      1 <html>
      2 <head>
      3   <title>Empty and nested optgroup elements</title>
      4 </head>
      5 
      6 <body>
      7 
      8 <select>
      9   <!-- A div here is invalid. However, both IE and Firefox will walk into it
     10        and enumerate the elements inside. -->
     11   <div>
     12     <option value="1">Item one</option>
     13 
     14     <!-- this group has no children. We /should/ render it because that matches
     15          IE and FireFox. -->
     16     <optgroup label="Group one"></optgroup>
     17 
     18     <!-- this group has a text node child. It should render the same as group one. -->
     19     <optgroup label="Group two"> </optgroup>
     20 
     21     <!-- for an optgroup without a label, IE will show an empty, unselectable row.
     22          Firefox doesn't show it. We /do/ show it because someone might be using
     23          it as a spacer. -->
     24     <!-- Additionally, this has been updated to test the crash fixed in
     25          https://bugs.webkit.org/show_bug.cgi?id=26656. When setting the
     26          font-size in the <optgroup> to extra large, opening the select element
     27          must not leave any unpainted areas of overlapping text. -->
     28     <optgroup style="font-size: x-large;">
     29       <option value="2">Item inside an optgroup without a label</option>
     30     </optgroup>
     31 
     32     <!-- for an optgroup with an empty label, IE will show an empty,
     33          unselectable row.  Firefox doesn't show it. We /do/ show it because
     34          someone might be using it as a spacer. -->
     35     <optgroup label="">
     36       <option value="3">Item inside an optgroup with an empty label</option>
     37     </optgroup>
     38 
     39     <div>
     40       <option value="4"></option>
     41       <optgroup label="Group three">
     42         <option value="5">Item two</option>
     43         <!-- nested groups are disallowed by the spec, but IE and Firefox will
     44              flatten the tree. We should match them. -->
     45         <optgroup label="Nested group 1"></optgroup>
     46         <optgroup label="Nested group 2">
     47           <optgroup label="Nested group 3">
     48               <option value="6">Item three</option>
     49           </optgroup>
     50         </optgroup>
     51       </optgroup>
     52     </div>
     53     <option value="7">Item four</option>
     54   </div>
     55 </select>
     56 
     57 <p>Click on the select element above. When it drops down you should see the following items in the list:</p>
     58 
     59 <ul>
     60   <li>Item one</li>
     61   <li><b>Group one</b></li>
     62   <li><b>Group two</b></li>
     63   <li><i>(unselectable, empty row)</i></li>
     64   <li>Item inside an optgroup without a label</li>
     65   <li><i>(unselectable, empty row)</i></li>
     66   <li>Item inside an optgroup with an empty label</li>
     67   <li><i>(selectable, empty row)</i></li>
     68   <li><b>Group three</b></li>
     69   <li>Item two</li>
     70   <li><b>Nested group 1</b></li>
     71   <li><b>Nested group 2</b></li>
     72   <li><b>Nested group 3</b></li>
     73   <li>Item three</li>
     74   <li>Item four</li>
     75 </ul>
     76 
     77 <p>The text of the rows of the dropdown must not overlap each other.</p>
     78 
     79 </body>
     80 </html>
     81