narf 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
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,369 @@
1
+ /** This file is derived from PopupDiv, developed by Mihai Bazon for
2
+ * SamWare.net. Modifications were needed to make it usable in HTMLArea.
3
+ * HTMLArea is a free WYSIWYG online HTML editor from InteractiveTools.com.
4
+ *
5
+ * This file does not function standalone. It is dependent of global functions
6
+ * defined in HTMLArea-3.0 (htmlarea.js).
7
+ *
8
+ * Please see file htmlarea.js for further details.
9
+ **/
10
+
11
+ var is_ie = ( (navigator.userAgent.toLowerCase().indexOf("msie") != -1) &&
12
+ (navigator.userAgent.toLowerCase().indexOf("opera") == -1) );
13
+ var is_compat = (document.compatMode == "BackCompat");
14
+
15
+ function PopupDiv(editor, titleText, handler, initFunction) {
16
+ var self = this;
17
+
18
+ this.editor = editor;
19
+ this.doc = editor._mdoc;
20
+ this.handler = handler;
21
+
22
+ var el = this.doc.createElement("div");
23
+ el.className = "content";
24
+
25
+ var popup = this.doc.createElement("div");
26
+ popup.className = "dialog popupdiv";
27
+ this.element = popup;
28
+ var s = popup.style;
29
+ s.position = "absolute";
30
+ s.left = "0px";
31
+ s.top = "0px";
32
+
33
+ var title = this.doc.createElement("div");
34
+ title.className = "title";
35
+ this.title = title;
36
+ popup.appendChild(title);
37
+
38
+ HTMLArea._addEvent(title, "mousedown", function(ev) {
39
+ self._dragStart(is_ie ? window.event : ev);
40
+ });
41
+
42
+ var button = this.doc.createElement("div");
43
+ button.className = "button";
44
+ title.appendChild(button);
45
+ button.innerHTML = "×";
46
+ title.appendChild(this.doc.createTextNode(titleText));
47
+ this.titleText = titleText;
48
+
49
+ button.onmouseover = function() {
50
+ this.className += " button-hilite";
51
+ };
52
+ button.onmouseout = function() {
53
+ this.className = this.className.replace(/\s*button-hilite\s*/g, " ");
54
+ };
55
+ button.onclick = function() {
56
+ this.className = this.className.replace(/\s*button-hilite\s*/g, " ");
57
+ self.close();
58
+ };
59
+
60
+ popup.appendChild(el);
61
+ this.content = el;
62
+
63
+ this.doc.body.appendChild(popup);
64
+
65
+ this.dragging = false;
66
+ this.onShow = null;
67
+ this.onClose = null;
68
+ this.modal = false;
69
+
70
+ initFunction(this);
71
+ };
72
+
73
+ PopupDiv.currentPopup = null;
74
+
75
+ PopupDiv.prototype.showAtElement = function(el, mode) {
76
+ this.defaultSize();
77
+ var pos, ew, eh;
78
+ var popup = this.element;
79
+ popup.style.display = "block";
80
+ var w = popup.offsetWidth;
81
+ var h = popup.offsetHeight;
82
+ popup.style.display = "none";
83
+ if (el != window) {
84
+ pos = PopupDiv.getAbsolutePos(el);
85
+ ew = el.offsetWidth;
86
+ eh = el.offsetHeight;
87
+ } else {
88
+ pos = {x:0, y:0};
89
+ var size = PopupDiv.getWindowSize();
90
+ ew = size.x;
91
+ eh = size.y;
92
+ }
93
+ var FX = false, FY = false;
94
+ if (mode.indexOf("l") != -1) {
95
+ pos.x -= w;
96
+ FX = true;
97
+ }
98
+ if (mode.indexOf("r") != -1) {
99
+ pos.x += ew;
100
+ FX = true;
101
+ }
102
+ if (mode.indexOf("t") != -1) {
103
+ pos.y -= h;
104
+ FY = true;
105
+ }
106
+ if (mode.indexOf("b") != -1) {
107
+ pos.y += eh;
108
+ FY = true;
109
+ }
110
+ if (mode.indexOf("c") != -1) {
111
+ FX || (pos.x += Math.round((ew - w) / 2));
112
+ FY || (pos.y += Math.round((eh - h) / 2));
113
+ }
114
+ this.showAt(pos.x, pos.y);
115
+ };
116
+
117
+ PopupDiv.prototype.defaultSize = function() {
118
+ var s = this.element.style;
119
+ var cs = this.element.currentStyle;
120
+ var addX = (is_ie && is_compat) ? (parseInt(cs.borderLeftWidth) +
121
+ parseInt(cs.borderRightWidth) +
122
+ parseInt(cs.paddingLeft) +
123
+ parseInt(cs.paddingRight)) : 0;
124
+ var addY = (is_ie && is_compat) ? (parseInt(cs.borderTopWidth) +
125
+ parseInt(cs.borderBottomWidth) +
126
+ parseInt(cs.paddingTop) +
127
+ parseInt(cs.paddingBottom)) : 0;
128
+ s.display = "block";
129
+ s.width = (this.content.offsetWidth + addX) + "px";
130
+ s.height = (this.content.offsetHeight + this.title.offsetHeight) + "px";
131
+ s.display = "none";
132
+ };
133
+
134
+ PopupDiv.prototype.showAt = function(x, y) {
135
+ this.defaultSize();
136
+ var s = this.element.style;
137
+ s.display = "block";
138
+ s.left = x + "px";
139
+ s.top = y + "px";
140
+ this.hideShowCovered();
141
+
142
+ PopupDiv.currentPopup = this;
143
+ HTMLArea._addEvents(this.doc.body, ["mousedown", "click"], PopupDiv.checkPopup);
144
+ HTMLArea._addEvents(this.editor._doc.body, ["mousedown", "click"], PopupDiv.checkPopup);
145
+ if (is_ie && this.modal) {
146
+ this.doc.body.setCapture(false);
147
+ this.doc.body.onlosecapture = function() {
148
+ (PopupDiv.currentPopup) && (this.doc.body.setCapture(false));
149
+ };
150
+ }
151
+ window.event && HTMLArea._stopEvent(window.event);
152
+
153
+ if (typeof this.onShow == "function") {
154
+ this.onShow();
155
+ } else if (typeof this.onShow == "string") {
156
+ eval(this.onShow);
157
+ }
158
+
159
+ var field = this.element.getElementsByTagName("input")[0];
160
+ if (!field) {
161
+ field = this.element.getElementsByTagName("select")[0];
162
+ }
163
+ if (!field) {
164
+ field = this.element.getElementsByTagName("textarea")[0];
165
+ }
166
+ if (field) {
167
+ field.focus();
168
+ }
169
+ };
170
+
171
+ PopupDiv.prototype.close = function() {
172
+ this.element.style.display = "none";
173
+ PopupDiv.currentPopup = null;
174
+ this.hideShowCovered();
175
+ HTMLArea._removeEvents(this.doc.body, ["mousedown", "click"], PopupDiv.checkPopup);
176
+ HTMLArea._removeEvents(this.editor._doc.body, ["mousedown", "click"], PopupDiv.checkPopup);
177
+ is_ie && this.modal && this.doc.body.releaseCapture();
178
+ if (typeof this.onClose == "function") {
179
+ this.onClose();
180
+ } else if (typeof this.onClose == "string") {
181
+ eval(this.onClose);
182
+ }
183
+ this.element.parentNode.removeChild(this.element);
184
+ };
185
+
186
+ PopupDiv.prototype.getForm = function() {
187
+ var forms = this.content.getElementsByTagName("form");
188
+ return (forms.length > 0) ? forms[0] : null;
189
+ };
190
+
191
+ PopupDiv.prototype.callHandler = function() {
192
+ var tags = ["input", "textarea", "select"];
193
+ var params = new Object();
194
+ for (var ti in tags) {
195
+ var tag = tags[ti];
196
+ var els = this.content.getElementsByTagName(tag);
197
+ for (var j = 0; j < els.length; ++j) {
198
+ var el = els[j];
199
+ params[el.name] = el.value;
200
+ }
201
+ }
202
+ this.handler(this, params);
203
+ return false;
204
+ };
205
+
206
+ PopupDiv.getAbsolutePos = function(el) {
207
+ var r = { x: el.offsetLeft, y: el.offsetTop };
208
+ if (el.offsetParent) {
209
+ var tmp = PopupDiv.getAbsolutePos(el.offsetParent);
210
+ r.x += tmp.x;
211
+ r.y += tmp.y;
212
+ }
213
+ return r;
214
+ };
215
+
216
+ PopupDiv.getWindowSize = function() {
217
+ if (window.innerHeight) {
218
+ return { y: window.innerHeight, x: window.innerWidth };
219
+ }
220
+ if (this.doc.body.clientHeight) {
221
+ return { y: this.doc.body.clientHeight, x: this.doc.body.clientWidth };
222
+ }
223
+ return { y: this.doc.documentElement.clientHeight, x: this.doc.documentElement.clientWidth };
224
+ };
225
+
226
+ PopupDiv.prototype.hideShowCovered = function () {
227
+ var self = this;
228
+ function isContained(el) {
229
+ while (el) {
230
+ if (el == self.element) {
231
+ return true;
232
+ }
233
+ el = el.parentNode;
234
+ }
235
+ return false;
236
+ };
237
+ var tags = new Array("applet", "select");
238
+ var el = this.element;
239
+
240
+ var p = PopupDiv.getAbsolutePos(el);
241
+ var EX1 = p.x;
242
+ var EX2 = el.offsetWidth + EX1;
243
+ var EY1 = p.y;
244
+ var EY2 = el.offsetHeight + EY1;
245
+
246
+ if (el.style.display == "none") {
247
+ EX1 = EX2 = EY1 = EY2 = 0;
248
+ }
249
+
250
+ for (var k = tags.length; k > 0; ) {
251
+ var ar = this.doc.getElementsByTagName(tags[--k]);
252
+ var cc = null;
253
+
254
+ for (var i = ar.length; i > 0;) {
255
+ cc = ar[--i];
256
+ if (isContained(cc)) {
257
+ cc.style.visibility = "visible";
258
+ continue;
259
+ }
260
+
261
+ p = PopupDiv.getAbsolutePos(cc);
262
+ var CX1 = p.x;
263
+ var CX2 = cc.offsetWidth + CX1;
264
+ var CY1 = p.y;
265
+ var CY2 = cc.offsetHeight + CY1;
266
+
267
+ if ((CX1 > EX2) || (CX2 < EX1) || (CY1 > EY2) || (CY2 < EY1)) {
268
+ cc.style.visibility = "visible";
269
+ } else {
270
+ cc.style.visibility = "hidden";
271
+ }
272
+ }
273
+ }
274
+ };
275
+
276
+ PopupDiv.prototype._dragStart = function (ev) {
277
+ if (this.dragging) {
278
+ return false;
279
+ }
280
+ this.dragging = true;
281
+ PopupDiv.currentPopup = this;
282
+ var posX = ev.clientX;
283
+ var posY = ev.clientY;
284
+ if (is_ie) {
285
+ posY += this.doc.body.scrollTop;
286
+ posX += this.doc.body.scrollLeft;
287
+ } else {
288
+ posY += window.scrollY;
289
+ posX += window.scrollX;
290
+ }
291
+ var st = this.element.style;
292
+ this.xOffs = posX - parseInt(st.left);
293
+ this.yOffs = posY - parseInt(st.top);
294
+ HTMLArea._addEvent(this.doc, "mousemove", PopupDiv.dragIt);
295
+ HTMLArea._addEvent(this.doc, "mouseover", HTMLArea._stopEvent);
296
+ HTMLArea._addEvent(this.doc, "mouseup", PopupDiv.dragEnd);
297
+ HTMLArea._stopEvent(ev);
298
+ };
299
+
300
+ PopupDiv.dragIt = function (ev) {
301
+ var popup = PopupDiv.currentPopup;
302
+ if (!(popup && popup.dragging)) {
303
+ return false;
304
+ }
305
+ is_ie && (ev = window.event);
306
+ var posX = ev.clientX;
307
+ var posY = ev.clientY;
308
+ if (is_ie) {
309
+ posY += this.doc.body.scrollTop;
310
+ posX += this.doc.body.scrollLeft;
311
+ } else {
312
+ posY += window.scrollY;
313
+ posX += window.scrollX;
314
+ }
315
+ popup.hideShowCovered();
316
+ var st = popup.element.style;
317
+ st.left = (posX - popup.xOffs) + "px";
318
+ st.top = (posY - popup.yOffs) + "px";
319
+ HTMLArea._stopEvent(ev);
320
+ };
321
+
322
+ PopupDiv.dragEnd = function () {
323
+ var popup = PopupDiv.currentPopup;
324
+ if (!popup) {
325
+ return false;
326
+ }
327
+ popup.dragging = false;
328
+ HTMLArea._removeEvent(popup.doc, "mouseup", PopupDiv.dragEnd);
329
+ HTMLArea._removeEvent(popup.doc, "mouseover", HTMLArea._stopEvent);
330
+ HTMLArea._removeEvent(popup.doc, "mousemove", PopupDiv.dragIt);
331
+ popup.hideShowCovered();
332
+ };
333
+
334
+ PopupDiv.checkPopup = function (ev) {
335
+ is_ie && (ev = window.event);
336
+ var el = is_ie ? ev.srcElement : ev.target;
337
+ var cp = PopupDiv.currentPopup;
338
+ for (; (el != null) && (el != cp.element); el = el.parentNode);
339
+ if (el == null) {
340
+ cp.modal || ev.type == "mouseover" || cp.close();
341
+ HTMLArea._stopEvent(ev);
342
+ }
343
+ };
344
+
345
+ PopupDiv.prototype.addButtons = function() {
346
+ var self = this;
347
+ var div = this.doc.createElement("div");
348
+ this.content.appendChild(div);
349
+ div.className = "buttons";
350
+ for (var i = 0; i < arguments.length; ++i) {
351
+ var btn = arguments[i];
352
+ var button = this.doc.createElement("button");
353
+ div.appendChild(button);
354
+ button.innerHTML = HTMLArea.I18N.buttons[btn];
355
+ switch (btn) {
356
+ case "ok":
357
+ button.onclick = function() {
358
+ self.callHandler();
359
+ self.close();
360
+ };
361
+ break;
362
+ case "cancel":
363
+ button.onclick = function() {
364
+ self.close();
365
+ };
366
+ break;
367
+ }
368
+ }
369
+ };
@@ -0,0 +1,378 @@
1
+ <!--
2
+
3
+ (c) dynarch.com, 2003-2004
4
+ Author: Mihai Bazon, http://dynarch.com/mishoo
5
+ Distributed as part of HTMLArea 3.0
6
+
7
+ "You are not expected to understand this... I don't neither."
8
+
9
+ (from The Linux Kernel Source Code,
10
+ ./arch/x86_64/ia32/ptrace.c:90)
11
+
12
+ ;-)
13
+
14
+ -->
15
+
16
+ <html style="height: 100%">
17
+ <head>
18
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
19
+ <title>About HTMLArea</title>
20
+ <script type="text/javascript" src="popup.js"></script>
21
+ <script type="text/javascript">
22
+ window.resizeTo(450, 250);
23
+ var TABS = [];
24
+ var CURRENT_TAB = 0;
25
+ var CONTENT_HEIGHT_DIFF = 0;
26
+ var CONTENT_WIDTH_DIFF = 0;
27
+ function selectTab(idx) {
28
+ var ct = TABS[CURRENT_TAB];
29
+ ct.className = ct.className.replace(/\s*tab-current\s*/, ' ');
30
+ ct = TABS[CURRENT_TAB = idx];
31
+ ct.className += ' tab-current';
32
+ for (var i = TABS.length; --i >= 0;) {
33
+ var area = document.getElementById("tab-area-" + i);
34
+ if (CURRENT_TAB == i) {
35
+ area.style.display = "block";
36
+ } else {
37
+ area.style.display = "none";
38
+ }
39
+ }
40
+ document.body.style.visibility = "hidden";
41
+ document.body.style.visibility = "visible";
42
+ document.cookie = "HTMLAREA-ABOUT-TAB=" + idx;
43
+ }
44
+ var editor = null;
45
+ function initDocument() {
46
+ editor = window.dialogArguments;
47
+ HTMLArea = window.opener.HTMLArea;
48
+
49
+ var plugins = document.getElementById("plugins");
50
+ var j = 0;
51
+ var html = "<table width='99%' cellpadding='0' style='margin-top: 1em; collapse-borders: collapse; border: 1px solid #8b8;'>" +
52
+ "<thead><tr>" +
53
+ "<td>Name</td>" +
54
+ "<td>Developer</td>" +
55
+ "<td>Sponsored by</td>" +
56
+ "<td>License<sup>*</sup></td>" +
57
+ "</tr></thead><tbody>";
58
+ for (var i in editor.plugins) {
59
+ var info = editor.plugins[i];
60
+ html += "<tr><td>" + info.name + " v" + info.version + "</td>" +
61
+ "<td><a href='" + info.developer_url + "' target='_blank' title='Visit developer website'>" +
62
+ info.developer + "</a></td>" +
63
+ "<td><a href='" + info.sponsor_url + "' target='_blank' title='Visit sponsor website'>" +
64
+ info.sponsor + "</a></td>" +
65
+ "<td>" + info.license + "</td></tr>";
66
+ ++j;
67
+ }
68
+
69
+ if (j) {
70
+ html += "</tbody></table>" +
71
+ "<p><sup>*</sup> License \"htmlArea\" means that the plugin is distributed under the same terms " +
72
+ "as HTMLArea itself. Such plugins are likely to be those included in the official " +
73
+ "HTMLArea distribution</p>";
74
+ plugins.innerHTML = "<p>The following plugins have been loaded.</p>" + html;
75
+ } else {
76
+ plugins.innerHTML = "<p>No plugins have been loaded</p>";
77
+ }
78
+
79
+ plugins.innerHTML += "<p>User agent reports:<br/>" + navigator.userAgent + "</p>";
80
+
81
+ var content = document.getElementById("content");
82
+ if (window.innerHeight) {
83
+ CONTENT_HEIGHT_DIFF = window.innerHeight - 250;
84
+ CONTENT_WIDTH_DIFF = window.innerWidth - content.offsetWidth;
85
+ } else {
86
+ CONTENT_HEIGHT_DIFF = document.body.offsetHeight - 250;
87
+ CONTENT_WIDTH_DIFF = document.body.offsetWidth - 400;
88
+ }
89
+ window.onresize();
90
+ var bar = document.getElementById("tabbar");
91
+ j = 0;
92
+ for (var i = bar.firstChild; i; i = i.nextSibling) {
93
+ TABS.push(i);
94
+ i.__msh_tab = j;
95
+ i.onmousedown = function(ev) { selectTab(this.__msh_tab); HTMLArea._stopEvent(ev || window.event); };
96
+ var area = document.getElementById("tab-area-" + j);
97
+ if (/tab-current/.test(i.className)) {
98
+ CURRENT_TAB = j;
99
+ area.style.display = "block";
100
+ } else {
101
+ area.style.display = "none";
102
+ }
103
+ ++j;
104
+ }
105
+ if (document.cookie.match(/HTMLAREA-ABOUT-TAB=([0-9]+)/))
106
+ selectTab(RegExp.$1);
107
+ }
108
+ window.onresize = function() {
109
+ var content = document.getElementById("content");
110
+ if (window.innerHeight) {
111
+ content.style.height = (window.innerHeight - CONTENT_HEIGHT_DIFF) + "px";
112
+ content.style.width = (window.innerWidth - CONTENT_WIDTH_DIFF) + "px";
113
+ } else {
114
+ content.style.height = (document.body.offsetHeight - CONTENT_HEIGHT_DIFF) + "px";
115
+ //content.style.width = (document.body.offsetWidth - CONTENT_WIDTH_DIFF) + "px";
116
+ }
117
+ }
118
+ </script>
119
+ <style>
120
+ html,body,textarea,table { font-family: tahoma,verdana,arial; font-size: 11px;
121
+ padding: 0px; margin: 0px; }
122
+ tt { font-size: 120%; }
123
+ body { padding: 0px; background: #cea; color: 000; }
124
+ a:link, a:visited { color: #00f; }
125
+ a:hover { color: #f00; }
126
+ a:active { color: #f80; }
127
+ button { font: 11px tahoma,verdana,sans-serif; background-color: #cea;
128
+ border-width: 1px; }
129
+
130
+ p { margin: 0.5em 0px; }
131
+
132
+ h1 { font: bold 130% georgia,"times new roman",serif; margin: 0px; border-bottom: 1px solid #6a6; }
133
+ h2 { font: bold 110% georgia,"times new roman",serif; margin: 0.7em 0px; }
134
+
135
+ thead {
136
+ font-weight: bold;
137
+ background-color: #dfb;
138
+ }
139
+
140
+ .logo, .logo-hover {
141
+ white-space: nowrap;
142
+ background-color: #8f4; color: #040; padding: 3px; border-bottom: 1px solid #555;
143
+ height: 5em;
144
+ }
145
+ .logo .brand, .logo-hover .brand {
146
+ margin-left: 0.5em; margin-right: 0.5em; padding-bottom: 0.1em;
147
+ font-family: impact,'arial black',arial,sans-serif; font-size: 28px;
148
+ border-bottom: 1px solid #595; text-align: center;
149
+ cursor: pointer;
150
+ }
151
+ .logo-hover {
152
+ background-color: #fff;
153
+ }
154
+ .logo-hover .brand {
155
+ color: #800;
156
+ border-color: #04f;
157
+ }
158
+ .logo .letter, .logo-hover .letter { position: relative; font-family: monospace; }
159
+ .logo .letter1 { top: 0.1em; }
160
+ .logo .letter2 { top: 0.05em; }
161
+ .logo .letter3 { top: -0.05em; }
162
+ .logo .letter4 { top: -0.1em; }
163
+
164
+ .logo-hover .letter1 { top: -0.1em; }
165
+ .logo-hover .letter2 { top: -0.05em; }
166
+ .logo-hover .letter3 { top: 0.05em; }
167
+ .logo-hover .letter4 { top: 0.1em; }
168
+ .logo .version, .logo-hover .version { font-family: georgia,"times new roman",serif; }
169
+ .logo .release {
170
+ font-size: 90%; margin-bottom: 1em;
171
+ text-align: center; color: #484;
172
+ }
173
+ .logo .visit { display: none; }
174
+ .logo-hover .release { display: none; }
175
+ .logo-hover .visit {
176
+ font-size: 90%; margin-bottom: 1em;
177
+ text-align: center; color: #448;
178
+ }
179
+ .buttons {
180
+ text-align: right; padding: 3px; background-color: #8f4;
181
+ border-top: 1px solid #555;
182
+ }
183
+ #tabbar {
184
+ position: relative;
185
+ left: 10px;
186
+ }
187
+ .tab {
188
+ color: #454;
189
+ cursor: pointer;
190
+ margin-left: -5px;
191
+ float: left; position: relative;
192
+ border: 1px solid #555;
193
+ top: -3px; left: -2px;
194
+ padding: 2px 10px 3px 10px;
195
+ border-top: none; background-color: #9b7;
196
+ -moz-border-radius: 0px 0px 4px 4px;
197
+ z-index: 0;
198
+ }
199
+ .tab-current {
200
+ color: #000;
201
+ top: -4px;
202
+ background-color: #cea;
203
+ padding: 3px 10px 4px 10px;
204
+ z-index: 10;
205
+ }
206
+ table.sponsors { border-top: 1px solid #aca; }
207
+ table.sponsors td {
208
+ border-bottom: 1px solid #aca; vertical-align: top;
209
+ }
210
+ table.sponsors tr td { padding: 2px 0px; }
211
+ table.sponsors tr td.sponsor { text-align: right; padding-right: 0.3em; white-space: nowrap; }
212
+ li, ol, ul { margin-top: 0px; margin-bottom: 0px; }
213
+ </style></head>
214
+ <body onload="__dlg_init(); initDocument();"
215
+ ><table cellspacing="0" cellpadding="0" style="border-collapse: collapse;
216
+ width: 100%; height: 100%;">
217
+
218
+ <tr style="height: 1em"><td id="tdheader">
219
+
220
+ <div class="logo">
221
+ <div class="brand"
222
+ onmouseover="this.parentNode.className='logo-hover';"
223
+ onmouseout="this.parentNode.className='logo';"
224
+ onclick="window.open('http://dynarch.com/htmlarea/');">
225
+ <span class="letter letter1">&lt;H</span><span
226
+ class="letter letter2">T</span><span
227
+ class="letter letter3">M</span><span
228
+ class="letter letter4">L</span>Area <span class="letter">/&gt;</span>
229
+ <span class="version">3.0 <span style="position: relative; top: -0.6em; font-size: 50%; font-weight: normal">[ rev. rc1 ]</span></span></div>
230
+ <div class="release">Compiled on Mar 1, 2004 19:37 GMT</div>
231
+ <div class="visit">Go to http://dynarch.com/htmlarea/ [latest milestone release]</div>
232
+ </div>
233
+
234
+ </td></tr>
235
+ <tr><td id="tdcontent" style="padding: 0.5em;">
236
+
237
+ <div style="overflow: auto; height: 250px;" id="content">
238
+ <div id="tab-areas">
239
+
240
+ <div id="tab-area-0">
241
+
242
+ <h1>HTMLArea</h1>
243
+
244
+ <p>A free WYSIWYG editor replacement for <tt>&lt;textarea&gt;</tt> fields.<br />
245
+ For Mozilla 1.3+ (any platform) or Internet Explorer 5.5+ (Windows).
246
+ </p>
247
+
248
+ <p style="text-align: center"
249
+ >&copy; 2002-2004 <a href="http://interactivetools.com" target="_blank">interactivetools.com</a>, inc.<br />
250
+ &copy; 2003-2004 <a href="http://dynarch.com" target="_blank">dynarch.com</a> LLC.<br />
251
+ All Rights Reserved.</p>
252
+
253
+ <h2>Project resources</h2>
254
+
255
+ <ul>
256
+ <li><a href="http://sourceforge.net/projects/itools-htmlarea/" target="_blank"
257
+ >Project page</a> (@ sourceforge.net)</li>
258
+ <li><a href="http://sourceforge.net/cvs/?group_id=69750" target="_blank"
259
+ >Anonymous CVS access</a> (@ sourceforge.net)</li>
260
+ <li><a href="http://sourceforge.net/tracker/?atid=525656&group_id=69750&func=browse" target="_blank"
261
+ >Bug system</a> (@ sourceforge.net)</li>
262
+ <li><a href="http://www.interactivetools.com/forum/gforum.cgi?forum=14;" target="_blank"
263
+ >Forum</a> (@ interactivetools.com)</li>
264
+ <li><a href="http://www.dynarch.com/htmlarea/" target="_blank"
265
+ >Last public release</a> (@ dynarch.com)</li>
266
+ </ul>
267
+
268
+ <p>
269
+ For download section please see the <a href="http://sourceforge.net/projects/itools-htmlarea/" target="_blank"
270
+ >project page @ SourceForge</a>.
271
+ </p>
272
+
273
+ <p style="margin-top: 1em; text-align: center;">Version 3.0 developed and maintained by <a
274
+ href="http://dynarch.com/mishoo/" title="http://dynarch.com/mishoo/" target="_blank">Mihai Bazon</a> / <a
275
+ href="http://dynarch.com" title="http://dynarch.com/" target="_blank">dynarch.com</a></p>
276
+
277
+ </div>
278
+
279
+ <div id="tab-area-1">
280
+ <h1>Thank you</h1>
281
+
282
+ <p>
283
+ <a href="http://dynarch.com" target="_blank">dynarch.com</a> would like to thank the following
284
+ companies/persons for their <em>donations</em> to support development of HTMLArea (listed alphabetically):
285
+ </p>
286
+
287
+ <ul>
288
+ <li><a href="http://www.neomedia.ro">Neomedia</a> (Romania)</li>
289
+ <li><a href="http://www.os3.it" target="_blank">OS3</a> (Italy)</li>
290
+ <li><a href="http://www.softwerk.net">SoftWerk</a> (Italy)</li>
291
+ </ul>
292
+
293
+ <p>Also many thanks to all people at InteractiveTools.com
294
+ <a href="http://www.interactivetools.com/forum/gforum.cgi?forum=14;">HTMLArea forums</a> for
295
+ contributing translations, feedback, bug reports and fixes.</p>
296
+
297
+ <p>
298
+ Last but not least, this project wouldn't have existed without
299
+ <a href="http://interactivetools.com" target="_blank">InteractiveTools.com</a>.
300
+ </p>
301
+
302
+ </div>
303
+
304
+ <div id="tab-area-2">
305
+ <h1>htmlArea License (based on BSD license)</h1>
306
+
307
+ <p style="text-align: center">© 2002-2004, interactivetools.com, inc.<br />
308
+ © 2003-2004 dynarch.com LLC<br />
309
+ All rights reserved.</p>
310
+
311
+ <p>
312
+ Redistribution and use in source and binary forms, with or without
313
+ modification, are permitted provided that the following conditions are met:
314
+ </p>
315
+
316
+ <ol>
317
+ <li>
318
+ Redistributions of source code must retain the above copyright notice,
319
+ this list of conditions and the following disclaimer.
320
+ </li>
321
+
322
+ <li>
323
+ Redistributions in binary form must reproduce the above copyright notice,
324
+ this list of conditions and the following disclaimer in the documentation
325
+ and/or other materials provided with the distribution.
326
+ </li>
327
+
328
+ <li>
329
+ Neither the name of interactivetools.com, inc. nor the names of its
330
+ contributors may be used to endorse or promote products derived from this
331
+ software without specific prior written permission.
332
+ </li>
333
+ </ol>
334
+
335
+ <p>
336
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
337
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
338
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
339
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
340
+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
341
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
342
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
343
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
344
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
345
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
346
+ POSSIBILITY OF SUCH DAMAGE.
347
+ </p>
348
+
349
+ </div>
350
+
351
+ <div id="tab-area-3">
352
+ <h1>Plugins</h1>
353
+ <div id="plugins">
354
+ </div>
355
+ </div>
356
+
357
+ </div></div>
358
+
359
+
360
+ </tr></td>
361
+ <tr style="height: 1em"><td id="tdfooter">
362
+
363
+
364
+ <div class="buttons">
365
+ <div id="tabbar"
366
+ ><div class="tab tab-current"
367
+ >About</div><div class="tab"
368
+ >Thanks</div><div class="tab"
369
+ >License</div><div class="tab"
370
+ >Plugins</div></div>
371
+ <button type="button" onclick="__dlg_close(null);">I agree it's cool</button>
372
+ </div>
373
+
374
+ </td></tr></table>
375
+
376
+ </body></html>
377
+
378
+