91f29ea7b8
Instead of recursive calls for each nested level of HTML, the next level is pushed to a stack on the heap, and returned to the main loop. This prevents stack overflow at _n_ depth (where _n_ is operating-system dependent). It's probably still possible to use all of the heap memory, but Tidy's allocators already fail gracefully in this circumstance. Please report any regressions of your own HTML! NOTE: the XML parser is not affected, and is probably still highly recursive.
62 lines
1.2 KiB
HTML
62 lines
1.2 KiB
HTML
<!--
|
|
This test case tests the optgroup element and parser.
|
|
-->
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>
|
|
case-004
|
|
</title>
|
|
</head>
|
|
<body>
|
|
<label for="dino-select">Choose a dinosaur:</label> <select id="dino-select">
|
|
<optgroup label="Theropods">
|
|
<option>
|
|
Tyrannosaurus
|
|
</option>
|
|
<option>
|
|
Velociraptor
|
|
</option>
|
|
<option>
|
|
Deinonychus
|
|
</option>
|
|
</optgroup>
|
|
<optgroup label="Sauropods">
|
|
<option>
|
|
Diplodocus
|
|
</option>
|
|
<option>
|
|
Saltasaurus
|
|
</option>
|
|
<option>
|
|
Apatosaurus
|
|
</option>
|
|
</optgroup>
|
|
</select>
|
|
<optgroup label="Body Parts">
|
|
<option>
|
|
Claws
|
|
</option>
|
|
<option>
|
|
Teeth
|
|
</option>
|
|
<option>
|
|
Tail Spikes
|
|
</option>
|
|
</optgroup>
|
|
<optgroup label="Movies">
|
|
<optgroup label="Scifi">
|
|
<option>
|
|
Jurassic Park
|
|
</option>
|
|
</optgroup>
|
|
<option>
|
|
The Good Dinosaur
|
|
</option>
|
|
<option>
|
|
The Land Before Time
|
|
</option>
|
|
</optgroup>
|
|
</body>
|
|
</html>
|