narf 0.5.1

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 (657) hide show
  1. data/ChangeLog +163 -0
  2. data/InstalledFiles +2227 -0
  3. data/README +124 -0
  4. data/TODO +88 -0
  5. data/bin/narftest +17 -0
  6. data/bug.rb +9 -0
  7. data/build.rb +314 -0
  8. data/build.rb~ +314 -0
  9. data/config.save +12 -0
  10. data/doc/apache_cgi.txt +17 -0
  11. data/doc/fastcgi.txt +19 -0
  12. data/doc/mod_ruby.txt +7 -0
  13. data/doc/rdoc/classes/Web.html +366 -0
  14. data/doc/rdoc/classes/Web.src/M000002.html +15 -0
  15. data/doc/rdoc/classes/Web.src/M000003.html +15 -0
  16. data/doc/rdoc/classes/Web.src/M000004.html +15 -0
  17. data/doc/rdoc/classes/Web.src/M000005.html +15 -0
  18. data/doc/rdoc/classes/Web.src/M000006.html +20 -0
  19. data/doc/rdoc/classes/Web.src/M000007.html +18 -0
  20. data/doc/rdoc/classes/Web.src/M000008.html +18 -0
  21. data/doc/rdoc/classes/Web.src/M000009.html +18 -0
  22. data/doc/rdoc/classes/Web.src/M000010.html +15 -0
  23. data/doc/rdoc/classes/Web.src/M000011.html +15 -0
  24. data/doc/rdoc/classes/Web.src/M000012.html +15 -0
  25. data/doc/rdoc/classes/Web/CGD.html +173 -0
  26. data/doc/rdoc/classes/Web/CGD.src/M000037.html +24 -0
  27. data/doc/rdoc/classes/Web/CGD.src/M000038.html +23 -0
  28. data/doc/rdoc/classes/Web/CGD.src/M000039.html +15 -0
  29. data/doc/rdoc/classes/Web/CGD.src/M000040.html +15 -0
  30. data/doc/rdoc/classes/Web/CGD.src/M000041.html +23 -0
  31. data/doc/rdoc/classes/Web/CGI.html +946 -0
  32. data/doc/rdoc/classes/Web/CGI.src/M000051.html +15 -0
  33. data/doc/rdoc/classes/Web/CGI.src/M000052.html +24 -0
  34. data/doc/rdoc/classes/Web/CGI.src/M000053.html +15 -0
  35. data/doc/rdoc/classes/Web/CGI.src/M000054.html +15 -0
  36. data/doc/rdoc/classes/Web/CGI.src/M000055.html +15 -0
  37. data/doc/rdoc/classes/Web/CGI.src/M000056.html +15 -0
  38. data/doc/rdoc/classes/Web/CGI.src/M000057.html +17 -0
  39. data/doc/rdoc/classes/Web/CGI.src/M000058.html +34 -0
  40. data/doc/rdoc/classes/Web/CGI.src/M000059.html +22 -0
  41. data/doc/rdoc/classes/Web/CGI.src/M000060.html +15 -0
  42. data/doc/rdoc/classes/Web/CGI.src/M000061.html +15 -0
  43. data/doc/rdoc/classes/Web/CGI.src/M000062.html +19 -0
  44. data/doc/rdoc/classes/Web/CGI.src/M000063.html +18 -0
  45. data/doc/rdoc/classes/Web/CGI.src/M000064.html +19 -0
  46. data/doc/rdoc/classes/Web/CGI.src/M000065.html +15 -0
  47. data/doc/rdoc/classes/Web/CGI.src/M000066.html +15 -0
  48. data/doc/rdoc/classes/Web/CGI.src/M000067.html +15 -0
  49. data/doc/rdoc/classes/Web/CGI.src/M000068.html +13 -0
  50. data/doc/rdoc/classes/Web/CGI.src/M000069.html +13 -0
  51. data/doc/rdoc/classes/Web/CGI.src/M000070.html +13 -0
  52. data/doc/rdoc/classes/Web/CGI.src/M000071.html +13 -0
  53. data/doc/rdoc/classes/Web/CGI.src/M000072.html +19 -0
  54. data/doc/rdoc/classes/Web/CGI.src/M000073.html +15 -0
  55. data/doc/rdoc/classes/Web/CGI.src/M000074.html +19 -0
  56. data/doc/rdoc/classes/Web/CGI.src/M000075.html +15 -0
  57. data/doc/rdoc/classes/Web/CGI.src/M000076.html +15 -0
  58. data/doc/rdoc/classes/Web/CGI.src/M000077.html +15 -0
  59. data/doc/rdoc/classes/Web/CGI.src/M000078.html +20 -0
  60. data/doc/rdoc/classes/Web/CGI.src/M000079.html +36 -0
  61. data/doc/rdoc/classes/Web/CGI.src/M000080.html +19 -0
  62. data/doc/rdoc/classes/Web/CGI.src/M000081.html +18 -0
  63. data/doc/rdoc/classes/Web/CGI.src/M000082.html +15 -0
  64. data/doc/rdoc/classes/Web/CGI.src/M000083.html +17 -0
  65. data/doc/rdoc/classes/Web/CGI.src/M000084.html +15 -0
  66. data/doc/rdoc/classes/Web/CGI.src/M000085.html +16 -0
  67. data/doc/rdoc/classes/Web/CGI.src/M000086.html +15 -0
  68. data/doc/rdoc/classes/Web/CGI.src/M000087.html +15 -0
  69. data/doc/rdoc/classes/Web/CGI.src/M000088.html +15 -0
  70. data/doc/rdoc/classes/Web/CGI.src/M000089.html +16 -0
  71. data/doc/rdoc/classes/Web/CGI.src/M000090.html +15 -0
  72. data/doc/rdoc/classes/Web/CGI.src/M000091.html +15 -0
  73. data/doc/rdoc/classes/Web/CGI.src/M000092.html +15 -0
  74. data/doc/rdoc/classes/Web/CGI.src/M000093.html +15 -0
  75. data/doc/rdoc/classes/Web/CGI.src/M000094.html +15 -0
  76. data/doc/rdoc/classes/Web/CGI.src/M000095.html +15 -0
  77. data/doc/rdoc/classes/Web/CGI.src/M000096.html +19 -0
  78. data/doc/rdoc/classes/Web/CGI.src/M000097.html +15 -0
  79. data/doc/rdoc/classes/Web/CGI.src/M000098.html +15 -0
  80. data/doc/rdoc/classes/Web/CGI.src/M000099.html +43 -0
  81. data/doc/rdoc/classes/Web/CGI.src/M000100.html +18 -0
  82. data/doc/rdoc/classes/Web/CGI.src/M000101.html +20 -0
  83. data/doc/rdoc/classes/Web/CGI.src/M000102.html +15 -0
  84. data/doc/rdoc/classes/Web/CGI.src/M000103.html +15 -0
  85. data/doc/rdoc/classes/Web/CGI.src/M000104.html +15 -0
  86. data/doc/rdoc/classes/Web/CGI.src/M000105.html +24 -0
  87. data/doc/rdoc/classes/Web/CGI.src/M000106.html +24 -0
  88. data/doc/rdoc/classes/Web/CGI.src/M000107.html +22 -0
  89. data/doc/rdoc/classes/Web/CaseInsensitiveHash.html +104 -0
  90. data/doc/rdoc/classes/Web/CaseInsensitiveHash.src/M000118.html +15 -0
  91. data/doc/rdoc/classes/Web/CaseInsensitiveHash.src/M000119.html +15 -0
  92. data/doc/rdoc/classes/Web/CaseInsensitiveHash.src/M000120.html +15 -0
  93. data/doc/rdoc/classes/Web/Mime.html +122 -0
  94. data/doc/rdoc/classes/Web/Mime.src/M000118.html +15 -0
  95. data/doc/rdoc/classes/Web/Mime.src/M000119.html +15 -0
  96. data/doc/rdoc/classes/Web/Mime.src/M000120.html +23 -0
  97. data/doc/rdoc/classes/Web/Mime.src/M000121.html +15 -0
  98. data/doc/rdoc/classes/Web/Mime.src/M000122.html +15 -0
  99. data/doc/rdoc/classes/Web/Mime.src/M000123.html +23 -0
  100. data/doc/rdoc/classes/Web/Mime.src/M000124.html +15 -0
  101. data/doc/rdoc/classes/Web/Narflates.html +132 -0
  102. data/doc/rdoc/classes/Web/Parser.html +219 -0
  103. data/doc/rdoc/classes/Web/Parser.src/M000013.html +21 -0
  104. data/doc/rdoc/classes/Web/Parser.src/M000014.html +19 -0
  105. data/doc/rdoc/classes/Web/Parser.src/M000015.html +21 -0
  106. data/doc/rdoc/classes/Web/Parser.src/M000016.html +15 -0
  107. data/doc/rdoc/classes/Web/Parser.src/M000017.html +30 -0
  108. data/doc/rdoc/classes/Web/Parser.src/M000018.html +15 -0
  109. data/doc/rdoc/classes/Web/Parser.src/M000019.html +19 -0
  110. data/doc/rdoc/classes/Web/Parser.src/M000020.html +27 -0
  111. data/doc/rdoc/classes/Web/Parser.src/M000021.html +15 -0
  112. data/doc/rdoc/classes/Web/Parser.src/M000022.html +16 -0
  113. data/doc/rdoc/classes/Web/Parser.src/M000023.html +18 -0
  114. data/doc/rdoc/classes/Web/Session.html +178 -0
  115. data/doc/rdoc/classes/Web/Session.src/M000042.html +20 -0
  116. data/doc/rdoc/classes/Web/Session.src/M000043.html +19 -0
  117. data/doc/rdoc/classes/Web/Session.src/M000044.html +21 -0
  118. data/doc/rdoc/classes/Web/Session.src/M000045.html +21 -0
  119. data/doc/rdoc/classes/Web/Session.src/M000046.html +15 -0
  120. data/doc/rdoc/classes/Web/Session.src/M000047.html +17 -0
  121. data/doc/rdoc/classes/Web/Session.src/M000048.html +15 -0
  122. data/doc/rdoc/classes/Web/Session.src/M000049.html +15 -0
  123. data/doc/rdoc/classes/Web/Session.src/M000050.html +16 -0
  124. data/doc/rdoc/classes/Web/Testing.html +474 -0
  125. data/doc/rdoc/classes/Web/Testing.src/M000024.html +15 -0
  126. data/doc/rdoc/classes/Web/Testing.src/M000025.html +25 -0
  127. data/doc/rdoc/classes/Web/Testing.src/M000026.html +15 -0
  128. data/doc/rdoc/classes/Web/Testing.src/M000027.html +28 -0
  129. data/doc/rdoc/classes/Web/Testing.src/M000028.html +58 -0
  130. data/doc/rdoc/classes/Web/Testing.src/M000029.html +15 -0
  131. data/doc/rdoc/classes/Web/Testing.src/M000030.html +15 -0
  132. data/doc/rdoc/classes/Web/Testing.src/M000031.html +15 -0
  133. data/doc/rdoc/classes/Web/Testing.src/M000032.html +15 -0
  134. data/doc/rdoc/classes/Web/Testing.src/M000033.html +15 -0
  135. data/doc/rdoc/classes/Web/Testing.src/M000034.html +15 -0
  136. data/doc/rdoc/classes/Web/Testing.src/M000035.html +15 -0
  137. data/doc/rdoc/classes/Web/Testing.src/M000036.html +18 -0
  138. data/doc/rdoc/classes/Web/Upload.html +160 -0
  139. data/doc/rdoc/classes/Web/Upload.src/M000108.html +25 -0
  140. data/doc/rdoc/classes/Web/Upload.src/M000109.html +18 -0
  141. data/doc/rdoc/classes/Web/Upload.src/M000110.html +16 -0
  142. data/doc/rdoc/classes/Web/Upload.src/M000111.html +16 -0
  143. data/doc/rdoc/classes/Web/Wiki.html +249 -0
  144. data/doc/rdoc/classes/Web/Wiki.src/M000112.html +25 -0
  145. data/doc/rdoc/classes/Web/Wiki.src/M000113.html +15 -0
  146. data/doc/rdoc/classes/Web/Wiki.src/M000114.html +26 -0
  147. data/doc/rdoc/classes/Web/Wiki.src/M000115.html +21 -0
  148. data/doc/rdoc/classes/Web/Wiki.src/M000116.html +18 -0
  149. data/doc/rdoc/classes/Web/Wiki.src/M000117.html +19 -0
  150. data/doc/rdoc/created.rid +1 -0
  151. data/doc/rdoc/files/README.html +226 -0
  152. data/doc/rdoc/files/doc/apache_cgi_txt.html +82 -0
  153. data/doc/rdoc/files/doc/fastcgi_txt.html +82 -0
  154. data/doc/rdoc/files/doc/mod_ruby_txt.html +62 -0
  155. data/doc/rdoc/files/doc/webrick_txt.html +79 -0
  156. data/doc/rdoc/files/examples/examples_rdoc.html +73 -0
  157. data/doc/rdoc/files/lib/web/cgi_rb.html +75 -0
  158. data/doc/rdoc/files/lib/web/mime_rb.html +67 -0
  159. data/doc/rdoc/files/lib/web/parser_rb.html +73 -0
  160. data/doc/rdoc/files/lib/web/session_rb.html +73 -0
  161. data/doc/rdoc/files/lib/web/template_rb.html +73 -0
  162. data/doc/rdoc/files/lib/web/testing_rb.html +67 -0
  163. data/doc/rdoc/files/lib/web/upload_rb.html +73 -0
  164. data/doc/rdoc/files/lib/web/wiki_rb.html +79 -0
  165. data/doc/rdoc/files/lib/web_rb.html +116 -0
  166. data/doc/rdoc/files/lib/web_rb.src/M000001.html +15 -0
  167. data/doc/rdoc/fr_class_index.html +47 -0
  168. data/doc/rdoc/fr_file_index.html +52 -0
  169. data/doc/rdoc/fr_method_index.html +158 -0
  170. data/doc/rdoc/index.html +22 -0
  171. data/doc/rdoc/rdoc-style.css +99 -0
  172. data/doc/webrick.txt +23 -0
  173. data/examples/admin.rb +8 -0
  174. data/examples/admin.rb~ +5 -0
  175. data/examples/cookbook.rdoc +247 -0
  176. data/examples/cookbook.rdoc~ +238 -0
  177. data/examples/examples.rdoc +19 -0
  178. data/examples/examples.rdoc~ +17 -0
  179. data/examples/hello.world.rb +5 -0
  180. data/examples/hello.world.rb~ +3 -0
  181. data/examples/session.rb +34 -0
  182. data/examples/session.rb~ +31 -0
  183. data/examples/test/test.hello.world.rb +9 -0
  184. data/examples/test/test.hello.world.rb~ +9 -0
  185. data/examples/test/test.session.rb +37 -0
  186. data/examples/test/test.session.rb~ +37 -0
  187. data/examples/webunit/COPYING +340 -0
  188. data/examples/webunit/Makefile +14 -0
  189. data/examples/webunit/TIPS-ja.html +126 -0
  190. data/examples/webunit/TIPS-ja.rd +154 -0
  191. data/examples/webunit/TODO-ja.html +35 -0
  192. data/examples/webunit/TODO-ja.rd +28 -0
  193. data/examples/webunit/changes.rd +185 -0
  194. data/examples/webunit/conv/digit-0.cgi +40 -0
  195. data/examples/webunit/conv/digit-0.rb +21 -0
  196. data/examples/webunit/conv/digit-1.cgi +44 -0
  197. data/examples/webunit/conv/digit-1.rb +17 -0
  198. data/examples/webunit/conv/digit.cgi +59 -0
  199. data/examples/webunit/conv/digit.rb +23 -0
  200. data/examples/webunit/conv/test_digit-0.rb +16 -0
  201. data/examples/webunit/conv/test_digit-1.rb +19 -0
  202. data/examples/webunit/conv/test_digit.rb +26 -0
  203. data/examples/webunit/conv/test_digit_view-0.rb +76 -0
  204. data/examples/webunit/conv/test_digit_view-1.rb +102 -0
  205. data/examples/webunit/conv/test_digit_view.rb +134 -0
  206. data/examples/webunit/example.rd +37 -0
  207. data/examples/webunit/index-en.html +263 -0
  208. data/examples/webunit/index-en.rd +60 -0
  209. data/examples/webunit/index-ja.html +263 -0
  210. data/examples/webunit/index-ja.rd +60 -0
  211. data/examples/wiki.rb +7 -0
  212. data/examples/wiki.rb~ +5 -0
  213. data/install.rb +1022 -0
  214. data/lib/web.rb +290 -0
  215. data/lib/web.rb~ +290 -0
  216. data/lib/web/#assertinclude.rb# +110 -0
  217. data/lib/web/action.rb +82 -0
  218. data/lib/web/assertinclude.rb +110 -0
  219. data/lib/web/assertinclude.rb~ +110 -0
  220. data/lib/web/buffer.rb +20 -0
  221. data/lib/web/cgi.rb +641 -0
  222. data/lib/web/cgi.rb~ +640 -0
  223. data/lib/web/formreader.rb +317 -0
  224. data/lib/web/forms.rb +104 -0
  225. data/lib/web/htmlparser/html-parser.rb +429 -0
  226. data/lib/web/htmlparser/html-parser.rb~ +429 -0
  227. data/lib/web/htmlparser/sgml-parser.rb +332 -0
  228. data/lib/web/htmlparser/sgml-parser.rb~ +332 -0
  229. data/lib/web/htmltools/element.rb +296 -0
  230. data/lib/web/htmltools/element.rb~ +296 -0
  231. data/lib/web/htmltools/stparser.rb +276 -0
  232. data/lib/web/htmltools/stparser.rb~ +276 -0
  233. data/lib/web/htmltools/tags.rb +286 -0
  234. data/lib/web/htmltools/tags.rb~ +286 -0
  235. data/lib/web/htmltools/tree.rb +139 -0
  236. data/lib/web/htmltools/tree.rb~ +139 -0
  237. data/lib/web/htmltools/xmltree.rb +160 -0
  238. data/lib/web/htmltools/xmltree.rb~ +160 -0
  239. data/lib/web/htmltools/xpath.rb +71 -0
  240. data/lib/web/htmltools/xpath.rb~ +71 -0
  241. data/lib/web/mime.rb +82 -0
  242. data/lib/web/parser.rb +266 -0
  243. data/lib/web/parser.rb~ +266 -0
  244. data/lib/web/request.rb~ +238 -0
  245. data/lib/web/resources/mime.types +483 -0
  246. data/lib/web/runner.rb +26 -0
  247. data/lib/web/runner.rb~ +26 -0
  248. data/lib/web/sapi/fastcgi.rb +26 -0
  249. data/lib/web/sapi/fastcgi.rb~ +25 -0
  250. data/lib/web/sapi/mod_ruby.rb +46 -0
  251. data/lib/web/sapi/mod_ruby.rb~ +46 -0
  252. data/lib/web/sapi/webrick.rb +91 -0
  253. data/lib/web/sapi/webrick.rb~ +89 -0
  254. data/lib/web/session.rb +75 -0
  255. data/lib/web/session.rb~ +75 -0
  256. data/lib/web/simpledispatcher.rb +155 -0
  257. data/lib/web/strscanparser.rb +24 -0
  258. data/lib/web/tagparser.rb +96 -0
  259. data/lib/web/tagparser.rb~ +96 -0
  260. data/lib/web/template.rb +613 -0
  261. data/lib/web/template.rb~ +613 -0
  262. data/lib/web/testing.rb +546 -0
  263. data/lib/web/testing.rb~ +546 -0
  264. data/lib/web/traceoutput.rb +32 -0
  265. data/lib/web/unit.rb +27 -0
  266. data/lib/web/unit/assert.rb +154 -0
  267. data/lib/web/unit/converter.rb +148 -0
  268. data/lib/web/unit/cookie.rb +120 -0
  269. data/lib/web/unit/domwalker.rb +187 -0
  270. data/lib/web/unit/exception.rb +15 -0
  271. data/lib/web/unit/form.rb +118 -0
  272. data/lib/web/unit/formatter.rb +314 -0
  273. data/lib/web/unit/frame.rb +39 -0
  274. data/lib/web/unit/html-parser.rb +432 -0
  275. data/lib/web/unit/htmlelem.rb +124 -0
  276. data/lib/web/unit/htmlrepair.rb +116 -0
  277. data/lib/web/unit/htmlsplit.rb +840 -0
  278. data/lib/web/unit/image.rb +27 -0
  279. data/lib/web/unit/jscript.rb +32 -0
  280. data/lib/web/unit/link.rb +35 -0
  281. data/lib/web/unit/params.rb +323 -0
  282. data/lib/web/unit/parser.rb +226 -0
  283. data/lib/web/unit/resources/assert.html +101 -0
  284. data/lib/web/unit/resources/auth/index.html +5 -0
  285. data/lib/web/unit/resources/badtags.html +7 -0
  286. data/lib/web/unit/resources/cookie.cgi +33 -0
  287. data/lib/web/unit/resources/document.xml +13 -0
  288. data/lib/web/unit/resources/form.html +150 -0
  289. data/lib/web/unit/resources/frame-0.html +10 -0
  290. data/lib/web/unit/resources/frame-1.html +10 -0
  291. data/lib/web/unit/resources/frame.html +10 -0
  292. data/lib/web/unit/resources/image.html +17 -0
  293. data/lib/web/unit/resources/images/x.gif +0 -0
  294. data/lib/web/unit/resources/images/y.gif +0 -0
  295. data/lib/web/unit/resources/jscript-0.html +10 -0
  296. data/lib/web/unit/resources/jscript-1.html +10 -0
  297. data/lib/web/unit/resources/jscript.html +19 -0
  298. data/lib/web/unit/resources/link.html +19 -0
  299. data/lib/web/unit/resources/multipart.cgi +28 -0
  300. data/lib/web/unit/resources/multipart.html +74 -0
  301. data/lib/web/unit/resources/params.html +65 -0
  302. data/lib/web/unit/resources/redirect.cgi +13 -0
  303. data/lib/web/unit/resources/response.html +67 -0
  304. data/lib/web/unit/resources/simple.cgi +14 -0
  305. data/lib/web/unit/resources/stock.cgi +35 -0
  306. data/lib/web/unit/resources/table.html +83 -0
  307. data/lib/web/unit/response.rb +469 -0
  308. data/lib/web/unit/response.rb~ +461 -0
  309. data/lib/web/unit/runtest.rb +44 -0
  310. data/lib/web/unit/sgml-parser.rb +336 -0
  311. data/lib/web/unit/table.rb +150 -0
  312. data/lib/web/unit/testcase.rb +49 -0
  313. data/lib/web/unit/ui/cui/testrunner.rb +52 -0
  314. data/lib/web/unit/ui/cui/testrunner.rb~ +50 -0
  315. data/lib/web/unit/utils.rb +70 -0
  316. data/lib/web/unit/webunit.rb +28 -0
  317. data/lib/web/upload.rb +55 -0
  318. data/lib/web/upload.rb~ +262 -0
  319. data/lib/web/wiki.rb +506 -0
  320. data/lib/web/wiki.rb~ +506 -0
  321. data/lib/web/wiki/linker.rb +72 -0
  322. data/lib/web/wiki/linker.rb~ +72 -0
  323. data/lib/web/wiki/mime.rb~ +68 -0
  324. data/lib/web/wiki/page.rb +192 -0
  325. data/lib/web/wiki/page.rb~ +192 -0
  326. data/lib/web/wiki/resources/#edit.html# +65 -0
  327. data/lib/web/wiki/resources/admin.html +13 -0
  328. data/lib/web/wiki/resources/admin.html~ +13 -0
  329. data/lib/web/wiki/resources/asset_history.html +3 -0
  330. data/lib/web/wiki/resources/basic.html +1 -0
  331. data/lib/web/wiki/resources/default-content_editor.html +1 -0
  332. data/lib/web/wiki/resources/default-content_editor.html~ +1 -0
  333. data/lib/web/wiki/resources/edit.html +1 -1
  334. data/lib/web/wiki/resources/edit.html~ +1 -1
  335. data/lib/web/wiki/resources/ekit-content_editor.html +1 -0
  336. data/lib/web/wiki/resources/home.html +10 -0
  337. data/lib/web/wiki/resources/home.html~ +10 -0
  338. data/lib/web/wiki/resources/htmlarea/ChangeLog +1185 -0
  339. data/lib/web/wiki/resources/htmlarea/dialog.js +72 -0
  340. data/lib/web/wiki/resources/htmlarea/examples/2-areas.cgi +16 -0
  341. data/lib/web/wiki/resources/htmlarea/examples/2-areas.html +158 -0
  342. data/lib/web/wiki/resources/htmlarea/examples/context-menu.html +95 -0
  343. data/lib/web/wiki/resources/htmlarea/examples/core.html +184 -0
  344. data/lib/web/wiki/resources/htmlarea/examples/css.html +88 -0
  345. data/lib/web/wiki/resources/htmlarea/examples/custom.css +29 -0
  346. data/lib/web/wiki/resources/htmlarea/examples/full-page.html +75 -0
  347. data/lib/web/wiki/resources/htmlarea/examples/fully-loaded.html +248 -0
  348. data/lib/web/wiki/resources/htmlarea/examples/index.html +40 -0
  349. data/lib/web/wiki/resources/htmlarea/examples/spell-checker.html +132 -0
  350. data/lib/web/wiki/resources/htmlarea/examples/table-operations.html +116 -0
  351. data/lib/web/wiki/resources/htmlarea/examples/test.cgi +21 -0
  352. data/lib/web/wiki/resources/htmlarea/htmlarea.css +180 -0
  353. data/lib/web/wiki/resources/htmlarea/htmlarea.js +2175 -0
  354. data/lib/web/wiki/resources/htmlarea/images/ed_about.gif +0 -0
  355. data/lib/web/wiki/resources/htmlarea/images/ed_align_center.gif +0 -0
  356. data/lib/web/wiki/resources/htmlarea/images/ed_align_justify.gif +0 -0
  357. data/lib/web/wiki/resources/htmlarea/images/ed_align_left.gif +0 -0
  358. data/lib/web/wiki/resources/htmlarea/images/ed_align_right.gif +0 -0
  359. data/lib/web/wiki/resources/htmlarea/images/ed_blank.gif +0 -0
  360. data/lib/web/wiki/resources/htmlarea/images/ed_charmap.gif +0 -0
  361. data/lib/web/wiki/resources/htmlarea/images/ed_color_bg.gif +0 -0
  362. data/lib/web/wiki/resources/htmlarea/images/ed_color_fg.gif +0 -0
  363. data/lib/web/wiki/resources/htmlarea/images/ed_copy.gif +0 -0
  364. data/lib/web/wiki/resources/htmlarea/images/ed_custom.gif +0 -0
  365. data/lib/web/wiki/resources/htmlarea/images/ed_cut.gif +0 -0
  366. data/lib/web/wiki/resources/htmlarea/images/ed_delete.gif +0 -0
  367. data/lib/web/wiki/resources/htmlarea/images/ed_format_bold.gif +0 -0
  368. data/lib/web/wiki/resources/htmlarea/images/ed_format_italic.gif +0 -0
  369. data/lib/web/wiki/resources/htmlarea/images/ed_format_strike.gif +0 -0
  370. data/lib/web/wiki/resources/htmlarea/images/ed_format_sub.gif +0 -0
  371. data/lib/web/wiki/resources/htmlarea/images/ed_format_sup.gif +0 -0
  372. data/lib/web/wiki/resources/htmlarea/images/ed_format_underline.gif +0 -0
  373. data/lib/web/wiki/resources/htmlarea/images/ed_help.gif +0 -0
  374. data/lib/web/wiki/resources/htmlarea/images/ed_hr.gif +0 -0
  375. data/lib/web/wiki/resources/htmlarea/images/ed_html.gif +0 -0
  376. data/lib/web/wiki/resources/htmlarea/images/ed_image.gif +0 -0
  377. data/lib/web/wiki/resources/htmlarea/images/ed_indent_less.gif +0 -0
  378. data/lib/web/wiki/resources/htmlarea/images/ed_indent_more.gif +0 -0
  379. data/lib/web/wiki/resources/htmlarea/images/ed_left_to_right.gif +0 -0
  380. data/lib/web/wiki/resources/htmlarea/images/ed_link.gif +0 -0
  381. data/lib/web/wiki/resources/htmlarea/images/ed_list_bullet.gif +0 -0
  382. data/lib/web/wiki/resources/htmlarea/images/ed_list_num.gif +0 -0
  383. data/lib/web/wiki/resources/htmlarea/images/ed_paste.gif +0 -0
  384. data/lib/web/wiki/resources/htmlarea/images/ed_redo.gif +0 -0
  385. data/lib/web/wiki/resources/htmlarea/images/ed_right_to_left.gif +0 -0
  386. data/lib/web/wiki/resources/htmlarea/images/ed_save.gif +0 -0
  387. data/lib/web/wiki/resources/htmlarea/images/ed_show_border.gif +0 -0
  388. data/lib/web/wiki/resources/htmlarea/images/ed_splitcel.gif +0 -0
  389. data/lib/web/wiki/resources/htmlarea/images/ed_undo.gif +0 -0
  390. data/lib/web/wiki/resources/htmlarea/images/fullscreen_maximize.gif +0 -0
  391. data/lib/web/wiki/resources/htmlarea/images/fullscreen_minimize.gif +0 -0
  392. data/lib/web/wiki/resources/htmlarea/images/insert_table.gif +0 -0
  393. data/lib/web/wiki/resources/htmlarea/index.html +199 -0
  394. data/lib/web/wiki/resources/htmlarea/lang/b5.js +36 -0
  395. data/lib/web/wiki/resources/htmlarea/lang/cz.js +63 -0
  396. data/lib/web/wiki/resources/htmlarea/lang/da.js +38 -0
  397. data/lib/web/wiki/resources/htmlarea/lang/de.js +54 -0
  398. data/lib/web/wiki/resources/htmlarea/lang/ee.js +63 -0
  399. data/lib/web/wiki/resources/htmlarea/lang/el.js +75 -0
  400. data/lib/web/wiki/resources/htmlarea/lang/en.js +88 -0
  401. data/lib/web/wiki/resources/htmlarea/lang/es.js +51 -0
  402. data/lib/web/wiki/resources/htmlarea/lang/fi.js +46 -0
  403. data/lib/web/wiki/resources/htmlarea/lang/fr.js +61 -0
  404. data/lib/web/wiki/resources/htmlarea/lang/gb.js +36 -0
  405. data/lib/web/wiki/resources/htmlarea/lang/he.js +63 -0
  406. data/lib/web/wiki/resources/htmlarea/lang/hu.js +63 -0
  407. data/lib/web/wiki/resources/htmlarea/lang/it.js +54 -0
  408. data/lib/web/wiki/resources/htmlarea/lang/ja-euc.js +37 -0
  409. data/lib/web/wiki/resources/htmlarea/lang/ja-jis.js +37 -0
  410. data/lib/web/wiki/resources/htmlarea/lang/ja-sjis.js +37 -0
  411. data/lib/web/wiki/resources/htmlarea/lang/ja-utf8.js +37 -0
  412. data/lib/web/wiki/resources/htmlarea/lang/lt.js +55 -0
  413. data/lib/web/wiki/resources/htmlarea/lang/lv.js +55 -0
  414. data/lib/web/wiki/resources/htmlarea/lang/nb.js +36 -0
  415. data/lib/web/wiki/resources/htmlarea/lang/nl.js +90 -0
  416. data/lib/web/wiki/resources/htmlarea/lang/no.js +79 -0
  417. data/lib/web/wiki/resources/htmlarea/lang/pl.js +36 -0
  418. data/lib/web/wiki/resources/htmlarea/lang/pt_br.js +37 -0
  419. data/lib/web/wiki/resources/htmlarea/lang/ro.js +80 -0
  420. data/lib/web/wiki/resources/htmlarea/lang/ru.js +63 -0
  421. data/lib/web/wiki/resources/htmlarea/lang/se.js +38 -0
  422. data/lib/web/wiki/resources/htmlarea/lang/si.js +63 -0
  423. data/lib/web/wiki/resources/htmlarea/lang/vn.js +51 -0
  424. data/lib/web/wiki/resources/htmlarea/license.txt +30 -0
  425. data/lib/web/wiki/resources/htmlarea/plugins/CSS/css.js +116 -0
  426. data/lib/web/wiki/resources/htmlarea/plugins/CSS/lang/en.js +2 -0
  427. data/lib/web/wiki/resources/htmlarea/plugins/ContextMenu/context-menu.js +416 -0
  428. data/lib/web/wiki/resources/htmlarea/plugins/ContextMenu/lang/de.js +59 -0
  429. data/lib/web/wiki/resources/htmlarea/plugins/ContextMenu/lang/el.js +57 -0
  430. data/lib/web/wiki/resources/htmlarea/plugins/ContextMenu/lang/en.js +66 -0
  431. data/lib/web/wiki/resources/htmlarea/plugins/ContextMenu/lang/nl.js +66 -0
  432. data/lib/web/wiki/resources/htmlarea/plugins/ContextMenu/menu.css +64 -0
  433. data/lib/web/wiki/resources/htmlarea/plugins/FullPage/full-page.js +143 -0
  434. data/lib/web/wiki/resources/htmlarea/plugins/FullPage/img/docprop.gif +0 -0
  435. data/lib/web/wiki/resources/htmlarea/plugins/FullPage/lang/en.js +25 -0
  436. data/lib/web/wiki/resources/htmlarea/plugins/FullPage/lang/ro.js +25 -0
  437. data/lib/web/wiki/resources/htmlarea/plugins/FullPage/popups/docprop.html +131 -0
  438. data/lib/web/wiki/resources/htmlarea/plugins/FullPage/test.html +89 -0
  439. data/lib/web/wiki/resources/htmlarea/plugins/SpellChecker/img/spell-check.gif +0 -0
  440. data/lib/web/wiki/resources/htmlarea/plugins/SpellChecker/lang/cz.js +37 -0
  441. data/lib/web/wiki/resources/htmlarea/plugins/SpellChecker/lang/da.js +37 -0
  442. data/lib/web/wiki/resources/htmlarea/plugins/SpellChecker/lang/de.js +28 -0
  443. data/lib/web/wiki/resources/htmlarea/plugins/SpellChecker/lang/en.js +38 -0
  444. data/lib/web/wiki/resources/htmlarea/plugins/SpellChecker/lang/hu.js +37 -0
  445. data/lib/web/wiki/resources/htmlarea/plugins/SpellChecker/lang/it.js +28 -0
  446. data/lib/web/wiki/resources/htmlarea/plugins/SpellChecker/lang/ro.js +37 -0
  447. data/lib/web/wiki/resources/htmlarea/plugins/SpellChecker/readme-tech.html +114 -0
  448. data/lib/web/wiki/resources/htmlarea/plugins/SpellChecker/spell-check-logic.cgi +210 -0
  449. data/lib/web/wiki/resources/htmlarea/plugins/SpellChecker/spell-check-style.css +10 -0
  450. data/lib/web/wiki/resources/htmlarea/plugins/SpellChecker/spell-check-ui.html +122 -0
  451. data/lib/web/wiki/resources/htmlarea/plugins/SpellChecker/spell-check-ui.js +397 -0
  452. data/lib/web/wiki/resources/htmlarea/plugins/SpellChecker/spell-checker.js +79 -0
  453. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/img/cell-delete.gif +0 -0
  454. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/img/cell-insert-after.gif +0 -0
  455. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/img/cell-insert-before.gif +0 -0
  456. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/img/cell-merge.gif +0 -0
  457. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/img/cell-prop.gif +0 -0
  458. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/img/cell-split.gif +0 -0
  459. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/img/col-delete.gif +0 -0
  460. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/img/col-insert-after.gif +0 -0
  461. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/img/col-insert-before.gif +0 -0
  462. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/img/col-split.gif +0 -0
  463. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/img/row-delete.gif +0 -0
  464. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/img/row-insert-above.gif +0 -0
  465. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/img/row-insert-under.gif +0 -0
  466. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/img/row-prop.gif +0 -0
  467. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/img/row-split.gif +0 -0
  468. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/img/table-prop.gif +0 -0
  469. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/lang/cz.js +90 -0
  470. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/lang/da.js +90 -0
  471. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/lang/de.js +81 -0
  472. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/lang/el.js +81 -0
  473. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/lang/en.js +90 -0
  474. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/lang/fi.js +66 -0
  475. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/lang/hu.js +63 -0
  476. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/lang/it.js +81 -0
  477. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/lang/nl.js +90 -0
  478. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/lang/no.js +91 -0
  479. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/lang/ro.js +90 -0
  480. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/table-operations.js +1160 -0
  481. data/lib/web/wiki/resources/htmlarea/popupdiv.js +369 -0
  482. data/lib/web/wiki/resources/htmlarea/popups/about.html +378 -0
  483. data/lib/web/wiki/resources/htmlarea/popups/blank.html +2 -0
  484. data/lib/web/wiki/resources/htmlarea/popups/custom2.html +35 -0
  485. data/lib/web/wiki/resources/htmlarea/popups/editor_help.html +16 -0
  486. data/lib/web/wiki/resources/htmlarea/popups/fullscreen.html +133 -0
  487. data/lib/web/wiki/resources/htmlarea/popups/insert_image.html +191 -0
  488. data/lib/web/wiki/resources/htmlarea/popups/insert_table.html +174 -0
  489. data/lib/web/wiki/resources/htmlarea/popups/link.html +142 -0
  490. data/lib/web/wiki/resources/htmlarea/popups/old-fullscreen.html +131 -0
  491. data/lib/web/wiki/resources/htmlarea/popups/old_insert_image.html +206 -0
  492. data/lib/web/wiki/resources/htmlarea/popups/popup.js +109 -0
  493. data/lib/web/wiki/resources/htmlarea/popups/select_color.html +347 -0
  494. data/lib/web/wiki/resources/htmlarea/popupwin.js +139 -0
  495. data/lib/web/wiki/resources/htmlarea/reference.html +523 -0
  496. data/lib/web/wiki/resources/htmlarea/release-notes.html +165 -0
  497. data/lib/web/wiki/resources/ie-content_editor.html +1 -0
  498. data/lib/web/wiki/resources/ie-content_editor.js +196 -0
  499. data/lib/web/wiki/resources/illustration.html +1 -0
  500. data/lib/web/wiki/resources/illustration.html~ +1 -0
  501. data/lib/web/wiki/resources/images.html +1 -0
  502. data/lib/web/wiki/resources/index.html +4 -0
  503. data/lib/web/wiki/resources/index.html~ +4 -0
  504. data/lib/web/wiki/resources/more_news.html +5 -0
  505. data/lib/web/wiki/resources/more_news.html~ +5 -0
  506. data/lib/web/wiki/resources/more_news_rss_0.91.html +23 -0
  507. data/lib/web/wiki/resources/narf-logo.gif +0 -0
  508. data/lib/web/wiki/resources/page_history.html +19 -0
  509. data/lib/web/wiki/resources/page_history.html~ +19 -0
  510. data/lib/web/wiki/resources/template.html +13 -0
  511. data/lib/web/wiki/resources/template.html~ +13 -0
  512. data/lib/web/wiki/resources/test_upload.gif +0 -0
  513. data/lib/web/wiki/resources/text-styles.css +1 -0
  514. data/lib/web/writableio.rb +33 -0
  515. data/narf-0.5.1.gem +0 -0
  516. data/narf.gemspec +40 -0
  517. data/narf.gemspec~ +52 -0
  518. data/pre-setup.rb +5 -0
  519. data/sapi/apache_cgi/INSTALL.txt~ +9 -0
  520. data/sapi/apache_cgi/README~ +0 -0
  521. data/sapi/apache_cgi/src/narf.c +13 -0
  522. data/sapi/fastcgi/INSTALL.txt~ +17 -0
  523. data/sapi/mod_ruby/INSTALL.txt~ +5 -0
  524. data/sapi/webrick/INSTALL.txt~ +21 -0
  525. data/sapi/webrick/run_webrick.rb~ +16 -0
  526. data/scripts/dump.rb +14 -0
  527. data/scripts/makedist.rb +49 -0
  528. data/scripts/upload.html +5 -0
  529. data/scripts/uri.rb +41 -0
  530. data/scripts/uri/common.rb +432 -0
  531. data/scripts/uri/ftp.rb +149 -0
  532. data/scripts/uri/generic.rb +1106 -0
  533. data/scripts/uri/http.rb +76 -0
  534. data/scripts/uri/https.rb +26 -0
  535. data/scripts/uri/ldap.rb +238 -0
  536. data/scripts/uri/mailto.rb +260 -0
  537. data/scripts/urireg.rb +174 -0
  538. data/test/bufferedtestrunner.rb +112 -0
  539. data/test/mod_ruby_stub.rb +39 -0
  540. data/test/mod_ruby_stub.rb~ +38 -0
  541. data/test/stringio.rb +2 -0
  542. data/test/test.action.rb +142 -0
  543. data/test/test.action.rb~ +142 -0
  544. data/test/test.app.rb +0 -0
  545. data/test/test.assertinclude.rb +109 -0
  546. data/test/test.assertinclude.rb~ +109 -0
  547. data/test/test.formreader-2.0.rb +352 -0
  548. data/test/test.formreader.rb +465 -0
  549. data/test/test.mime-type.rb +23 -0
  550. data/test/test.narf.cgi.rb +101 -0
  551. data/test/test.narf.cgi.rb~ +105 -0
  552. data/test/test.request.rb +328 -0
  553. data/test/test.request.rb~ +318 -0
  554. data/test/test.response.rb +565 -0
  555. data/test/test.response.rb~ +556 -0
  556. data/test/test.session.rb +50 -0
  557. data/test/test.simpledispatcher.rb +188 -0
  558. data/test/test.tagparser.rb +65 -0
  559. data/test/test.template.rb +831 -0
  560. data/test/test.template.rb~ +832 -0
  561. data/test/test.testing2.rb +341 -0
  562. data/test/test.web.test.rb +463 -0
  563. data/test/test.web.test.rb~ +461 -0
  564. data/test/testfiles/basictemplate.tpl +1 -0
  565. data/test/testfiles/explorer5.multipart.data +9 -0
  566. data/test/testfiles/form.html +7 -0
  567. data/test/testfiles/mozilla.multipart.data +9 -0
  568. data/test/testfiles/netscape4.multipart.data +9 -0
  569. data/test/testfiles/pic hydra.png +1 -0
  570. data/test/testfiles/post.data +1 -0
  571. data/test/testfiles/print.text +1 -0
  572. data/test/testfiles/text +1 -0
  573. data/test/webunit/dont_get_it.test_webunit.rb +27 -0
  574. data/test/webunit/ref +38 -0
  575. data/test/webunit/resources/uploadfile1.txt +1 -0
  576. data/test/webunit/resources/uploadfile2.txt +1 -0
  577. data/test/webunit/test_assert.rb +169 -0
  578. data/test/webunit/test_cookie.rb +128 -0
  579. data/test/webunit/test_cookie.rb~ +128 -0
  580. data/test/webunit/test_domwalker.rb +83 -0
  581. data/test/webunit/test_form.rb +43 -0
  582. data/test/webunit/test_form.rb~ +43 -0
  583. data/test/webunit/test_frame.rb +43 -0
  584. data/test/webunit/test_htmlelem.rb +75 -0
  585. data/test/webunit/test_image.rb +46 -0
  586. data/test/webunit/test_jscript.rb +58 -0
  587. data/test/webunit/test_link.rb +87 -0
  588. data/test/webunit/test_multipart.rb +53 -0
  589. data/test/webunit/test_multipart.rb~ +53 -0
  590. data/test/webunit/test_params.rb +212 -0
  591. data/test/webunit/test_params.rb~ +211 -0
  592. data/test/webunit/test_parser.rb +31 -0
  593. data/test/webunit/test_response.rb +145 -0
  594. data/test/webunit/test_response.rb~ +145 -0
  595. data/test/webunit/test_site/assert.html +101 -0
  596. data/test/webunit/test_site/assert.html~ +1 -0
  597. data/test/webunit/test_site/auth/index.html +5 -0
  598. data/test/webunit/test_site/auth/index.html~ +1 -0
  599. data/test/webunit/test_site/badtags.html +7 -0
  600. data/test/webunit/test_site/badtags.html~ +1 -0
  601. data/test/webunit/test_site/cookie.cgi +37 -0
  602. data/test/webunit/test_site/cookie.cgi~ +35 -0
  603. data/test/webunit/test_site/document.xml +13 -0
  604. data/test/webunit/test_site/document.xml~ +1 -0
  605. data/test/webunit/test_site/form.html +150 -0
  606. data/test/webunit/test_site/form.html~ +1 -0
  607. data/test/webunit/test_site/frame-0.html +10 -0
  608. data/test/webunit/test_site/frame-0.html~ +1 -0
  609. data/test/webunit/test_site/frame-1.html +10 -0
  610. data/test/webunit/test_site/frame-1.html~ +1 -0
  611. data/test/webunit/test_site/frame.html +10 -0
  612. data/test/webunit/test_site/frame.html~ +1 -0
  613. data/test/webunit/test_site/image.html +17 -0
  614. data/test/webunit/test_site/image.html~ +1 -0
  615. data/test/webunit/test_site/images/x.gif +0 -0
  616. data/test/webunit/test_site/images/y.gif +0 -0
  617. data/test/webunit/test_site/include.cgi~ +10 -0
  618. data/test/webunit/test_site/jscript-0.html +10 -0
  619. data/test/webunit/test_site/jscript-0.html~ +1 -0
  620. data/test/webunit/test_site/jscript-1.html +10 -0
  621. data/test/webunit/test_site/jscript-1.html~ +1 -0
  622. data/test/webunit/test_site/jscript.html +19 -0
  623. data/test/webunit/test_site/jscript.html~ +1 -0
  624. data/test/webunit/test_site/link.html +19 -0
  625. data/test/webunit/test_site/link.html~ +1 -0
  626. data/test/webunit/test_site/multipart.cgi +27 -0
  627. data/test/webunit/test_site/multipart.cgi~ +25 -0
  628. data/test/webunit/test_site/multipart.html +74 -0
  629. data/test/webunit/test_site/multipart.html~ +1 -0
  630. data/test/webunit/test_site/params.html +65 -0
  631. data/test/webunit/test_site/params.html~ +1 -0
  632. data/test/webunit/test_site/redirect.cgi +14 -0
  633. data/test/webunit/test_site/redirect.cgi~ +14 -0
  634. data/test/webunit/test_site/response.html +67 -0
  635. data/test/webunit/test_site/response.html~ +1 -0
  636. data/test/webunit/test_site/simple.cgi +17 -0
  637. data/test/webunit/test_site/simple.cgi~ +17 -0
  638. data/test/webunit/test_site/stock.cgi +36 -0
  639. data/test/webunit/test_site/stock.cgi~ +34 -0
  640. data/test/webunit/test_site/table.html +83 -0
  641. data/test/webunit/test_site/table.html~ +1 -0
  642. data/test/webunit/test_site/test.cgi~ +25 -0
  643. data/test/webunit/test_table.rb +70 -0
  644. data/test/webunit/test_utils.rb +107 -0
  645. data/test/wiki/test.history.rb +277 -0
  646. data/test/wiki/test.history.rb~ +254 -0
  647. data/test/wiki/test.illustration_page.rb +287 -0
  648. data/test/wiki/test.illustration_page.rb~ +287 -0
  649. data/test/wiki/test.linker.rb +197 -0
  650. data/test/wiki/test.tarpit.rb +40 -0
  651. data/test/wiki/test.wiki.rb +295 -0
  652. data/test/wiki/test.wiki.rb~ +295 -0
  653. data/test/wikitestroot/big_image.jpg +0 -0
  654. data/test/wikitestroot/mime.types +483 -0
  655. data/test/wikitestroot/test_upload.gif +0 -0
  656. data/vandals.test.txt +3 -0
  657. metadata +768 -0
