<html>
<script type="text/javascript" src="testcode.js"></script>
<script>
    // needed in case we arrive here via a client redirect
    if (window.testRunner)
        testRunner.notifyDone();
</script>

<body id="testbody" style="font-size: 32">
This is test page that we navigate to as part of testing various navigation styles.  It
includes a form so that we can test saving and restoring of form data, and it needs to
be long enough that we can test saving and restoring of scroll position.
<br>
<br>
<br>

<hr>
<form id="testform" action="postresult.pl" method="post">
<input type="submit" name="submitwithpost" value="Submit with POST"/><br>
<input type="submit" name="submitwithpostredirect" value="Submit with POST followed by a redirect"/><br>
Here are some form elements<input type="text" name="textfield1" value="Initial text before user input"/><br>
that we can use for testing<input type="text" name="textfield2" value=""/><br>
<input type="radio" name="radiogroup1" id="radiooption1" value="male"/> Male<br>
<input type="radio" name="radiogroup1" id="radiooption2" value="female"/> Female<br>
<input type="checkbox" name="checkbox1"/> option #1<br>
<input type="checkbox" name="checkbox2"/> option #2<br>

<select name="selectgroup1">
<option value="volvo"/>Initial Value
<option value="saab"/>foo
<option value="fiat"/>Value set by User that should be Restored
<option value="audi"/>bar
</select><br>

<textarea name="textarea1" rows="10" cols="30" value="Initial text before user input">
More initial text before user input.
</textarea>
</form>
<hr>

<p>Now</p>
<p>some</p>
<p>filler</p>
<p>so</p>
<p>the</p>
<p>doc</p>
<p>is</p>
<p>long</p>
<p>enough</p>
<p>to scroll.</p>
<p><a name="anchor1">This is an anchor point named "anchor1".</a></p>

</body>
</html>
