aai10-mechanize 2.0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. data/.autotest +6 -0
  2. data/.gitignore +9 -0
  3. data/CHANGELOG.rdoc +652 -0
  4. data/EXAMPLES.rdoc +187 -0
  5. data/FAQ.rdoc +11 -0
  6. data/GUIDE.rdoc +163 -0
  7. data/LICENSE.rdoc +20 -0
  8. data/Manifest.txt +172 -0
  9. data/README.rdoc +63 -0
  10. data/Rakefile +36 -0
  11. data/aai10-mechanize.gemspec +20 -0
  12. data/examples/flickr_upload.rb +22 -0
  13. data/examples/mech-dump.rb +5 -0
  14. data/examples/proxy_req.rb +7 -0
  15. data/examples/rubyforge.rb +20 -0
  16. data/examples/spider.rb +21 -0
  17. data/lib/mechanize.rb +664 -0
  18. data/lib/mechanize/content_type_error.rb +14 -0
  19. data/lib/mechanize/cookie.rb +116 -0
  20. data/lib/mechanize/cookie_jar.rb +202 -0
  21. data/lib/mechanize/element_matcher.rb +35 -0
  22. data/lib/mechanize/file.rb +80 -0
  23. data/lib/mechanize/file_connection.rb +17 -0
  24. data/lib/mechanize/file_request.rb +26 -0
  25. data/lib/mechanize/file_response.rb +74 -0
  26. data/lib/mechanize/file_saver.rb +37 -0
  27. data/lib/mechanize/form.rb +478 -0
  28. data/lib/mechanize/form/button.rb +9 -0
  29. data/lib/mechanize/form/check_box.rb +11 -0
  30. data/lib/mechanize/form/field.rb +44 -0
  31. data/lib/mechanize/form/file_upload.rb +23 -0
  32. data/lib/mechanize/form/image_button.rb +20 -0
  33. data/lib/mechanize/form/multi_select_list.rb +83 -0
  34. data/lib/mechanize/form/option.rb +49 -0
  35. data/lib/mechanize/form/radio_button.rb +48 -0
  36. data/lib/mechanize/form/select_list.rb +40 -0
  37. data/lib/mechanize/headers.rb +25 -0
  38. data/lib/mechanize/history.rb +83 -0
  39. data/lib/mechanize/http.rb +3 -0
  40. data/lib/mechanize/http/agent.rb +738 -0
  41. data/lib/mechanize/inspect.rb +88 -0
  42. data/lib/mechanize/monkey_patch.rb +37 -0
  43. data/lib/mechanize/page.rb +408 -0
  44. data/lib/mechanize/page/base.rb +8 -0
  45. data/lib/mechanize/page/frame.rb +27 -0
  46. data/lib/mechanize/page/image.rb +30 -0
  47. data/lib/mechanize/page/label.rb +20 -0
  48. data/lib/mechanize/page/link.rb +82 -0
  49. data/lib/mechanize/page/meta_refresh.rb +56 -0
  50. data/lib/mechanize/pluggable_parsers.rb +101 -0
  51. data/lib/mechanize/redirect_limit_reached_error.rb +16 -0
  52. data/lib/mechanize/redirect_not_get_or_head_error.rb +19 -0
  53. data/lib/mechanize/response_code_error.rb +22 -0
  54. data/lib/mechanize/response_read_error.rb +27 -0
  55. data/lib/mechanize/robots_disallowed_error.rb +29 -0
  56. data/lib/mechanize/unsupported_scheme_error.rb +8 -0
  57. data/lib/mechanize/util.rb +113 -0
  58. data/test/data/htpasswd +1 -0
  59. data/test/data/server.crt +16 -0
  60. data/test/data/server.csr +12 -0
  61. data/test/data/server.key +15 -0
  62. data/test/data/server.pem +15 -0
  63. data/test/helper.rb +175 -0
  64. data/test/htdocs/alt_text.html +10 -0
  65. data/test/htdocs/bad_form_test.html +9 -0
  66. data/test/htdocs/button.jpg +0 -0
  67. data/test/htdocs/canonical_uri.html +9 -0
  68. data/test/htdocs/dir with spaces/foo.html +1 -0
  69. data/test/htdocs/empty_form.html +6 -0
  70. data/test/htdocs/file_upload.html +26 -0
  71. data/test/htdocs/find_link.html +41 -0
  72. data/test/htdocs/form_multi_select.html +16 -0
  73. data/test/htdocs/form_multival.html +37 -0
  74. data/test/htdocs/form_no_action.html +18 -0
  75. data/test/htdocs/form_no_input_name.html +16 -0
  76. data/test/htdocs/form_select.html +16 -0
  77. data/test/htdocs/form_select_all.html +16 -0
  78. data/test/htdocs/form_select_none.html +17 -0
  79. data/test/htdocs/form_select_noopts.html +10 -0
  80. data/test/htdocs/form_set_fields.html +14 -0
  81. data/test/htdocs/form_test.html +188 -0
  82. data/test/htdocs/frame_referer_test.html +10 -0
  83. data/test/htdocs/frame_test.html +30 -0
  84. data/test/htdocs/google.html +13 -0
  85. data/test/htdocs/iframe_test.html +16 -0
  86. data/test/htdocs/index.html +6 -0
  87. data/test/htdocs/link with space.html +5 -0
  88. data/test/htdocs/meta_cookie.html +11 -0
  89. data/test/htdocs/no_title_test.html +6 -0
  90. data/test/htdocs/nofollow.html +9 -0
  91. data/test/htdocs/noindex.html +9 -0
  92. data/test/htdocs/norobots.html +8 -0
  93. data/test/htdocs/rails_3_encoding_hack_form_test.html +27 -0
  94. data/test/htdocs/rel_nofollow.html +8 -0
  95. data/test/htdocs/relative/tc_relative_links.html +21 -0
  96. data/test/htdocs/robots.html +8 -0
  97. data/test/htdocs/robots.txt +2 -0
  98. data/test/htdocs/tc_bad_charset.html +9 -0
  99. data/test/htdocs/tc_bad_links.html +5 -0
  100. data/test/htdocs/tc_base_images.html +10 -0
  101. data/test/htdocs/tc_base_link.html +8 -0
  102. data/test/htdocs/tc_blank_form.html +11 -0
  103. data/test/htdocs/tc_charset.html +6 -0
  104. data/test/htdocs/tc_checkboxes.html +19 -0
  105. data/test/htdocs/tc_encoded_links.html +5 -0
  106. data/test/htdocs/tc_field_precedence.html +11 -0
  107. data/test/htdocs/tc_follow_meta.html +8 -0
  108. data/test/htdocs/tc_form_action.html +48 -0
  109. data/test/htdocs/tc_images.html +8 -0
  110. data/test/htdocs/tc_links.html +18 -0
  111. data/test/htdocs/tc_meta_in_body.html +9 -0
  112. data/test/htdocs/tc_no_attributes.html +16 -0
  113. data/test/htdocs/tc_pretty_print.html +17 -0
  114. data/test/htdocs/tc_radiobuttons.html +17 -0
  115. data/test/htdocs/tc_referer.html +16 -0
  116. data/test/htdocs/tc_relative_links.html +19 -0
  117. data/test/htdocs/tc_textarea.html +23 -0
  118. data/test/htdocs/test_bad_encoding.html +52 -0
  119. data/test/htdocs/test_click.html +11 -0
  120. data/test/htdocs/unusual______.html +5 -0
  121. data/test/servlets.rb +402 -0
  122. data/test/ssl_server.rb +48 -0
  123. data/test/test_cookies.rb +129 -0
  124. data/test/test_form_action.rb +52 -0
  125. data/test/test_form_as_hash.rb +59 -0
  126. data/test/test_form_button.rb +46 -0
  127. data/test/test_frames.rb +34 -0
  128. data/test/test_headers.rb +33 -0
  129. data/test/test_history.rb +118 -0
  130. data/test/test_history_added.rb +16 -0
  131. data/test/test_html_unscape_forms.rb +46 -0
  132. data/test/test_if_modified_since.rb +20 -0
  133. data/test/test_images.rb +19 -0
  134. data/test/test_mechanize.rb +852 -0
  135. data/test/test_mechanize_cookie.rb +345 -0
  136. data/test/test_mechanize_cookie_jar.rb +433 -0
  137. data/test/test_mechanize_file.rb +53 -0
  138. data/test/test_mechanize_file_request.rb +19 -0
  139. data/test/test_mechanize_file_response.rb +21 -0
  140. data/test/test_mechanize_form.rb +576 -0
  141. data/test/test_mechanize_form_check_box.rb +37 -0
  142. data/test/test_mechanize_form_encoding.rb +120 -0
  143. data/test/test_mechanize_form_field.rb +21 -0
  144. data/test/test_mechanize_form_image_button.rb +12 -0
  145. data/test/test_mechanize_form_textarea.rb +51 -0
  146. data/test/test_mechanize_http_agent.rb +697 -0
  147. data/test/test_mechanize_link.rb +84 -0
  148. data/test/test_mechanize_page_encoding.rb +147 -0
  149. data/test/test_mechanize_page_link.rb +382 -0
  150. data/test/test_mechanize_page_meta_refresh.rb +115 -0
  151. data/test/test_mechanize_redirect_not_get_or_head_error.rb +18 -0
  152. data/test/test_mechanize_subclass.rb +22 -0
  153. data/test/test_mechanize_util.rb +92 -0
  154. data/test/test_multi_select.rb +118 -0
  155. data/test/test_no_attributes.rb +13 -0
  156. data/test/test_option.rb +18 -0
  157. data/test/test_pluggable_parser.rb +136 -0
  158. data/test/test_post_form.rb +37 -0
  159. data/test/test_pretty_print.rb +22 -0
  160. data/test/test_radiobutton.rb +75 -0
  161. data/test/test_redirect_limit_reached.rb +39 -0
  162. data/test/test_redirect_ok.rb +25 -0
  163. data/test/test_referer.rb +81 -0
  164. data/test/test_relative_links.rb +40 -0
  165. data/test/test_request.rb +13 -0
  166. data/test/test_response_code.rb +53 -0
  167. data/test/test_robots.rb +72 -0
  168. data/test/test_save_file.rb +48 -0
  169. data/test/test_scheme.rb +48 -0
  170. data/test/test_select.rb +119 -0
  171. data/test/test_select_all.rb +15 -0
  172. data/test/test_select_none.rb +15 -0
  173. data/test/test_select_noopts.rb +18 -0
  174. data/test/test_set_fields.rb +44 -0
  175. data/test/test_ssl_server.rb +20 -0
  176. metadata +360 -0