@@ -0,0 +1,72 @@
1
+ // htmlArea v3.0 - Copyright (c) 2003-2004 interactivetools.com, inc.
2
+ // This copyright notice MUST stay intact for use (see license.txt).
3
+ //
4
+ // Portions (c) dynarch.com, 2003-2004
5
+ //
6
+ // A free WYSIWYG editor replacement for <textarea> fields.
7
+ // For full source code and docs, visit http://www.interactivetools.com/
8
+ //
9
+ // Version 3.0 developed by Mihai Bazon.
10
+ // http://dynarch.com/mishoo
11
+ //
12
+ // $Id: dialog.js,v 1.4 2004/01/28 09:42:55 mishoo Exp $
13
+
14
+ // Though "Dialog" looks like an object, it isn't really an object. Instead
15
+ // it's just namespace for protecting global symbols.
16
+
17
+ function Dialog(url, action, init) {
18
+ if (typeof init == "undefined") {
19
+ init = window; // pass this window object by default
20
+ }
21
+ Dialog._geckoOpenModal(url, action, init);
22
+ };
23
+
24
+ Dialog._parentEvent = function(ev) {
25
+ if (Dialog._modal && !Dialog._modal.closed) {
26
+ Dialog._modal.focus();
27
+ HTMLArea._stopEvent(ev);
28
+ }
29
+ };
30
+
31
+ // should be a function, the return handler of the currently opened dialog.
32
+ Dialog._return = null;
33
+
34
+ // constant, the currently opened dialog
35
+ Dialog._modal = null;
36
+
37
+ // the dialog will read it's args from this variable
38
+ Dialog._arguments = null;
39
+
40
+ Dialog._geckoOpenModal = function(url, action, init) {
41
+ var dlg = window.open(url, "hadialog",
42
+ "toolbar=no,menubar=no,personalbar=no,width=10,height=10," +
43
+ "scrollbars=no,resizable=yes");
44
+ Dialog._modal = dlg;
45
+ Dialog._arguments = init;
46
+
47
+ // capture some window's events
48
+ function capwin(w) {
49
+ HTMLArea._addEvent(w, "click", Dialog._parentEvent);
50
+ HTMLArea._addEvent(w, "mousedown", Dialog._parentEvent);
51
+ HTMLArea._addEvent(w, "focus", Dialog._parentEvent);
52
+ };
53
+ // release the captured events
54
+ function relwin(w) {
55
+ HTMLArea._removeEvent(w, "click", Dialog._parentEvent);
56
+ HTMLArea._removeEvent(w, "mousedown", Dialog._parentEvent);
57
+ HTMLArea._removeEvent(w, "focus", Dialog._parentEvent);
58
+ };
59
+ capwin(window);
60
+ // capture other frames
61
+ for (var i = 0; i < window.frames.length; capwin(window.frames[i++]));
62
+ // make up a function to be called when the Dialog ends.
63
+ Dialog._return = function (val) {
64
+ if (val && action) {
65
+ action(val);
66
+ }
67
+ relwin(window);
68
+ // capture other frames
69
+ for (var i = 0; i < window.frames.length; relwin(window.frames[i++]));
70
+ Dialog._modal = null;
71
+ };
72
+ };
@@ -0,0 +1,16 @@
1
+ #! /usr/bin/perl -w
2
+
3
+ use strict;
4
+ use CGI;
5
+
6
+ my $cgi = new CGI;
7
+ my $text1 = $cgi->param('text1');
8
+ my $text2 = $cgi->param('text2');
9
+
10
+ print "Content-type: text/html\n\n";
11
+
12
+ print "<p>You submitted:</p>";
13
+ print "<table border='1'>";
14
+ print "<thead><tr bgcolor='#cccccc'><td width='50%'>text1</td><td width='50%'>text2</td></tr></thead>";
15
+ print "<tbody><tr><td>$text1</td><td>$text2</td></tr></tbody>";
16
+ print "</table>";
@@ -0,0 +1,158 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5
+ <title>Example with 2 HTMLAreas in the same form</title>
6
+ <script type="text/javascript">
7
+ // the _editor_url is REQUIRED! don't forget to set it.
8
+ _editor_url = "../";
9
+ // implicit language will be "en", but let's set it for brevity
10
+ _editor_lang = "en";
11
+ </script>
12
+ <script type="text/javascript" src="../htmlarea.js"></script>
13
+ <script type="text/javascript">
14
+ // load the plugins that we will use
15
+ // loading is necessary ONLY ONCE, regardless on how many editors you create
16
+ // basically calling the following functions will load the plugin files as if
17
+ // we would have wrote script src="..." but with easier and cleaner code
18
+ HTMLArea.loadPlugin("TableOperations");
19
+ HTMLArea.loadPlugin("SpellChecker");
20
+ HTMLArea.loadPlugin("CSS");
21
+
22
+ // this function will get called at body.onload
23
+ function initDocument() {
24
+ // cache these values as we need to pass it for both editors
25
+ var css_plugin_args = {
26
+ combos : [
27
+ { label: "Syntax",
28
+ // menu text // CSS class
29
+ options: { "None" : "",
30
+ "Code" : "code",
31
+ "String" : "string",
32
+ "Comment" : "comment",
33
+ "Variable name" : "variable-name",
34
+ "Type" : "type",
35
+ "Reference" : "reference",
36
+ "Preprocessor" : "preprocessor",
37
+ "Keyword" : "keyword",
38
+ "Function name" : "function-name",
39
+ "Html tag" : "html-tag",
40
+ "Html italic" : "html-helper-italic",
41
+ "Warning" : "warning",
42
+ "Html bold" : "html-helper-bold"
43
+ },
44
+ context: "pre"
45
+ },
46
+ { label: "Info",
47
+ options: { "None" : "",
48
+ "Quote" : "quote",
49
+ "Highlight" : "highlight",
50
+ "Deprecated" : "deprecated"
51
+ }
52
+ }
53
+ ]
54
+ };
55
+
56
+ //---------------------------------------------------------------------
57
+ // GENERAL PATTERN
58
+ //
59
+ // 1. Instantitate an editor object.
60
+ // 2. Register plugins (note, it's required to have them loaded).
61
+ // 3. Configure any other items in editor.config.
62
+ // 4. generate() the editor
63
+ //
64
+ // The above are steps that you use to create one editor. Nothing new
65
+ // so far. In order to create more than one editor, you just have to
66
+ // repeat those steps for each of one. Of course, you can register any
67
+ // plugins you want (no need to register the same plugins for all
68
+ // editors, and to demonstrate that we'll skip the TableOperations
69
+ // plugin for the second editor). Just be careful to pass different
70
+ // ID-s in the constructor (you don't want to _even try_ to create more
71
+ // editors for the same TEXTAREA element ;-)).
72
+ //
73
+ // So much for the noise, see the action below.
74
+ //---------------------------------------------------------------------
75
+
76
+
77
+ //---------------------------------------------------------------------
78
+ // CREATE FIRST EDITOR
79
+ //
80
+ var editor1 = new HTMLArea("text-area-1");
81
+
82
+ // plugins must be registered _per editor_. Therefore, we register
83
+ // plugins for the first editor here, and we will also do this for the
84
+ // second editor.
85
+ editor1.registerPlugin(TableOperations);
86
+ editor1.registerPlugin(SpellChecker);
87
+ editor1.registerPlugin(CSS, css_plugin_args);
88
+
89
+ // custom config must be done per editor. Here we're importing the
90
+ // stylesheet used by the CSS plugin.
91
+ editor1.config.pageStyle = "@import url(custom.css);";
92
+
93
+ // generate first editor
94
+ editor1.generate();
95
+ //---------------------------------------------------------------------
96
+
97
+
98
+ //---------------------------------------------------------------------
99
+ // CREATE SECOND EDITOR
100
+ //
101
+ var editor2 = new HTMLArea("text-area-2");
102
+
103
+ // we are using the same plugins
104
+ editor2.registerPlugin(TableOperations);
105
+ editor2.registerPlugin(SpellChecker);
106
+ editor2.registerPlugin(CSS, css_plugin_args);
107
+
108
+ // import the CSS plugin styles
109
+ editor2.config.pageStyle = "@import url(custom.css);";
110
+
111
+ // generate the second editor
112
+ // IMPORTANT: if we don't give it a timeout, the first editor will
113
+ // not function in Mozilla. Soon I'll think about starting to
114
+ // implement some kind of event that will fire when the editor
115
+ // finished creating, then we'll be able to chain the generate()
116
+ // calls in an elegant way. But right now there's no other solution
117
+ // than the following.
118
+ setTimeout(function() {
119
+ editor2.generate();
120
+ }, 500);
121
+ //---------------------------------------------------------------------
122
+ };
123
+ </script>
124
+ </head>
125
+
126
+ <body onload="initDocument()">
127
+ <h1>Example with 2 HTMLAreas in the same form</h1>
128
+
129
+ <form action="2-areas.cgi" method="post" target="_blank">
130
+
131
+ <input type="submit" value=" Submit " />
132
+ <br />
133
+
134
+ <textarea id="text-area-1" name="text1" style="width: 100%; height: 12em">
135
+ &lt;h3&gt;HTMLArea #1&lt;/h3&gt;
136
+ &lt;p&gt;This will submit a field named &lt;em&gt;text1&lt;/em&gt;.&lt;/p&gt;
137
+ </textarea>
138
+
139
+ <br />
140
+
141
+ <textarea id="text-area-2" name="text2" style="width: 100%; height: 12em">
142
+ &lt;h3&gt;Second HTMLArea&lt;/h3&gt; &lt;p&gt;&lt;em&gt;text2&lt;/em&gt; submission. Both are
143
+ located in the same FORM element and the script action is
144
+ 2-areas.cgi (see it in the examples directory)&lt;/p&gt;
145
+ </textarea>
146
+
147
+ <br />
148
+ <input type="submit" value=" Submit " />
149
+
150
+ </form>
151
+
152
+ <hr>
153
+ <address><a href="http://dynarch.com/mishoo/">Mihai Bazon</a></address>
154
+ <!-- Created: Fri Oct 31 09:37:10 EET 2003 -->
155
+ <!-- hhmts start --> Last modified: Wed Jan 28 11:10:40 EET 2004 <!-- hhmts end -->
156
+ <!-- doc-lang: English -->
157
+ </body>
158
+ </html>
@@ -0,0 +1,95 @@
1
+ <html>
2
+ <head>
3
+ <title>Test of ContextMenu plugin</title>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5
+ <script type="text/javascript">
6
+ _editor_url = "../";
7
+ _editor_lang = "en";
8
+ </script>
9
+
10
+ <!-- load the main HTMLArea file -->
11
+ <script type="text/javascript" src="../htmlarea.js"></script>
12
+
13
+ <script type="text/javascript">
14
+ HTMLArea.loadPlugin("ContextMenu");
15
+ HTMLArea.loadPlugin("TableOperations");
16
+
17
+ function initDocument() {
18
+ var editor = new HTMLArea("editor");
19
+ editor.registerPlugin(ContextMenu);
20
+ editor.registerPlugin(TableOperations);
21
+ editor.generate();
22
+ }
23
+ </script>
24
+
25
+ </head>
26
+
27
+ <body onload="initDocument()">
28
+ <h1>Test of ContextMenu plugin</h1>
29
+
30
+
31
+ <textarea id="editor" style="height: 30em; width: 100%;">
32
+ &lt;table border="1" style="border: 1px dotted rgb(0, 102, 255); width:
33
+ 100%; background-color: rgb(255, 204, 51); background-image: none; float:
34
+ none; text-align: left; vertical-align: top; border-collapse: collapse;"
35
+ summary="" cellspacing="" cellpadding="" frame="box"
36
+ rules="all"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border: 1px solid
37
+ rgb(255, 0, 0); background-color: rgb(0, 51, 51); background-image: none;
38
+ text-align: left; vertical-align: top;"&gt;&lt;a
39
+ href="http://dynarch.com/mishoo/articles.epl?art_id=430"&gt;&lt;img
40
+ src="http://127.0.0.1/~mishoo/htmlarea/examples/pieng.png" alt="" align=""
41
+ border="0" hspace="0" vspace="0" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td
42
+ style="border: 1px solid rgb(255, 0, 0); background-color: rgb(255, 255, 0);
43
+ background-image: none; text-align: left; vertical-align: top;"&gt;The
44
+ article linked on the left image presents a script that allows Internet
45
+ Explorer to use PNG images. We hope to be able to implement IE PNG support
46
+ in HTMLArea soon.&lt;br /&gt; &lt;br /&gt; Go on, right-click everywhere and
47
+ test our new context menus. And be thankful to &lt;a
48
+ href="http://www.americanbible.org/"&gt;American Bible Society&lt;/a&gt; who
49
+ sponsored the development, &lt;a
50
+ href="http://dynarch.com/mishoo/"&gt;mishoo&lt;/a&gt; who made it happen and
51
+ God, Who keeps mishoo alife. ;-)&lt;br /&gt; &lt;br /&gt;&lt;span
52
+ style="font-style: italic;"&gt;P.S.&lt;/span&gt; No animals were harmed
53
+ while producing this movie.&lt;br /&gt;
54
+ &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-style: none;
55
+ background-color: rgb(255, 255, 51); background-image: none; text-align:
56
+ left; vertical-align: top;"&gt;Welcome to HTMLArea, the best online
57
+ editor.&lt;br /&gt;&lt;/td&gt;&lt;td&gt;HTMLArea is a project initiated by
58
+ &lt;a href="http://interactivetools.com/"&gt;InteractiveTools.com&lt;/a&gt;.
59
+ Other companies contributed largely by sponsoring the development of
60
+ additional extensions. Many thanks to:&lt;br /&gt; &lt;br
61
+ style="font-family: courier new,courier,monospace;" /&gt; &lt;div
62
+ style="margin-left: 40px;"&gt;&lt;a href="http://www.zapatec.com/"
63
+ style="font-family: courier
64
+ new,courier,monospace;"&gt;http://www.zapatec.com&lt;/a&gt;&lt;br
65
+ style="font-family: courier new,courier,monospace;" /&gt; &lt;a
66
+ href="http://www.americanbible.org/" style="font-family: courier
67
+ new,courier,monospace;"&gt;http://www.americanbible.org&lt;/a&gt;&lt;br
68
+ style="font-family: courier new,courier,monospace;" /&gt; &lt;a
69
+ href="http://www.neomedia.ro/" style="font-family: courier
70
+ new,courier,monospace;"&gt;http://www.neomedia.ro&lt;/a&gt;&lt;br
71
+ style="font-family: courier new,courier,monospace;" /&gt; &lt;a
72
+ href="http://www.os3.it/" style="font-family: courier
73
+ new,courier,monospace;"&gt;http://www.os3.it&lt;/a&gt;&lt;br
74
+ style="font-family: courier new,courier,monospace;" /&gt; &lt;a
75
+ href="http://www.miro.com.au/" style="font-family: courier
76
+ new,courier,monospace;"&gt;http://www.miro.com.au&lt;/a&gt;&lt;br
77
+ style="font-family: courier new,courier,monospace;" /&gt; &lt;a
78
+ href="http://www.thycotic.com/" style="font-family: courier
79
+ new,courier,monospace;"&gt;http://www.thycotic.com&lt;/a&gt;&lt;br /&gt;
80
+ &lt;/div&gt; &lt;br /&gt; and to all the posters at <a
81
+ href="http://www.interactivetools.com/iforum/Open_Source_C3/htmlArea_v3.0_-_Alpha_Release_F14/
82
+ ">InteractiveTools</a> HTMLArea forums, whose feedback is continually
83
+ useful in polishing HTMLArea.&lt;br /&gt; &lt;br /&gt;&lt;div
84
+ style="text-align: right;"&gt;-- developers and maintainers of version 3,
85
+ &lt;a href="http://dynarch.com/"&gt;dynarch.com&lt;/a&gt;.&lt;br
86
+ /&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
87
+ </textarea>
88
+
89
+ <hr />
90
+ <address><a href="http://dynarch.com/mishoo/">Mihai Bazon</a></address>
91
+ <!-- Created: Wed Oct 1 19:55:37 EEST 2003 -->
92
+ <!-- hhmts start --> Last modified: Wed Jan 28 11:10:29 EET 2004 <!-- hhmts end -->
93
+ <!-- doc-lang: English -->
94
+ </body>
95
+ </html>
@@ -0,0 +1,184 @@
1
+ <html>
2
+ <head>
3
+ <title>Example of HTMLArea 3.0</title>
4
+
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+
7
+ <!-- Configure the path to the editor. We make it relative now, so that the
8
+ example ZIP file will work anywhere, but please NOTE THAT it's better to
9
+ have it an absolute path, such as '/htmlarea/'. -->
10
+ <script type="text/javascript">
11
+ _editor_url = "../";
12
+ _editor_lang = "en";
13
+ </script>
14
+ <script type="text/javascript" src="../htmlarea.js"></script>
15
+
16
+ <style type="text/css">
17
+ html, body {
18
+ font-family: Verdana,sans-serif;
19
+ background-color: #fea;
20
+ color: #000;
21
+ }
22
+ a:link, a:visited { color: #00f; }
23
+ a:hover { color: #048; }
24
+ a:active { color: #f00; }
25
+
26
+ textarea { background-color: #fff; border: 1px solid 00f; }
27
+ </style>
28
+
29
+ <script type="text/javascript">
30
+ var editor = null;
31
+ function initEditor() {
32
+ editor = new HTMLArea("ta");
33
+
34
+ // comment the following two lines to see how customization works
35
+ editor.generate();
36
+ return false;
37
+
38
+ var cfg = editor.config; // this is the default configuration
39
+ cfg.registerButton({
40
+ id : "my-hilite",
41
+ tooltip : "Highlight text",
42
+ image : "ed_custom.gif",
43
+ textMode : false,
44
+ action : function(editor) {
45
+ editor.surroundHTML("<span class=\"hilite\">", "</span>");
46
+ },
47
+ context : 'table'
48
+ });
49
+
50
+ cfg.toolbar.push(["linebreak", "my-hilite"]); // add the new button to the toolbar
51
+
52
+ // BEGIN: code that adds a custom button
53
+ // uncomment it to test
54
+ var cfg = editor.config; // this is the default configuration
55
+ /*
56
+ cfg.registerButton({
57
+ id : "my-hilite",
58
+ tooltip : "Highlight text",
59
+ image : "ed_custom.gif",
60
+ textMode : false,
61
+ action : function(editor) {
62
+ editor.surroundHTML("<span class=\"hilite\">", "</span>");
63
+ }
64
+ });
65
+ */
66
+
67
+ function clickHandler(editor, buttonId) {
68
+ switch (buttonId) {
69
+ case "my-toc":
70
+ editor.insertHTML("<h1>Table Of Contents</h1>");
71
+ break;
72
+ case "my-date":
73
+ editor.insertHTML((new Date()).toString());
74
+ break;
75
+ case "my-bold":
76
+ editor.execCommand("bold");
77
+ editor.execCommand("italic");
78
+ break;
79
+ case "my-hilite":
80
+ editor.surroundHTML("<span class=\"hilite\">", "</span>");
81
+ break;
82
+ }
83
+ };
84
+ cfg.registerButton("my-toc", "Insert TOC", "ed_custom.gif", false, clickHandler);
85
+ cfg.registerButton("my-date", "Insert date/time", "ed_custom.gif", false, clickHandler);
86
+ cfg.registerButton("my-bold", "Toggle bold/italic", "ed_custom.gif", false, clickHandler);
87
+ cfg.registerButton("my-hilite", "Hilite selection", "ed_custom.gif", false, clickHandler);
88
+
89
+ cfg.registerButton("my-sample", "Class: sample", "ed_custom.gif", false,
90
+ function(editor) {
91
+ if (HTMLArea.is_ie) {
92
+ editor.insertHTML("<span class=\"sample\">&nbsp;&nbsp;</span>");
93
+ var r = editor._doc.selection.createRange();
94
+ r.move("character", -2);
95
+ r.moveEnd("character", 2);
96
+ r.select();
97
+ } else { // Gecko/W3C compliant
98
+ var n = editor._doc.createElement("span");
99
+ n.className = "sample";
100
+ editor.insertNodeAtSelection(n);
101
+ var sel = editor._iframe.contentWindow.getSelection();
102
+ sel.removeAllRanges();
103
+ var r = editor._doc.createRange();
104
+ r.setStart(n, 0);
105
+ r.setEnd(n, 0);
106
+ sel.addRange(r);
107
+ }
108
+ }
109
+ );
110
+
111
+
112
+ /*
113
+ cfg.registerButton("my-hilite", "Highlight text", "ed_custom.gif", false,
114
+ function(editor) {
115
+ editor.surroundHTML('<span class="hilite">', '</span>');
116
+ }
117
+ );
118
+ */
119
+ cfg.pageStyle = "body { background-color: #efd; } .hilite { background-color: yellow; } "+
120
+ ".sample { color: green; font-family: monospace; }";
121
+ cfg.toolbar.push(["linebreak", "my-toc", "my-date", "my-bold", "my-hilite", "my-sample"]); // add the new button to the toolbar
122
+ // END: code that adds a custom button
123
+
124
+ editor.generate();
125
+ }
126
+ function insertHTML() {
127
+ var html = prompt("Enter some HTML code here");
128
+ if (html) {
129
+ editor.insertHTML(html);
130
+ }
131
+ }
132
+ function highlight() {
133
+ editor.surroundHTML('<span style="background-color: yellow">', '</span>');
134
+ }
135
+ </script>
136
+
137
+ </head>
138
+
139
+ <!-- use <body onload="HTMLArea.replaceAll()" if you don't care about
140
+ customizing the editor. It's the easiest way! :) -->
141
+ <body onload="initEditor()">
142
+
143
+ <h1>HTMLArea 3.0</h1>
144
+
145
+ <p>A replacement for <code>TEXTAREA</code> elements. &copy; <a
146
+ href="http://interactivetools.com">InteractiveTools.com</a>, 2003-2004.</p>
147
+
148
+ <form action="test.cgi" method="post" id="edit" name="edit">
149
+
150
+ <textarea id="ta" name="ta" style="width:100%" rows="20" cols="80">
151
+ &lt;p&gt;Here is some sample text: &lt;b&gt;bold&lt;/b&gt;, &lt;i&gt;italic&lt;/i&gt;, &lt;u&gt;underline&lt;/u&gt;. &lt;/p&gt;
152
+ &lt;p align=center&gt;Different fonts, sizes and colors (all in bold):&lt;/p&gt;
153
+ &lt;p&gt;&lt;b&gt;
154
+ &lt;font face="arial" size="7" color="#000066"&gt;arial&lt;/font&gt;,
155
+ &lt;font face="courier new" size="6" color="#006600"&gt;courier new&lt;/font&gt;,
156
+ &lt;font face="georgia" size="5" color="#006666"&gt;georgia&lt;/font&gt;,
157
+ &lt;font face="tahoma" size="4" color="#660000"&gt;tahoma&lt;/font&gt;,
158
+ &lt;font face="times new roman" size="3" color="#660066"&gt;times new roman&lt;/font&gt;,
159
+ &lt;font face="verdana" size="2" color="#666600"&gt;verdana&lt;/font&gt;,
160
+ &lt;font face="tahoma" size="1" color="#666666"&gt;tahoma&lt;/font&gt;
161
+ &lt;/b&gt;&lt;/p&gt;
162
+ &lt;p&gt;Click on &lt;a href="http://www.interactivetools.com/"&gt;this link&lt;/a&gt; and then on the link button to the details ... OR ... select some text and click link to create a &lt;b&gt;new&lt;/b&gt; link.&lt;/p&gt;
163
+ </textarea>
164
+
165
+ <p />
166
+
167
+ <input type="submit" name="ok" value=" submit " />
168
+ <input type="button" name="ins" value=" insert html " onclick="return insertHTML();" />
169
+ <input type="button" name="hil" value=" highlight text " onclick="return highlight();" />
170
+
171
+ <a href="javascript:mySubmit()">submit</a>
172
+
173
+ <script type="text/javascript">
174
+ function mySubmit() {
175
+ // document.edit.save.value = "yes";
176
+ document.edit.onsubmit(); // workaround browser bugs.
177
+ document.edit.submit();
178
+ };
179
+ </script>
180
+
181
+ </form>
182
+
183
+ </body>
184
+ </html>