qwik2md 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (335) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/.travis.yml +4 -0
  4. data/Gemfile +4 -0
  5. data/README.md +36 -0
  6. data/Rakefile +10 -0
  7. data/bin/console +14 -0
  8. data/bin/setup +8 -0
  9. data/exe/qwik2md +17 -0
  10. data/lib/qwik2md/version.rb +3 -0
  11. data/lib/qwik2md.rb +39 -0
  12. data/qwik2md.gemspec +30 -0
  13. data/vendor/qwik/AUTHORS +10 -0
  14. data/vendor/qwik/COPYING +340 -0
  15. data/vendor/qwik/COPYRIGHT +346 -0
  16. data/vendor/qwik/lib/qwik/Makefile +63 -0
  17. data/vendor/qwik/lib/qwik/Rakefile +17 -0
  18. data/vendor/qwik/lib/qwik/act-aa.rb +83 -0
  19. data/vendor/qwik/lib/qwik/act-archive.rb +386 -0
  20. data/vendor/qwik/lib/qwik/act-attach.rb +304 -0
  21. data/vendor/qwik/lib/qwik/act-backup.rb +236 -0
  22. data/vendor/qwik/lib/qwik/act-basic.rb +325 -0
  23. data/vendor/qwik/lib/qwik/act-book.rb +161 -0
  24. data/vendor/qwik/lib/qwik/act-calc.rb +371 -0
  25. data/vendor/qwik/lib/qwik/act-charset.rb +251 -0
  26. data/vendor/qwik/lib/qwik/act-christel.rb +112 -0
  27. data/vendor/qwik/lib/qwik/act-chronology.rb +149 -0
  28. data/vendor/qwik/lib/qwik/act-code.rb +155 -0
  29. data/vendor/qwik/lib/qwik/act-comment.rb +554 -0
  30. data/vendor/qwik/lib/qwik/act-config.rb +49 -0
  31. data/vendor/qwik/lib/qwik/act-counter.rb +125 -0
  32. data/vendor/qwik/lib/qwik/act-day.rb +96 -0
  33. data/vendor/qwik/lib/qwik/act-describe.rb +135 -0
  34. data/vendor/qwik/lib/qwik/act-diary.rb +109 -0
  35. data/vendor/qwik/lib/qwik/act-edit.rb +317 -0
  36. data/vendor/qwik/lib/qwik/act-embed-html.rb +296 -0
  37. data/vendor/qwik/lib/qwik/act-emode.rb +150 -0
  38. data/vendor/qwik/lib/qwik/act-event.rb +187 -0
  39. data/vendor/qwik/lib/qwik/act-file.rb +303 -0
  40. data/vendor/qwik/lib/qwik/act-files.rb +771 -0
  41. data/vendor/qwik/lib/qwik/act-getpass.rb +295 -0
  42. data/vendor/qwik/lib/qwik/act-history.rb +136 -0
  43. data/vendor/qwik/lib/qwik/act-html.rb +204 -0
  44. data/vendor/qwik/lib/qwik/act-httpauth.rb +147 -0
  45. data/vendor/qwik/lib/qwik/act-include.rb +142 -0
  46. data/vendor/qwik/lib/qwik/act-interwiki.rb +189 -0
  47. data/vendor/qwik/lib/qwik/act-isearch.rb +109 -0
  48. data/vendor/qwik/lib/qwik/act-keywords.rb +137 -0
  49. data/vendor/qwik/lib/qwik/act-lang.rb +81 -0
  50. data/vendor/qwik/lib/qwik/act-license.rb +63 -0
  51. data/vendor/qwik/lib/qwik/act-list.rb +287 -0
  52. data/vendor/qwik/lib/qwik/act-login.rb +410 -0
  53. data/vendor/qwik/lib/qwik/act-logout.rb +60 -0
  54. data/vendor/qwik/lib/qwik/act-mail.rb +159 -0
  55. data/vendor/qwik/lib/qwik/act-map.rb +292 -0
  56. data/vendor/qwik/lib/qwik/act-md5.rb +42 -0
  57. data/vendor/qwik/lib/qwik/act-mdlb.rb +741 -0
  58. data/vendor/qwik/lib/qwik/act-media.rb +416 -0
  59. data/vendor/qwik/lib/qwik/act-member.rb +157 -0
  60. data/vendor/qwik/lib/qwik/act-menu.rb +142 -0
  61. data/vendor/qwik/lib/qwik/act-metadata.rb +323 -0
  62. data/vendor/qwik/lib/qwik/act-mlsubmitform.rb +49 -0
  63. data/vendor/qwik/lib/qwik/act-monitor.rb +167 -0
  64. data/vendor/qwik/lib/qwik/act-new.rb +418 -0
  65. data/vendor/qwik/lib/qwik/act-pagelist.rb +248 -0
  66. data/vendor/qwik/lib/qwik/act-password.rb +145 -0
  67. data/vendor/qwik/lib/qwik/act-plan.rb +210 -0
  68. data/vendor/qwik/lib/qwik/act-povray.rb +230 -0
  69. data/vendor/qwik/lib/qwik/act-presen.rb +380 -0
  70. data/vendor/qwik/lib/qwik/act-redirect.rb +133 -0
  71. data/vendor/qwik/lib/qwik/act-ring.rb +1071 -0
  72. data/vendor/qwik/lib/qwik/act-rrefs.rb +255 -0
  73. data/vendor/qwik/lib/qwik/act-ruby.rb +116 -0
  74. data/vendor/qwik/lib/qwik/act-sample.rb +170 -0
  75. data/vendor/qwik/lib/qwik/act-save.rb +295 -0
  76. data/vendor/qwik/lib/qwik/act-schedule.rb +374 -0
  77. data/vendor/qwik/lib/qwik/act-search.rb +180 -0
  78. data/vendor/qwik/lib/qwik/act-searchwords.rb +51 -0
  79. data/vendor/qwik/lib/qwik/act-sendpass.rb +83 -0
  80. data/vendor/qwik/lib/qwik/act-site.rb +89 -0
  81. data/vendor/qwik/lib/qwik/act-sitebackup.rb +419 -0
  82. data/vendor/qwik/lib/qwik/act-sitelog.rb +118 -0
  83. data/vendor/qwik/lib/qwik/act-smil.rb +299 -0
  84. data/vendor/qwik/lib/qwik/act-status.rb +220 -0
  85. data/vendor/qwik/lib/qwik/act-style.rb +608 -0
  86. data/vendor/qwik/lib/qwik/act-table.rb +263 -0
  87. data/vendor/qwik/lib/qwik/act-tableform.rb +241 -0
  88. data/vendor/qwik/lib/qwik/act-tag.rb +103 -0
  89. data/vendor/qwik/lib/qwik/act-text.rb +70 -0
  90. data/vendor/qwik/lib/qwik/act-textarea.rb +164 -0
  91. data/vendor/qwik/lib/qwik/act-theme.rb +346 -0
  92. data/vendor/qwik/lib/qwik/act-toc.rb +112 -0
  93. data/vendor/qwik/lib/qwik/act-typekey.rb +198 -0
  94. data/vendor/qwik/lib/qwik/act-under-const.rb +94 -0
  95. data/vendor/qwik/lib/qwik/act-webservice.rb +321 -0
  96. data/vendor/qwik/lib/qwik/act-wema.rb +558 -0
  97. data/vendor/qwik/lib/qwik/act-wysiwyg.rb +238 -0
  98. data/vendor/qwik/lib/qwik/action.rb +325 -0
  99. data/vendor/qwik/lib/qwik/autoreload.rb +98 -0
  100. data/vendor/qwik/lib/qwik/bench-bench.rb +28 -0
  101. data/vendor/qwik/lib/qwik/bench-emode.rb +47 -0
  102. data/vendor/qwik/lib/qwik/bench-format-xml.rb +70 -0
  103. data/vendor/qwik/lib/qwik/bench-large-table.rb +62 -0
  104. data/vendor/qwik/lib/qwik/bench-md5.rb +14 -0
  105. data/vendor/qwik/lib/qwik/bench-module-session.rb +19 -0
  106. data/vendor/qwik/lib/qwik/bench-page.rb +50 -0
  107. data/vendor/qwik/lib/qwik/bench-s-md5.rb +28 -0
  108. data/vendor/qwik/lib/qwik/bench-session.rb +25 -0
  109. data/vendor/qwik/lib/qwik/bench-textformat.rb +31 -0
  110. data/vendor/qwik/lib/qwik/catalog-factory.rb +91 -0
  111. data/vendor/qwik/lib/qwik/catalog-ja.rb +479 -0
  112. data/vendor/qwik/lib/qwik/catalog-ml-ja.rb +145 -0
  113. data/vendor/qwik/lib/qwik/check-act-monitor.rb +112 -0
  114. data/vendor/qwik/lib/qwik/check-act-monitor2.rb +46 -0
  115. data/vendor/qwik/lib/qwik/check-act-theme.rb +27 -0
  116. data/vendor/qwik/lib/qwik/check-event.rb +112 -0
  117. data/vendor/qwik/lib/qwik/check-event2.rb +55 -0
  118. data/vendor/qwik/lib/qwik/check-htree-rexml.rb +77 -0
  119. data/vendor/qwik/lib/qwik/check-htree.rb +51 -0
  120. data/vendor/qwik/lib/qwik/check-libxml.rb +135 -0
  121. data/vendor/qwik/lib/qwik/check-many-pages.rb +47 -0
  122. data/vendor/qwik/lib/qwik/check-monitor.rb +33 -0
  123. data/vendor/qwik/lib/qwik/check-observer.rb +67 -0
  124. data/vendor/qwik/lib/qwik/check-server.rb +61 -0
  125. data/vendor/qwik/lib/qwik/check-uuencode.rb +33 -0
  126. data/vendor/qwik/lib/qwik/check-webdav.rb +65 -0
  127. data/vendor/qwik/lib/qwik/check-xml-xpath.rb +27 -0
  128. data/vendor/qwik/lib/qwik/common-backtrace.rb +94 -0
  129. data/vendor/qwik/lib/qwik/common-basic.rb +111 -0
  130. data/vendor/qwik/lib/qwik/common-condition.rb +142 -0
  131. data/vendor/qwik/lib/qwik/common-error.rb +48 -0
  132. data/vendor/qwik/lib/qwik/common-gettext.rb +50 -0
  133. data/vendor/qwik/lib/qwik/common-javascript.rb +45 -0
  134. data/vendor/qwik/lib/qwik/common-notice.rb +132 -0
  135. data/vendor/qwik/lib/qwik/common-plain.rb +105 -0
  136. data/vendor/qwik/lib/qwik/common-plugin.rb +111 -0
  137. data/vendor/qwik/lib/qwik/common-res.rb +76 -0
  138. data/vendor/qwik/lib/qwik/common-resolve.rb +92 -0
  139. data/vendor/qwik/lib/qwik/common-send.rb +171 -0
  140. data/vendor/qwik/lib/qwik/common-session.rb +139 -0
  141. data/vendor/qwik/lib/qwik/common-surface.rb +261 -0
  142. data/vendor/qwik/lib/qwik/common-url.rb +90 -0
  143. data/vendor/qwik/lib/qwik/compat/Makefile +12 -0
  144. data/vendor/qwik/lib/qwik/compat/add_load_path.rb +1 -0
  145. data/vendor/qwik/lib/qwik/config.rb +299 -0
  146. data/vendor/qwik/lib/qwik/db-b-backup.rb +142 -0
  147. data/vendor/qwik/lib/qwik/db-backup.rb +184 -0
  148. data/vendor/qwik/lib/qwik/db-berkeley.rb +306 -0
  149. data/vendor/qwik/lib/qwik/db-filesystem.rb +305 -0
  150. data/vendor/qwik/lib/qwik/db-indexer.rb +154 -0
  151. data/vendor/qwik/lib/qwik/db-searchwords.rb +238 -0
  152. data/vendor/qwik/lib/qwik/description-ja.rb +267 -0
  153. data/vendor/qwik/lib/qwik/description.rb +256 -0
  154. data/vendor/qwik/lib/qwik/dev-add-copyright.rb +23 -0
  155. data/vendor/qwik/lib/qwik/dev-backup.rb +24 -0
  156. data/vendor/qwik/lib/qwik/dev-bench.rb +175 -0
  157. data/vendor/qwik/lib/qwik/dev-calctime.rb +52 -0
  158. data/vendor/qwik/lib/qwik/dev-css-compressor.rb +60 -0
  159. data/vendor/qwik/lib/qwik/dev-extract-catalog.rb +102 -0
  160. data/vendor/qwik/lib/qwik/dev-js-compressor.rb +73 -0
  161. data/vendor/qwik/lib/qwik/dev-release.rb +235 -0
  162. data/vendor/qwik/lib/qwik/dev-replace.rb +353 -0
  163. data/vendor/qwik/lib/qwik/dev-sendmail.rb +25 -0
  164. data/vendor/qwik/lib/qwik/farm.rb +283 -0
  165. data/vendor/qwik/lib/qwik/gettext.rb +56 -0
  166. data/vendor/qwik/lib/qwik/group-cond.rb +157 -0
  167. data/vendor/qwik/lib/qwik/group-config.rb +247 -0
  168. data/vendor/qwik/lib/qwik/group-confirm.rb +147 -0
  169. data/vendor/qwik/lib/qwik/group-db.rb +326 -0
  170. data/vendor/qwik/lib/qwik/group-mail.rb +195 -0
  171. data/vendor/qwik/lib/qwik/group-member.rb +307 -0
  172. data/vendor/qwik/lib/qwik/group-sendmail.rb +231 -0
  173. data/vendor/qwik/lib/qwik/group-site.rb +374 -0
  174. data/vendor/qwik/lib/qwik/group-sweep.rb +63 -0
  175. data/vendor/qwik/lib/qwik/group.rb +157 -0
  176. data/vendor/qwik/lib/qwik/helper.rb +6 -0
  177. data/vendor/qwik/lib/qwik/html-generator.rb +104 -0
  178. data/vendor/qwik/lib/qwik/html-to-wabisabi.rb +148 -0
  179. data/vendor/qwik/lib/qwik/htree-diff.rb +87 -0
  180. data/vendor/qwik/lib/qwik/htree-format-xml.rb +57 -0
  181. data/vendor/qwik/lib/qwik/htree-generator.rb +144 -0
  182. data/vendor/qwik/lib/qwik/htree-get.rb +251 -0
  183. data/vendor/qwik/lib/qwik/htree-html-generator.rb +179 -0
  184. data/vendor/qwik/lib/qwik/htree-template.rb +263 -0
  185. data/vendor/qwik/lib/qwik/htree-to-wabisabi.rb +171 -0
  186. data/vendor/qwik/lib/qwik/loadlib.rb +79 -0
  187. data/vendor/qwik/lib/qwik/logger.rb +115 -0
  188. data/vendor/qwik/lib/qwik/mail-body.rb +171 -0
  189. data/vendor/qwik/lib/qwik/mail-header.rb +474 -0
  190. data/vendor/qwik/lib/qwik/mail-multipart.rb +193 -0
  191. data/vendor/qwik/lib/qwik/mail-parse.rb +147 -0
  192. data/vendor/qwik/lib/qwik/mail.rb +341 -0
  193. data/vendor/qwik/lib/qwik/mailaddress.rb +83 -0
  194. data/vendor/qwik/lib/qwik/mdlb-model.rb +81 -0
  195. data/vendor/qwik/lib/qwik/mdlb-sample.rb +324 -0
  196. data/vendor/qwik/lib/qwik/ml-catalog-factory.rb +27 -0
  197. data/vendor/qwik/lib/qwik/ml-exception.rb +15 -0
  198. data/vendor/qwik/lib/qwik/ml-generator.rb +28 -0
  199. data/vendor/qwik/lib/qwik/ml-gettext.rb +137 -0
  200. data/vendor/qwik/lib/qwik/ml-logger.rb +82 -0
  201. data/vendor/qwik/lib/qwik/ml-memory.rb +65 -0
  202. data/vendor/qwik/lib/qwik/ml-msg-validator.rb +86 -0
  203. data/vendor/qwik/lib/qwik/ml-processor.rb +609 -0
  204. data/vendor/qwik/lib/qwik/ml-quickml-server.rb +122 -0
  205. data/vendor/qwik/lib/qwik/ml-sendmail.rb +0 -0
  206. data/vendor/qwik/lib/qwik/ml-server.rb +107 -0
  207. data/vendor/qwik/lib/qwik/ml-session.rb +348 -0
  208. data/vendor/qwik/lib/qwik/ml-sweeper.rb +101 -0
  209. data/vendor/qwik/lib/qwik/mock-logger.rb +65 -0
  210. data/vendor/qwik/lib/qwik/mock-sendmail.rb +78 -0
  211. data/vendor/qwik/lib/qwik/mock-socket.rb +82 -0
  212. data/vendor/qwik/lib/qwik/modulobe.rb +406 -0
  213. data/vendor/qwik/lib/qwik/mongrel-server.rb +72 -0
  214. data/vendor/qwik/lib/qwik/page-files.rb +249 -0
  215. data/vendor/qwik/lib/qwik/page-generate.rb +82 -0
  216. data/vendor/qwik/lib/qwik/page-get.rb +262 -0
  217. data/vendor/qwik/lib/qwik/page-images.rb +168 -0
  218. data/vendor/qwik/lib/qwik/page-put.rb +128 -0
  219. data/vendor/qwik/lib/qwik/page-rrefs.rb +154 -0
  220. data/vendor/qwik/lib/qwik/page-title.rb +0 -0
  221. data/vendor/qwik/lib/qwik/page-wikidb.rb +234 -0
  222. data/vendor/qwik/lib/qwik/page.rb +67 -0
  223. data/vendor/qwik/lib/qwik/pages.rb +444 -0
  224. data/vendor/qwik/lib/qwik/parse-plugin.rb +249 -0
  225. data/vendor/qwik/lib/qwik/parser-emode.rb +116 -0
  226. data/vendor/qwik/lib/qwik/parser-inline.rb +272 -0
  227. data/vendor/qwik/lib/qwik/parser.rb +349 -0
  228. data/vendor/qwik/lib/qwik/password.rb +183 -0
  229. data/vendor/qwik/lib/qwik/periodic.rb +79 -0
  230. data/vendor/qwik/lib/qwik/qp.rb +56 -0
  231. data/vendor/qwik/lib/qwik/qwik-service.rb +341 -0
  232. data/vendor/qwik/lib/qwik/qwik.rb +5 -0
  233. data/vendor/qwik/lib/qwik/qwikweb-adduser.rb +34 -0
  234. data/vendor/qwik/lib/qwik/qwikweb-catalog-validator.rb +110 -0
  235. data/vendor/qwik/lib/qwik/qwikweb-incgen.rb +28 -0
  236. data/vendor/qwik/lib/qwik/qwikweb-makesite.rb +41 -0
  237. data/vendor/qwik/lib/qwik/qwikweb-server.rb +44 -0
  238. data/vendor/qwik/lib/qwik/qwikweb-showpassword.rb +26 -0
  239. data/vendor/qwik/lib/qwik/qwikweb-watchlog.rb +67 -0
  240. data/vendor/qwik/lib/qwik/request-path.rb +304 -0
  241. data/vendor/qwik/lib/qwik/request-ua.rb +76 -0
  242. data/vendor/qwik/lib/qwik/request-webrick.rb +81 -0
  243. data/vendor/qwik/lib/qwik/request.rb +91 -0
  244. data/vendor/qwik/lib/qwik/resolve-tdiary.rb +292 -0
  245. data/vendor/qwik/lib/qwik/resolve.rb +121 -0
  246. data/vendor/qwik/lib/qwik/response.rb +228 -0
  247. data/vendor/qwik/lib/qwik/server-memory.rb +57 -0
  248. data/vendor/qwik/lib/qwik/server-webrick.rb +102 -0
  249. data/vendor/qwik/lib/qwik/server.rb +252 -0
  250. data/vendor/qwik/lib/qwik/site-config.rb +149 -0
  251. data/vendor/qwik/lib/qwik/site-db.rb +136 -0
  252. data/vendor/qwik/lib/qwik/site-event.rb +162 -0
  253. data/vendor/qwik/lib/qwik/site-files.rb +86 -0
  254. data/vendor/qwik/lib/qwik/site-group.rb +103 -0
  255. data/vendor/qwik/lib/qwik/site-index.rb +47 -0
  256. data/vendor/qwik/lib/qwik/site-log.rb +64 -0
  257. data/vendor/qwik/lib/qwik/site-member.rb +230 -0
  258. data/vendor/qwik/lib/qwik/site-monitor.rb +97 -0
  259. data/vendor/qwik/lib/qwik/site-pages.rb +62 -0
  260. data/vendor/qwik/lib/qwik/site-plan.rb +139 -0
  261. data/vendor/qwik/lib/qwik/site-report.rb +282 -0
  262. data/vendor/qwik/lib/qwik/site-resolve.rb +230 -0
  263. data/vendor/qwik/lib/qwik/site-rrefs.rb +18 -0
  264. data/vendor/qwik/lib/qwik/site-search.rb +180 -0
  265. data/vendor/qwik/lib/qwik/site-timeline.rb +153 -0
  266. data/vendor/qwik/lib/qwik/site-url.rb +189 -0
  267. data/vendor/qwik/lib/qwik/site.rb +76 -0
  268. data/vendor/qwik/lib/qwik/smil-time.rb +105 -0
  269. data/vendor/qwik/lib/qwik/smtp-session.rb +331 -0
  270. data/vendor/qwik/lib/qwik/template-generator.rb +149 -0
  271. data/vendor/qwik/lib/qwik/template.rb +85 -0
  272. data/vendor/qwik/lib/qwik/test-common.rb +10 -0
  273. data/vendor/qwik/lib/qwik/test-ml-info.rb +225 -0
  274. data/vendor/qwik/lib/qwik/test-module-ml.rb +142 -0
  275. data/vendor/qwik/lib/qwik/test-module-path.rb +110 -0
  276. data/vendor/qwik/lib/qwik/test-module-public.rb +70 -0
  277. data/vendor/qwik/lib/qwik/test-module-server.rb +98 -0
  278. data/vendor/qwik/lib/qwik/test-module-session.rb +264 -0
  279. data/vendor/qwik/lib/qwik/test-module-suite.rb +91 -0
  280. data/vendor/qwik/lib/qwik/test-ms-applemail.rb +59 -0
  281. data/vendor/qwik/lib/qwik/test-ms-attach.rb +174 -0
  282. data/vendor/qwik/lib/qwik/test-ms-basic.rb +40 -0
  283. data/vendor/qwik/lib/qwik/test-ms-close.rb +35 -0
  284. data/vendor/qwik/lib/qwik/test-ms-confirm.rb +75 -0
  285. data/vendor/qwik/lib/qwik/test-ms-ignore-spam.rb +57 -0
  286. data/vendor/qwik/lib/qwik/test-ms-japanese.rb +97 -0
  287. data/vendor/qwik/lib/qwik/test-ms-jfilename.rb +82 -0
  288. data/vendor/qwik/lib/qwik/test-ms-large.rb +58 -0
  289. data/vendor/qwik/lib/qwik/test-ms-member.rb +103 -0
  290. data/vendor/qwik/lib/qwik/test-ms-multipart.rb +84 -0
  291. data/vendor/qwik/lib/qwik/test-ms-org.rb +129 -0
  292. data/vendor/qwik/lib/qwik/test-ms-plan.rb +130 -0
  293. data/vendor/qwik/lib/qwik/test-ms-post.rb +53 -0
  294. data/vendor/qwik/lib/qwik/test-ms-quopri.rb +76 -0
  295. data/vendor/qwik/lib/qwik/test-sub-quopri.rb +45 -0
  296. data/vendor/qwik/lib/qwik/test-submit-base64.rb +59 -0
  297. data/vendor/qwik/lib/qwik/test-submit-forward.rb +61 -0
  298. data/vendor/qwik/lib/qwik/test-submit-html-mail.rb +52 -0
  299. data/vendor/qwik/lib/qwik/test-submit-japanese.rb +135 -0
  300. data/vendor/qwik/lib/qwik/test-submit-jfilename.rb +144 -0
  301. data/vendor/qwik/lib/qwik/test-submit-uuencode.rb +71 -0
  302. data/vendor/qwik/lib/qwik/test-suite-all.rb +8 -0
  303. data/vendor/qwik/lib/qwik/test-suite-basic.rb +9 -0
  304. data/vendor/qwik/lib/qwik/test-suite-ml.rb +9 -0
  305. data/vendor/qwik/lib/qwik/test-typekey.rb +64 -0
  306. data/vendor/qwik/lib/qwik/testunit.rb +45 -0
  307. data/vendor/qwik/lib/qwik/tokenizer-inline.rb +288 -0
  308. data/vendor/qwik/lib/qwik/tokenizer.rb +331 -0
  309. data/vendor/qwik/lib/qwik/typekey.rb +160 -0
  310. data/vendor/qwik/lib/qwik/util-basic.rb +135 -0
  311. data/vendor/qwik/lib/qwik/util-charset.rb +331 -0
  312. data/vendor/qwik/lib/qwik/util-css.rb +56 -0
  313. data/vendor/qwik/lib/qwik/util-csv-tokenizer.rb +113 -0
  314. data/vendor/qwik/lib/qwik/util-filename.rb +112 -0
  315. data/vendor/qwik/lib/qwik/util-pathname.rb +202 -0
  316. data/vendor/qwik/lib/qwik/util-pid.rb +58 -0
  317. data/vendor/qwik/lib/qwik/util-safe.rb +67 -0
  318. data/vendor/qwik/lib/qwik/util-sendmail.rb +273 -0
  319. data/vendor/qwik/lib/qwik/util-string.rb +202 -0
  320. data/vendor/qwik/lib/qwik/util-time.rb +125 -0
  321. data/vendor/qwik/lib/qwik/util-webrick.rb +176 -0
  322. data/vendor/qwik/lib/qwik/version.rb +11 -0
  323. data/vendor/qwik/lib/qwik/wabisabi-basic.rb +163 -0
  324. data/vendor/qwik/lib/qwik/wabisabi-diff.rb +130 -0
  325. data/vendor/qwik/lib/qwik/wabisabi-format-xml.rb +310 -0
  326. data/vendor/qwik/lib/qwik/wabisabi-generator.rb +262 -0
  327. data/vendor/qwik/lib/qwik/wabisabi-index.rb +174 -0
  328. data/vendor/qwik/lib/qwik/wabisabi-table.rb +212 -0
  329. data/vendor/qwik/lib/qwik/wabisabi-template.rb +295 -0
  330. data/vendor/qwik/lib/qwik/wabisabi-to-htree.rb +111 -0
  331. data/vendor/qwik/lib/qwik/wabisabi-to-wiki.rb +690 -0
  332. data/vendor/qwik/lib/qwik/wabisabi-traverse.rb +207 -0
  333. data/vendor/qwik/lib/qwik/wabisabi-validator.rb +116 -0
  334. data/vendor/qwik/lib/qwik/wabisabi.rb +5 -0
  335. metadata +492 -0