@@ -0,0 +1,11 @@
1
+ <html>
2
+ <meta http-equiv="Set-Cookie" content="tender=live;expires=Sun, 27-Sep-2037 00:00:00 GMT; path=/">
3
+ <body>
4
+ <a href="alt_text.html"><img alt="alt text" src="hello"></a>
5
+ <a href="no_alt_text.html"><img src="hello"></a>
6
+ <a href="nil_alt_text.html"><img alt src="hello"></a>
7
+ <a href="no_image.html">no image</a>
8
+ <a href="no_text.html"></a>
9
+ </body>
10
+ </html>
11
+
@@ -0,0 +1,6 @@
1
+ <html>
2
+ <title></title>
3
+ <body>
4
+ No title in the title tag
5
+ </body>
6
+ </html>
@@ -0,0 +1,9 @@
1
+ <html>
2
+ <head>
3
+ <title>nofollow test</title>
4
+ <meta name="ROBOTS" content="nofollow">
5
+ </head>
6
+ <body>
7
+ <p>Do not follow <a href="/robots.html">this</a> or <a href="/">this</a>!</p>
8
+ </body>
9
+ </html>
@@ -0,0 +1,9 @@
1
+ <html>
2
+ <head>
3
+ <title>noindex test</title>
4
+ <meta name="ROBOTS" content="noarchive,noindex">
5
+ </head>
6
+ <body>
7
+ <p>Do not index nor archive this page!</p>
8
+ </body>
9
+ </html>
@@ -0,0 +1,8 @@
1
+ <html>
2
+ <head>
3
+ <title>No Robots!</title>
4
+ </head>
5
+ <body>
6
+ <p>Go home, robot!</p>
7
+ </body>
8
+ </html>
@@ -0,0 +1,27 @@
1
+ <html>
2
+ <head>
3
+ <meta name="csrf-param" content="authenticity_token"/>
4
+ <meta name="csrf-token" content="+6MKmkYpUcOC7ClPngk3FMTDL1Yc0cU1sS9800eeAPA="/>
5
+ </head>
6
+ <body>
7
+
8
+ <form accept-charset="UTF-8" action="/form_post" class="new_user_session" id="new_user_session" method="post">
9
+ <div style="margin:0;padding:0;display:inline">
10
+ <input name="utf8" type="hidden" value="&#x2713;" />
11
+ <input name="authenticity_token" type="hidden" value="+6MKmkYpUcOC7ClPngk3FMTDL1Yc0cU1sS9800eeAPA=" />
12
+ </div>
13
+ <div class='field'>
14
+ <label for="user_session_email">Email</label>
15
+ <input id="user_session_email" name="user_session[email]" size="30" type="text" />
16
+ </div>
17
+ <div class='field'>
18
+ <label for="user_session_password">Password</label>
19
+ <input id="user_session_password" name="user_session[password]" size="30" type="password" />
20
+ </div>
21
+ <div class='buttons'>
22
+ <input id="user_session_submit" name="commit" type="submit" value="Login" />
23
+ </div>
24
+ </form>
25
+
26
+ </body>
27
+ </html>
@@ -0,0 +1,8 @@
1
+ <html>
2
+ <head>
3
+ <title>rel_nofollow test</title>
4
+ </head>
5
+ <body>
6
+ <p>You can follow <a href="/robots.html">this link</a> but not <a href="/" rel="me nofollow">this</a>!</p>
7
+ </body>
8
+ </html>
@@ -0,0 +1,21 @@
1
+ <html>
2
+ <body>
3
+ <a href="../tc_relative_links.html">dot dot slash</a>
4
+ <a href="../../../../../tc_relative_links.html">too many dots</a>
5
+ <FRAMESET cols="20%, 80%">
6
+ <FRAMESET rows="100, 200, 200">
7
+ <FRAME name="frame1" src="../tc_relative_links.html">
8
+ <FRAME name="frame2" src="../tc_relative_links.html">
9
+ </FRAMESET>
10
+ <FRAMESET rows="100, 200">
11
+ <FRAME name="frame3" src="/file_upload.html">
12
+ <IFRAME src="http://google.com/" name="frame4">
13
+ [Your user agent does not support frames or is currently configured
14
+ not to display frames. However, you may visit
15
+ <A href="foo.html">the related document.</A>]
16
+ <a href="?a=b">just the query string</A>
17
+ </IFRAME>
18
+ </FRAMESET>
19
+ </FRAMESET>
20
+ </body>
21
+ </html>
@@ -0,0 +1,8 @@
1
+ <html>
2
+ <head>
3
+ <title>Welcome!</title>
4
+ </head>
5
+ <body>
6
+ <p>Welcome, robot!</p>
7
+ </body>
8
+ </html>
@@ -0,0 +1,2 @@
1
+ User-Agent: *
2
+ Disallow: /norobots
@@ -0,0 +1,9 @@
1
+ <!-- correct encoding: ISO-8859-2 -->
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1255"/>
5
+ </head>
6
+ <body>
7
+ <p>Bia�ystok</p>
8
+ </body>
9
+ </html>
@@ -0,0 +1,5 @@
1
+ <html>
2
+ <body>
3
+ <a href="/alt_text.html ">Alt Text</a>
4
+ </body>
5
+ </html>
@@ -0,0 +1,10 @@
1
+ <html>
2
+ <head>
3
+ <base href="http://localhost/">
4
+ </head>
5
+ <body>
6
+ <img src="a.jpg">
7
+ <img src="b.gif">
8
+ </body>
9
+ </html>
10
+
@@ -0,0 +1,8 @@
1
+ <html>
2
+ <head>
3
+ <base href="http://localhost/">
4
+ </head>
5
+ <body>
6
+ <a href="index.html">test</a>
7
+ </body>
8
+ </html>
@@ -0,0 +1,11 @@
1
+ <html>
2
+ <body>
3
+ <form name="test" method="post">
4
+ <input type="hidden" name="hidden_blank" value=''/>
5
+ <input type="hidden" name="hidden_noval"/>
6
+ <input type="text" name="visible_blank" value=''/>
7
+ <input type="text" name="visible_noval"/>
8
+ <input type="submit"/>
9
+ </form>
10
+ </body>
11
+ </html>
@@ -0,0 +1,6 @@
1
+ <html>
2
+ <head>
3
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1255"/>
4
+ </head>
5
+ <body></body>
6
+ </html>
@@ -0,0 +1,19 @@
1
+ <html>
2
+ <head><title>tc_checkboxbuttons.html</title></head>
3
+ <body>
4
+ <form name="form1" method="post" action="/form_post">
5
+ Gender:<br />
6
+ M: <input type="checkbox" name="male" /><br />
7
+ F: <input type="checkbox" name="female" /><br />
8
+ Your one favorite color:<br />
9
+ Green: <input type="checkbox" name="green" /><br />
10
+ Green: <input type="checkbox" name="green" /><br />
11
+ Red: <input type="checkbox" name="red" /><br />
12
+ Blue: <input type="checkbox" name="blue" /><br />
13
+ Yellow: <input type="checkbox" name="yellow" /><br />
14
+ Brown: <input type="checkbox" name="brown" /><br />
15
+ Purple: <input type="checkbox" name="purple" /><br />
16
+ <input type="submit" value="Submit" />
17
+ </form>
18
+ </body>
19
+ </html>
@@ -0,0 +1,5 @@
1
+ <html>
2
+ <body>
3
+ <a href="/form_post?a=b&amp;b=c">test link</a>
4
+ </body>
5
+ </html>
@@ -0,0 +1,11 @@
1
+ <html>
2
+ <head><title>tc_field_precedence.html</title></head>
3
+ <body>
4
+ <form name="form1" method="post" action="/form_post">
5
+ Ticky?
6
+ <input type="checkbox" id="ticky" name="ticky" value="1" checked="checked"/>
7
+ <input type="hidden" name="ticky" value="0" />
8
+ <input type="submit" value="Submit" />
9
+ </form>
10
+ </body>
11
+ </html>
@@ -0,0 +1,8 @@
1
+ <html>
2
+ <head>
3
+ <meta http-equiv="refresh" content="0; url=http://localhost/index.html">
4
+ </head>
5
+ <body>
6
+ This page has a meta refresh.
7
+ </body>
8
+ </html>
@@ -0,0 +1,48 @@
1
+ <html>
2
+ <head><title>Page Title</title></head>
3
+ <body>
4
+ <h1>Post Form 1</h1>
5
+ <form name="post_form1" method="post" action="/form_post?a=b&amp;b=c">
6
+ <table>
7
+ <tr>
8
+ <td>First Name</td>
9
+ <td><input type="text" name="first_name" /></td>
10
+ </tr>
11
+ </table><br />
12
+ <input type="submit" value="Submit" />
13
+ </form>
14
+
15
+ <h1>Post Form 2</h1>
16
+ <form name="post_form2" method="get" action="/form_post?a=b&amp;b=c">
17
+ <table>
18
+ <tr>
19
+ <td>First Name</td>
20
+ <td><input type="text" name="first_name" /></td>
21
+ </tr>
22
+ </table><br />
23
+ <input type="submit" value="Submit" />
24
+ </form>
25
+
26
+ <h1>Post Form 3</h1>
27
+ <form name="post_form3" method="post" action="/form_post?a=b&b=c">
28
+ <table>
29
+ <tr>
30
+ <td>First Name</td>
31
+ <td><input type="text" name="first_name" /></td>
32
+ </tr>
33
+ </table><br />
34
+ <input type="submit" value="Submit" />
35
+ </form>
36
+
37
+ <h1>Post Form 4</h1>
38
+ <form name="post_form4" method="post" action="/form_post#1">
39
+ <table>
40
+ <tr>
41
+ <td>First Name</td>
42
+ <td><input type="text" name="first_name" /></td>
43
+ </tr>
44
+ </table><br />
45
+ <input type="submit" value="Submit" />
46
+ </form>
47
+ </body>
48
+ </html>
@@ -0,0 +1,8 @@
1
+ <html>
2
+ <head>
3
+ </head>
4
+ <body>
5
+ <img src="a.jpg">
6
+ <img src="b.gif">
7
+ </body>
8
+ </html>
@@ -0,0 +1,18 @@
1
+ <html>
2
+ <body>
3
+ <a href="thing.html"><b>Bold Dude</b></a>
4
+ <a href="thing.html" rel="nofollow">Dude</a>
5
+ <a href="thing.html" rel="me">Aaron <b>James</b> Patterson</a>
6
+ <a href="thing.html" id="bold_aaron_link" rel="me nofollow"><b>Aaron</b> Patterson</a>
7
+ <a href="thing.html">Ruby <b>Rocks!</b></a>
8
+ <!-- Testing a bug with escaped stuff in links:
9
+ http://rubyforge.org/pipermail/mechanize-users/2006-September/000002.html
10
+ -->
11
+ <a href="link%20with%20space.html">encoded space</a>
12
+ <a href="link with space.html">not encoded space</a>
13
+ <!-- End escaped bug -->
14
+ <a href="unusual&&%3F%3F%23%23.html">unusual characters</a>
15
+
16
+ <a href="javascript:new_page('1')">javascript link</a>
17
+ </body>
18
+ </html>
@@ -0,0 +1,9 @@
1
+ <html>
2
+ <head>
3
+ </head>
4
+ <body>
5
+ This page has a meta refresh.
6
+ <meta http-equiv="refresh" content="0; url=http://localhost/index.html">
7
+ </body>
8
+ </html>
9
+
@@ -0,0 +1,16 @@
1
+ <html>
2
+ <meta>
3
+ <head><title></title>
4
+ <body>
5
+ <a>Hello</a>
6
+ <a><img /></a>
7
+ <form>
8
+ <input />
9
+ <select>
10
+ <option />
11
+ </select>
12
+ <textarea></textarea>
13
+ </form>
14
+ <frame></frame>
15
+ </body>
16
+ </html>
@@ -0,0 +1,17 @@
1
+ <html>
2
+ <head><title>tc_pretty_print.html</title></head>
3
+ <body>
4
+ <a href="http://google.com/">Google</a><br />
5
+ <form method="post" action="/form_post" name="form1">
6
+ <input type="text" name="first_name"/><br />
7
+ <input type="password" name="password" /><br />
8
+ <input type="hidden" name="secret" value="hey" />
9
+ <input type="checkbox" name="checkme" />
10
+ <input type="radio" name="r" value="one" /><br />
11
+ <input type="radio" name="r" value="two" /><br />
12
+ <input type="submit" value="Submit" />
13
+ </form>
14
+ <frame src="http://memepool.com/" />
15
+ <iframe src="http://memepool.com/" />
16
+ </body>
17
+ </html>
@@ -0,0 +1,17 @@
1
+ <html>
2
+ <head><title>tc_radiobuttons.html</title></head>
3
+ <body>
4
+ <form name="form1" method="post" action="/form_post">
5
+ Gender:<br />
6
+ M: <input type="radio" name="gender" value="male" /><br />
7
+ F: <input type="radio" name="gender" value="female" /><br />
8
+ Your one favorite color:<br />
9
+ Green: <input type="radio" name="color" value="green" /><br />
10
+ Red: <input type="radio" name="color" value="red" /><br />
11
+ Blue: <input type="radio" name="color" value="blue" /><br />
12
+ Yellow: <input type="radio" name="color" value="yellow" /><br />
13
+ Brown: <input type="radio" name="color" value="brown" /><br />
14
+ <input type="submit" value="Submit" />
15
+ </form>
16
+ </body>
17
+ </html>
@@ -0,0 +1,16 @@
1
+ <html>
2
+ <body>
3
+ <a href="/referer">Referer Servlet</a>
4
+ <a href="http://localhost/referer">Referer Servlet forced to http</a>
5
+ <a href="https://localhost/referer">Referer Servlet forced to https</a>
6
+ <br />
7
+ <a href="/referer" rel="noreferrer">Referer Servlet (noreferrer)</a>
8
+ <a href="http://localhost/referer" rel="noreferrer">Referer Servlet forced to http (noreferrer)</a>
9
+ <a href="https://localhost/referer" rel="noreferrer">Referer Servlet forced to https (noreferrer)</a>
10
+ <br />
11
+ <form method="post" action="/referer">
12
+ <input type="text" name="first" /></br>
13
+ <input type="submit" value="Submit" />
14
+ </form>
15
+ </body>
16
+ </html>
@@ -0,0 +1,19 @@
1
+ <html>
2
+ <body>
3
+ <a href="relative/tc_relative_links.html">forward</a>
4
+ <FRAMESET cols="20%, 80%">
5
+ <FRAMESET rows="100, 200, 200">
6
+ <FRAME name="frame1" src="relative/tc_relative_links.html">
7
+ <FRAME name="frame2" src="relative/tc_relative_links.html">
8
+ </FRAMESET>
9
+ <FRAMESET rows="100, 200">
10
+ <FRAME name="frame3" src="/file_upload.html">
11
+ <IFRAME src="http://google.com/" name="frame4">
12
+ [Your user agent does not support frames or is currently configured
13
+ not to display frames. However, you may visit
14
+ <A href="foo.html">the related document.</A>]
15
+ </IFRAME>
16
+ </FRAMESET>
17
+ </FRAMESET>
18
+ </body>
19
+ </html>
@@ -0,0 +1,23 @@
1
+ <html>
2
+ <head><title>tc_textarea.html</title></head>
3
+ <body>
4
+ <form name="form1" method="post" action="/form_post">
5
+ <textarea name="text1"></textarea>
6
+ <br />
7
+ <input type="submit" value="Submit" />
8
+ </form>
9
+ <br />
10
+ <form name="form2" method="post" action="/form_post">
11
+ <textarea name="text1">sample text</textarea>
12
+ <br />
13
+ <input type="submit" value="Submit" />
14
+ </form>
15
+ <br />
16
+ <form name="form3" method="post" action="/form_post">
17
+ <textarea name="text1"></textarea>
18
+ <textarea name="text1">sample text</textarea>
19
+ <br />
20
+ <input type="submit" value="Submit" />
21
+ </form>
22
+ </body>
23
+ </html>