@@ -0,0 +1,174 @@
1
+ # Copyright (C) 2003-2006 Kouichirou Eto, All rights reserved.
2
+ # This is free software with ABSOLUTELY NO WARRANTY.
3
+ # You can redistribute it and/or modify it under the terms of the GNU GPL 2.
4
+
5
+ $LOAD_PATH.unshift '..' unless $LOAD_PATH.include? '..'
6
+ require 'qwik/ml-session'
7
+ require 'qwik/test-module-ml'
8
+
9
+ if $0 == __FILE__
10
+ $test = true
11
+ end
12
+
13
+ class TestMSAttach < Test::Unit::TestCase
14
+ include TestModuleML
15
+
16
+ def test_submit_multipart
17
+ send_normal_mail('bob@example.net') # Bob creates a new ML.
18
+ sendmail('bob@example.net', 'test@q.example.com', 'multipart test') {
19
+ "MIME-Version: 1.0
20
+ Content-Type: multipart/mixed; boundary=\"boundary\"
21
+ Content-Transfer-Encoding: 7bit
22
+
23
+ --boundary
24
+ Content-Type: text/plain; charset=\"ascii\"
25
+ Content-Transfer-Encoding: 7bit
26
+
27
+ test1
28
+
29
+ --boundary
30
+ Content-Type: text/plain; charset=\"ascii\"
31
+ Content-Transfer-Encoding: 7bit
32
+
33
+ test2
34
+
35
+ --boundary--
36
+ " }
37
+ eq 'multipart test', @site['1'].get_title
38
+ eq "* multipart test
39
+ {{mail(bob@example.net,0)
40
+ test1
41
+
42
+ test2
43
+ }}
44
+ ", @site["1"].load
45
+ end
46
+
47
+ def test_submit_with_text
48
+ send_normal_mail('bob@example.net') # Bob creates a new ML.
49
+ str =
50
+ "Message-Id: <nosuchmessageid@example.com>
51
+ MIME-Version: 1.0
52
+ Content-Type: multipart/mixed; boundary=\"------_4119D7487CCF04869008_MULTIPART_MIXED_\"
53
+ Content-Transfer-Encoding: 7bit
54
+
55
+ --------_4119D7487CCF04869008_MULTIPART_MIXED_
56
+ Content-Type: text/plain; charset='ISO-2022-JP'
57
+ Content-Transfer-Encoding: 7bit
58
+
59
+ test
60
+ --------_4119D7487CCF04869008_MULTIPART_MIXED_
61
+ Content-Type: application/octet-stream; name=\"t.txt\"
62
+ Content-Disposition: attachment;
63
+ filename=\"t.txt\"
64
+ Content-Transfer-Encoding: base64
65
+
66
+ dGVzdA0K
67
+
68
+ --------_4119D7487CCF04869008_MULTIPART_MIXED_
69
+ "
70
+ sm('text file attach test') { str }
71
+ page = @site.get_by_title('text file attach test')
72
+ eq 'text file attach test', page.get_title
73
+ eq '1', page.key
74
+ eq "* text file attach test
75
+ {{mail(bob@example.net,0)
76
+ test
77
+
78
+ {{file(t.txt)}}
79
+ }}
80
+ ", page.load
81
+ files = @site.files('1')
82
+ eq true, files.exist?('t.txt')
83
+ #eq './test/1.files/t.txt', files.path('t.txt').to_s
84
+ eq '.test/data/test/1.files/t.txt', files.path('t.txt').to_s
85
+ str = files.path('t.txt').read
86
+ eq "test\r\n", str
87
+
88
+ # The same mail is sent to the ML again.
89
+ sm('text file attach test') { str }
90
+ end
91
+
92
+ # FIXME: abandon...
93
+ def nu
94
+ eq "* text file attach test
95
+ {{mail(bob@example.net,0)
96
+ test
97
+
98
+ {{file(t.txt)}}
99
+ }}
100
+ {{mail(bob@example.net,0)
101
+ test
102
+
103
+ {{file(1-t.txt)}}
104
+ }}
105
+ ", page.load
106
+ eq true, @site.files(page.key).exist?('1-t.txt')
107
+
108
+ # Once again.
109
+ group.site_post(mail, true)
110
+ page = @site.get_by_title('text file attach test')
111
+ eq "* text file attach test
112
+ {{mail(bob@example.net,0)
113
+ test
114
+
115
+ {{file(t.txt)}}
116
+ }}
117
+ {{mail(bob@example.net,0)
118
+ test
119
+
120
+ {{file(1-t.txt)}}
121
+ }}
122
+ {{mail(bob@example.net,0)
123
+ test
124
+
125
+ {{file(2-t.txt)}}
126
+ }}
127
+ ", page.load
128
+ eq true, @site.files(page.key).exist?('2-t.txt')
129
+ end
130
+
131
+ def nutest_submit_with_image
132
+ group = QuickML::Group.new(@ml_config, 'test@example.com')
133
+ group.setup_test_config
134
+
135
+ mail = QuickML::Mail.generate {
136
+ "Date: Sun, 01 Aug 2004 12:34:56 +0900
137
+ From: Test User <bob@example.net>
138
+ To: test@example.com
139
+ Subject: Attach Test
140
+ Cc: guest@example.com
141
+ MIME-Version: 1.0
142
+ Content-Type: multipart/mixed; boundary=\"------_410DDC04C7AD046D3600_MULTIPART_MIXED_\"
143
+ Content-Transfer-Encoding: 7bit
144
+
145
+ --------_410DDC04C7AD046D3600_MULTIPART_MIXED_
146
+ Content-Type: text/plain; charset=\"ascii\"
147
+ Content-Transfer-Encoding: 7bit
148
+
149
+ This is a test.
150
+ --------_410DDC04C7AD046D3600_MULTIPART_MIXED_
151
+ Content-Type: image/png; name=\"1x1.png\"
152
+ Content-Disposition: attachment;
153
+ filename=\"1x1.png\"
154
+ Content-Transfer-Encoding: base64
155
+
156
+ iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR42mP4//8/AAX+Av4zEpUU
157
+ AAAAAElFTkSuQmCC
158
+
159
+ --------_410DDC04C7AD046D3600_MULTIPART_MIXED_--
160
+ " }
161
+
162
+ group.site_post(mail, true)
163
+ eq 'Attach Test', @site['1'].get_title
164
+ eq "* Attach Test
165
+ {{mail(bob@example.net,0)
166
+ This is a test.
167
+
168
+ {{file(1x1.png)}}
169
+ }}
170
+ ",
171
+ @site['1'].load
172
+ eq true, @site.files('1').exist?('1x1.png')
173
+ end
174
+ end
@@ -0,0 +1,40 @@
1
+ # Copyright (C) 2003-2006 Kouichirou Eto, All rights reserved.
2
+ # This is free software with ABSOLUTELY NO WARRANTY.
3
+ # You can redistribute it and/or modify it under the terms of the GNU GPL 2.
4
+
5
+ $LOAD_PATH.unshift '..' unless $LOAD_PATH.include? '..'
6
+ require 'qwik/ml-session'
7
+ require 'qwik/test-module-ml'
8
+
9
+ if $0 == __FILE__
10
+ $test = true
11
+ end
12
+
13
+ class TestMSBasic < Test::Unit::TestCase
14
+ include TestModuleML
15
+
16
+ def test_all
17
+ logs = @ml_config.logger.get_log
18
+
19
+ # Bob send a mail to create a new ML.
20
+ send_normal_mail('bob@example.net')
21
+ ok_log(['[test]: New ML by bob@example.net',
22
+ '[test]: Add: bob@example.net',
23
+ '[test]: QwikPost: test',
24
+ '[test:1]: Send:'])
25
+
26
+ # Bob send a mail.
27
+ send_normal_mail('bob@example.net')
28
+ ok_log(['[test]: QwikPost: test', '[test:2]: Send:'])
29
+
30
+ # Alice send a mail, but the mail is rejected.
31
+ send_normal_mail('alice@example.net')
32
+ ok_log(['[test]: Reject: alice@example.net'])
33
+
34
+ # The ML is closed.
35
+ unsubscribe('bob@example.net')
36
+ ok_log(['[test]: Remove: bob@example.net',
37
+ '[test]: ML Closed',
38
+ '[test]: Unsubscribe: bob@example.net'])
39
+ end
40
+ end
@@ -0,0 +1,35 @@
1
+ #
2
+ # Copyright (C) 2003-2006 Kouichirou Eto
3
+ # All rights reserved.
4
+ # This is free software with ABSOLUTELY NO WARRANTY.
5
+ #
6
+ # You can redistribute it and/or modify it under the terms of
7
+ # the GNU General Public License version 2.
8
+ #
9
+
10
+ $LOAD_PATH.unshift '..' unless $LOAD_PATH.include? '..'
11
+ require 'qwik/ml-session'
12
+ require 'qwik/test-module-ml'
13
+
14
+ if $0 == __FILE__
15
+ $test = true
16
+ end
17
+
18
+ class TestMSClose < Test::Unit::TestCase
19
+ include TestModuleML
20
+
21
+ def test_close
22
+ # Alice create a new ML.
23
+ send_normal_mail('alice@example.net')
24
+ ok_log(["[test]: New ML by alice@example.net",
25
+ "[test]: Add: alice@example.net",
26
+ "[test]: QwikPost: test",
27
+ "[test:1]: Send:"])
28
+
29
+ # Alice unsubscrive from the ML. The ML will be closed.
30
+ unsubscribe('alice@example.net')
31
+ ok_log(["[test]: Remove: alice@example.net",
32
+ "[test]: ML Closed",
33
+ "[test]: Unsubscribe: alice@example.net"])
34
+ end
35
+ end
@@ -0,0 +1,75 @@
1
+ # Copyright (C) 2003-2006 Kouichirou Eto, All rights reserved.
2
+ # This is free software with ABSOLUTELY NO WARRANTY.
3
+ # You can redistribute it and/or modify it under the terms of the GNU GPL 2.
4
+
5
+ $LOAD_PATH.unshift '..' unless $LOAD_PATH.include? '..'
6
+ require 'qwik/ml-session'
7
+ require 'qwik/test-module-ml'
8
+
9
+ if $0 == __FILE__
10
+ $test = true
11
+ end
12
+
13
+ class TestMSConfirm < Test::Unit::TestCase
14
+ include TestModuleML
15
+
16
+ def test_session_with_confirm
17
+ $quickml_config.instance_eval {
18
+ @config[:confirm_ml_creation] = true
19
+ }
20
+
21
+ # Bob tries to create a new ML.
22
+ send_normal_mail('bob@example.net')
23
+ logs = @ml_config.logger.get_log
24
+ ok_eq("[test]: New ML by bob@example.net", logs[0])
25
+ if Regexp.new(Regexp.escape("[test]: Send confirmation: ")+
26
+ "(confirm\\+\\d+\\+test@q\\.example\\.com)"+
27
+ Regexp.escape(' bob@example.net')) =~ logs[1]
28
+ confirmation_to = $1
29
+ end
30
+
31
+ ok_eq(true, @site.unconfirmed?, 'Before reply, unconfirmed? must be true.')
32
+
33
+ # Bob replies the confirmation mail.
34
+ send_confirmation_mail('bob@example.net', confirmation_to)
35
+ ok_log(["[test]: Add: bob@example.net",
36
+ "[test]: QwikPost: test",
37
+ "[test:1]: Send:",
38
+ "[test]: Accept confirmation: test@q.example.com"])
39
+
40
+ ok_eq(false, @site.unconfirmed?, 'After reply, unconfirmed? must be false.')
41
+
42
+ # Bob send a mail.
43
+ send_normal_mail('bob@example.net')
44
+ ok_log(["[test]: QwikPost: test", "[test:2]: Send:"])
45
+
46
+ page = @site['test']
47
+ ok_eq("* test
48
+ {{mail(bob@example.net,0)
49
+ test
50
+ }}
51
+ {{mail(bob@example.net,0)
52
+ test
53
+ }}
54
+ ",
55
+ page.load)
56
+
57
+ # Alice send a mail, but the mail is rejected.
58
+ send_normal_mail('alice@example.net')
59
+ ok_log(["[test]: Reject: alice@example.net"])
60
+
61
+ # The ML is closed.
62
+ unsubscribe('bob@example.net')
63
+ ok_log(["[test]: Remove: bob@example.net",
64
+ "[test]: ML Closed",
65
+ "[test]: Unsubscribe: bob@example.net"])
66
+
67
+ $quickml_config.instance_eval {
68
+ @config[:confirm_ml_creation] = false
69
+ }
70
+ end
71
+
72
+ def send_confirmation_mail(from, to)
73
+ sendmail(from, to, 'confirm') { 'confirm' }
74
+ end
75
+ end
@@ -0,0 +1,57 @@
1
+ # Copyright (C) 2003-2006 Kouichirou Eto, All rights reserved.
2
+ # This is free software with ABSOLUTELY NO WARRANTY.
3
+ # You can redistribute it and/or modify it under the terms of the GNU GPL 2.
4
+
5
+ $LOAD_PATH.unshift '..' unless $LOAD_PATH.include? '..'
6
+ require 'qwik/ml-session'
7
+ require 'qwik/test-module-ml'
8
+
9
+ if $0 == __FILE__
10
+ $test = true
11
+ end
12
+
13
+ class TestMSIgnoreSpam < Test::Unit::TestCase
14
+ include TestModuleML
15
+
16
+ def test_all
17
+ send_normal_mail('bob@example.net') # Bob creates a new ML.
18
+
19
+ # normail mail
20
+ sendmail('bob@example.net', 'test@q.example.com', 'test mail') {
21
+ "This is a test."
22
+ }
23
+ eq true, @site.exist?('1')
24
+ eq 'test mail', @site['1'].get_title
25
+ eq "* test mail\n{{mail(bob@example.net,0)\nThis is a test.\n}}\n",
26
+ @site['1'].load
27
+
28
+ # spammer's mail
29
+ res = sendmail('spammer@example.org', 'test@q.example.com', 'spam mail') {
30
+ "This is a spam mail."
31
+ }
32
+
33
+ eq ["spammer@example.org"], $quickml_sendmail[3]
34
+ eq "To: spammer@example.org
35
+ From: test@q.example.com
36
+ Subject: [QuickML] Error: spam mail
37
+
38
+ You are not a member of the mailing list:
39
+ <test@q.example.com>
40
+
41
+ Did you send a mail with a different address from the address registered in the mailing list?
42
+ Please check your 'From:' address.
43
+
44
+ --
45
+ Info: http://example.com/
46
+
47
+ ----- Original Message -----
48
+ Subject: spam mail
49
+ To: test@q.example.com
50
+ From: spammer@example.org
51
+ Date:
52
+
53
+ The original body is omitted to avoid spam trouble.
54
+ ", $quickml_sendmail[4]
55
+
56
+ end
57
+ end
@@ -0,0 +1,97 @@
1
+ # -*- coding: shift_jis -*-
2
+ # Copyright (C) 2003-2006 Kouichirou Eto, All rights reserved.
3
+ # This is free software with ABSOLUTELY NO WARRANTY.
4
+ # You can redistribute it and/or modify it under the terms of the GNU GPL 2.
5
+
6
+ $LOAD_PATH.unshift '..' unless $LOAD_PATH.include? '..'
7
+ require 'qwik/ml-session'
8
+ require 'qwik/test-module-ml'
9
+
10
+ if $0 == __FILE__
11
+ require 'qwik/password'
12
+ $test = true
13
+ end
14
+
15
+ class TestMSJapanese < Test::Unit::TestCase
16
+ include TestModuleML
17
+
18
+ def test_submit_1
19
+ send_normal_mail('bob@example.net')
20
+ ok_log(["[test]: New ML by bob@example.net",
21
+ "[test]: Add: bob@example.net",
22
+ "[test]: QwikPost: test"], 0..2)
23
+
24
+ sm("テスト") { 'テ。' }
25
+ ok_log("[test]: QwikPost: 1
26
+ [test:2]: Send:")
27
+ eq "テスト", @site['1'].get_title
28
+ eq "* テスト
29
+ {{mail(bob@example.net,0)
30
+ テ。
31
+ }}
32
+ ", @site['1'].load
33
+
34
+ sm("テスト") { 'これもテ。' }
35
+ ok_log("[test]: QwikPost: 1
36
+ [test:3]: Send:")
37
+ eq "テスト", @site['1'].get_title
38
+ # The new mail is added.
39
+ eq "* テスト
40
+ {{mail(bob@example.net,0)
41
+ テ。
42
+ }}
43
+ {{mail(bob@example.net,0)
44
+ これもテ。
45
+ }}
46
+ ", @site['1'].load
47
+
48
+ unsubscribe('bob@example.net') # close ML
49
+ ok_log("[test]: Remove: bob@example.net
50
+ [test]: ML Closed
51
+ [test]: Unsubscribe: bob@example.net")
52
+ end
53
+
54
+ def test_submit_with_attach_image
55
+ send_normal_mail('bob@example.net')
56
+ ok_log(["[test]: New ML by bob@example.net",
57
+ "[test]: Add: bob@example.net",
58
+ "[test]: QwikPost: test"], 0..2)
59
+
60
+ sm("テスト") {
61
+ "MIME-Version: 1.0
62
+ Content-Type: multipart/mixed; boundary=\"------_410DDC04C7AD046D3600_MULTIPART_MIXED_\"
63
+ Content-Transfer-Encoding: 7bit
64
+
65
+ --------_410DDC04C7AD046D3600_MULTIPART_MIXED_
66
+ Content-Type: text/plain; charset='ISO-2022-JP'
67
+ Content-Transfer-Encoding: 7bit
68
+
69
+ テ。
70
+ --------_410DDC04C7AD046D3600_MULTIPART_MIXED_
71
+ Content-Type: image/png; name=\"1x1.png\"
72
+ Content-Disposition: attachment;
73
+ filename=\"1x1.png\"
74
+ Content-Transfer-Encoding: base64
75
+
76
+ iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR42mP4//8/AAX+Av4zEpUU
77
+ AAAAAElFTkSuQmCC
78
+
79
+ --------_410DDC04C7AD046D3600_MULTIPART_MIXED_--
80
+ " }
81
+ page = @site['1']
82
+ eq "テスト", page.get_title
83
+ eq true, @site.files('1').exist?('1x1.png')
84
+ end
85
+
86
+ def nu
87
+ eq "* テスト
88
+ {{mail(bob@example.net,0)
89
+
90
+ テ。
91
+
92
+ {{file(1x1.png)}}
93
+
94
+ }}
95
+ ", page.load
96
+ end
97
+ end
@@ -0,0 +1,82 @@
1
+ # Copyright (C) 2003-2006 Kouichirou Eto, All rights reserved.
2
+ # This is free software with ABSOLUTELY NO WARRANTY.
3
+ # You can redistribute it and/or modify it under the terms of the GNU GPL 2.
4
+
5
+ $LOAD_PATH.unshift '..' unless $LOAD_PATH.include? '..'
6
+ require 'qwik/ml-session'
7
+ require 'qwik/test-module-ml'
8
+
9
+ if $0 == __FILE__
10
+ $test = true
11
+ end
12
+
13
+ class TestMailSubmitWithJapaneseFilename < Test::Unit::TestCase
14
+ include TestModuleML
15
+
16
+ def test_all
17
+ send_normal_mail 'bob@example.net'
18
+ ok_log(['[test]: New ML by bob@example.net',
19
+ '[test]: Add: bob@example.net',
20
+ '[test]: QwikPost: test'], 0..2)
21
+
22
+ sm('テスト') {
23
+ "Date: Fri, 20 May 2005 15:21:55 +0900
24
+ From: bob@example.net
25
+ To: test@q.example.com
26
+ Subject: Attach a file with japanese file name
27
+ MIME-Version: 1.0
28
+ Content-Type: multipart/mixed; boundary=\"------_428D7194605E049A05F8_MULTIPART_MIXED_\"
29
+ Content-Transfer-Encoding: 7bit
30
+
31
+ --------_428D7194605E049A05F8_MULTIPART_MIXED_
32
+ Content-Type: text/plain; charset='ISO-2022-JP'
33
+ Content-Transfer-Encoding: 7bit
34
+
35
+ test.
36
+ --------_428D7194605E049A05F8_MULTIPART_MIXED_
37
+ Content-Type: application/octet-stream;
38
+ name=\"=?ISO-2022-JP?B?MTdmeRskQk09OzslMyE8JUkkTjtYRGokSxsoQg==?=
39
+ =?ISO-2022-JP?B?GyRCJEQkJCRGGyhCLmRvYw==?=\"
40
+ Content-Disposition: attachment;
41
+ filename=\"=?ISO-2022-JP?B?MTdmeRskQk09OzslMyE8JUkkTjtYRGokSxsoQg==?=
42
+ =?ISO-2022-JP?B?GyRCJEQkJCRGGyhCLmRvYw==?=\"
43
+ Content-Transfer-Encoding: base64
44
+
45
+ 0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAMAAAAAAAAAAA
46
+ AAAAAA==
47
+ --------_428D7194605E049A05F8_MULTIPART_MIXED_
48
+ Content-Type: application/octet-stream;
49
+ name=\"=?ISO-2022-JP?B?GyRCPnBKc04uJUclNiUkJXMlMCVrITwlVxsoQg==?=
50
+ =?ISO-2022-JP?B?Lnhscw==?=\"
51
+ Content-Disposition: attachment;
52
+ filename=\"=?ISO-2022-JP?B?GyRCPnBKc04uJUclNiUkJXMlMCVrITwlVxsoQg==?=
53
+ =?ISO-2022-JP?B?Lnhscw==?=\"
54
+ Content-Transfer-Encoding: base64
55
+
56
+ 0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAHAAAAAAAAAAA
57
+ AAAAAAAAAAAAAAAAAAAAEwAAAAAQAAAAAAAA
58
+ --------_428D7194605E049A05F8_MULTIPART_MIXED_--
59
+ " }
60
+ page = @site['1']
61
+ eq 'テスト', page.get_title
62
+ eq '* テスト
63
+ {{mail(bob@example.net,0)
64
+ test.
65
+
66
+ {{file(17fy予算コードの指定について.doc)}}
67
+
68
+
69
+ {{file(情報流デザイングループ.xls)}}
70
+ }}
71
+ ',
72
+ page.get
73
+
74
+ files = @site.files '1'
75
+ # The files.list are encoded in UTF-8
76
+ eq ["17fy\344\272\210\347\256\227\343\202\263\343\203\274\343\203\211\343\201\256\346\214\207\345\256\232\343\201\253\343\201\244\343\201\204\343\201\246.doc", "\346\203\205\345\240\261\346\265\201\343\203\207\343\202\266\343\202\244\343\203\263\343\202\260\343\203\253\343\203\274\343\203\227.xls"], files.list
77
+ eq true, files.exist?('17fy予算コードの指定について.doc')
78
+ eq true, files.exist?('17fy予算コードの指定について.doc'.set_sourcecode_charset.to_filename_charset) # UTF-8 is allowed.
79
+ eq true, files.exist?('17fy予算コードの指定について.doc'.set_sourcecode_charset.to_mail_charset) # Any charsets are allowed.
80
+ eq true, files.exist?('情報流デザイングループ.xls')
81
+ end
82
+ end
@@ -0,0 +1,58 @@
1
+ # Copyright (C) 2003-2006 Kouichirou Eto, All rights reserved.
2
+ # This is free software with ABSOLUTELY NO WARRANTY.
3
+ # You can redistribute it and/or modify it under the terms of the GNU GPL 2.
4
+
5
+ $LOAD_PATH.unshift '..' unless $LOAD_PATH.include? '..'
6
+ require 'qwik/ml-session'
7
+ require 'qwik/test-module-ml'
8
+
9
+ if $0 == __FILE__
10
+ $test = true
11
+ end
12
+
13
+ class TestMSLarge < Test::Unit::TestCase
14
+ include TestModuleML
15
+
16
+ def test_session_large_mail
17
+ $quickml_config.instance_eval {
18
+ @config[:max_mail_length] = 10 * 1024
19
+ }
20
+
21
+ logs = @ml_config.logger.get_log
22
+
23
+ # Alice create a new ML.
24
+ send_normal_mail 'alice@example.net'
25
+ ok_log '[test]: New ML by alice@example.net
26
+ [test]: Add: alice@example.net
27
+ [test]: QwikPost: test
28
+ [test:1]: Send:'
29
+
30
+ # send_large_mail
31
+ sendmail('alice@example.net', 'test@q.example.com', 'large') {
32
+ ('o' * 62 + "\n") * 16 * 10
33
+ }
34
+ ok_log 'Too Large Mail: alice@example.net'
35
+
36
+ # send_longline_mail
37
+ sendmail('alice@example.net', 'test@q.example.com', 'longline') {
38
+ 'o' * 2000 + "\n"
39
+ }
40
+ ok_log 'Too Long Line: alice@example.net'
41
+
42
+ send_normal_mail 'alice@example.net'
43
+ ok_log '[test]: QwikPost: test
44
+ [test:2]: Send:'
45
+
46
+ # send_japanese_large_mail
47
+ sendmail('alice@example.net', 'test@q.example.com',
48
+ '=?iso-2022-jp?B?GyRCJEckKyQkGyhC?=') {
49
+ "Content-Type: text/plain; charset=ISO-2022-JP\n\n" +
50
+ ('o' * 62 + "\n") * 16 * 10
51
+ }
52
+ ok_log 'Too Large Mail: alice@example.net'
53
+
54
+ $quickml_config.instance_eval {
55
+ @config[:max_mail_length] = 100 * 1024
56
+ }
57
+ end
58
+ end