qwikdoc 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (335) hide show
  1. data/.gitignore +5 -0
  2. data/.rspec +2 -0
  3. data/CHANGES +3 -0
  4. data/COPYING +340 -0
  5. data/Gemfile +3 -0
  6. data/README.md +10 -0
  7. data/Rakefile +10 -0
  8. data/TextFormattingRules +137 -0
  9. data/TextFormattingRules.ja +143 -0
  10. data/bin/qwikdoc +34 -0
  11. data/lib/qwik_doc.rb +15 -0
  12. data/lib/qwik_doc/hack.rb +184 -0
  13. data/qwikdoc.gemspec +26 -0
  14. data/spec/qwik_doc_spec.rb +305 -0
  15. data/spec/spec_helper.rb +12 -0
  16. data/vendor/qwik/Makefile +63 -0
  17. data/vendor/qwik/Rakefile +17 -0
  18. data/vendor/qwik/act-aa.rb +83 -0
  19. data/vendor/qwik/act-archive.rb +386 -0
  20. data/vendor/qwik/act-attach.rb +304 -0
  21. data/vendor/qwik/act-backup.rb +236 -0
  22. data/vendor/qwik/act-basic.rb +325 -0
  23. data/vendor/qwik/act-book.rb +161 -0
  24. data/vendor/qwik/act-calc.rb +371 -0
  25. data/vendor/qwik/act-charset.rb +251 -0
  26. data/vendor/qwik/act-christel.rb +112 -0
  27. data/vendor/qwik/act-chronology.rb +149 -0
  28. data/vendor/qwik/act-code.rb +155 -0
  29. data/vendor/qwik/act-comment.rb +554 -0
  30. data/vendor/qwik/act-config.rb +49 -0
  31. data/vendor/qwik/act-counter.rb +125 -0
  32. data/vendor/qwik/act-day.rb +96 -0
  33. data/vendor/qwik/act-describe.rb +135 -0
  34. data/vendor/qwik/act-diary.rb +109 -0
  35. data/vendor/qwik/act-edit.rb +317 -0
  36. data/vendor/qwik/act-embed-html.rb +296 -0
  37. data/vendor/qwik/act-emode.rb +150 -0
  38. data/vendor/qwik/act-event.rb +187 -0
  39. data/vendor/qwik/act-file.rb +303 -0
  40. data/vendor/qwik/act-files.rb +771 -0
  41. data/vendor/qwik/act-getpass.rb +295 -0
  42. data/vendor/qwik/act-history.rb +136 -0
  43. data/vendor/qwik/act-html.rb +204 -0
  44. data/vendor/qwik/act-httpauth.rb +147 -0
  45. data/vendor/qwik/act-include.rb +142 -0
  46. data/vendor/qwik/act-interwiki.rb +189 -0
  47. data/vendor/qwik/act-isearch.rb +109 -0
  48. data/vendor/qwik/act-keywords.rb +137 -0
  49. data/vendor/qwik/act-lang.rb +81 -0
  50. data/vendor/qwik/act-license.rb +63 -0
  51. data/vendor/qwik/act-list.rb +287 -0
  52. data/vendor/qwik/act-login.rb +410 -0
  53. data/vendor/qwik/act-logout.rb +60 -0
  54. data/vendor/qwik/act-mail.rb +159 -0
  55. data/vendor/qwik/act-map.rb +292 -0
  56. data/vendor/qwik/act-md5.rb +42 -0
  57. data/vendor/qwik/act-mdlb.rb +741 -0
  58. data/vendor/qwik/act-media.rb +416 -0
  59. data/vendor/qwik/act-member.rb +157 -0
  60. data/vendor/qwik/act-menu.rb +142 -0
  61. data/vendor/qwik/act-metadata.rb +323 -0
  62. data/vendor/qwik/act-mlsubmitform.rb +49 -0
  63. data/vendor/qwik/act-monitor.rb +167 -0
  64. data/vendor/qwik/act-new.rb +418 -0
  65. data/vendor/qwik/act-pagelist.rb +248 -0
  66. data/vendor/qwik/act-password.rb +145 -0
  67. data/vendor/qwik/act-plan.rb +210 -0
  68. data/vendor/qwik/act-povray.rb +230 -0
  69. data/vendor/qwik/act-presen.rb +380 -0
  70. data/vendor/qwik/act-redirect.rb +133 -0
  71. data/vendor/qwik/act-ring.rb +1071 -0
  72. data/vendor/qwik/act-rrefs.rb +255 -0
  73. data/vendor/qwik/act-ruby.rb +116 -0
  74. data/vendor/qwik/act-sample.rb +170 -0
  75. data/vendor/qwik/act-save.rb +295 -0
  76. data/vendor/qwik/act-schedule.rb +374 -0
  77. data/vendor/qwik/act-search.rb +180 -0
  78. data/vendor/qwik/act-searchwords.rb +51 -0
  79. data/vendor/qwik/act-sendpass.rb +83 -0
  80. data/vendor/qwik/act-site.rb +89 -0
  81. data/vendor/qwik/act-sitebackup.rb +419 -0
  82. data/vendor/qwik/act-sitelog.rb +118 -0
  83. data/vendor/qwik/act-smil.rb +299 -0
  84. data/vendor/qwik/act-status.rb +220 -0
  85. data/vendor/qwik/act-style.rb +608 -0
  86. data/vendor/qwik/act-table.rb +263 -0
  87. data/vendor/qwik/act-tableform.rb +241 -0
  88. data/vendor/qwik/act-tag.rb +103 -0
  89. data/vendor/qwik/act-text.rb +70 -0
  90. data/vendor/qwik/act-textarea.rb +164 -0
  91. data/vendor/qwik/act-theme.rb +346 -0
  92. data/vendor/qwik/act-toc.rb +112 -0
  93. data/vendor/qwik/act-typekey.rb +198 -0
  94. data/vendor/qwik/act-under-const.rb +94 -0
  95. data/vendor/qwik/act-webservice.rb +321 -0
  96. data/vendor/qwik/act-wema.rb +558 -0
  97. data/vendor/qwik/act-wysiwyg.rb +238 -0
  98. data/vendor/qwik/action.rb +325 -0
  99. data/vendor/qwik/autoreload.rb +98 -0
  100. data/vendor/qwik/bench-bench.rb +28 -0
  101. data/vendor/qwik/bench-emode.rb +47 -0
  102. data/vendor/qwik/bench-format-xml.rb +70 -0
  103. data/vendor/qwik/bench-large-table.rb +62 -0
  104. data/vendor/qwik/bench-md5.rb +14 -0
  105. data/vendor/qwik/bench-module-session.rb +19 -0
  106. data/vendor/qwik/bench-page.rb +50 -0
  107. data/vendor/qwik/bench-s-md5.rb +28 -0
  108. data/vendor/qwik/bench-session.rb +25 -0
  109. data/vendor/qwik/bench-textformat.rb +31 -0
  110. data/vendor/qwik/catalog-factory.rb +91 -0
  111. data/vendor/qwik/catalog-ja.rb +479 -0
  112. data/vendor/qwik/catalog-ml-ja.rb +145 -0
  113. data/vendor/qwik/check-act-monitor.rb +112 -0
  114. data/vendor/qwik/check-act-monitor2.rb +46 -0
  115. data/vendor/qwik/check-act-theme.rb +27 -0
  116. data/vendor/qwik/check-event.rb +112 -0
  117. data/vendor/qwik/check-event2.rb +55 -0
  118. data/vendor/qwik/check-htree-rexml.rb +77 -0
  119. data/vendor/qwik/check-htree.rb +51 -0
  120. data/vendor/qwik/check-libxml.rb +135 -0
  121. data/vendor/qwik/check-many-pages.rb +47 -0
  122. data/vendor/qwik/check-monitor.rb +33 -0
  123. data/vendor/qwik/check-observer.rb +67 -0
  124. data/vendor/qwik/check-server.rb +61 -0
  125. data/vendor/qwik/check-uuencode.rb +33 -0
  126. data/vendor/qwik/check-webdav.rb +65 -0
  127. data/vendor/qwik/check-xml-xpath.rb +27 -0
  128. data/vendor/qwik/common-backtrace.rb +94 -0
  129. data/vendor/qwik/common-basic.rb +111 -0
  130. data/vendor/qwik/common-condition.rb +142 -0
  131. data/vendor/qwik/common-error.rb +48 -0
  132. data/vendor/qwik/common-gettext.rb +50 -0
  133. data/vendor/qwik/common-javascript.rb +45 -0
  134. data/vendor/qwik/common-notice.rb +132 -0
  135. data/vendor/qwik/common-plain.rb +105 -0
  136. data/vendor/qwik/common-plugin.rb +111 -0
  137. data/vendor/qwik/common-res.rb +76 -0
  138. data/vendor/qwik/common-resolve.rb +92 -0
  139. data/vendor/qwik/common-send.rb +171 -0
  140. data/vendor/qwik/common-session.rb +139 -0
  141. data/vendor/qwik/common-surface.rb +261 -0
  142. data/vendor/qwik/common-url.rb +90 -0
  143. data/vendor/qwik/compat/Makefile +12 -0
  144. data/vendor/qwik/compat/add_load_path.rb +1 -0
  145. data/vendor/qwik/config.rb +299 -0
  146. data/vendor/qwik/db-b-backup.rb +142 -0
  147. data/vendor/qwik/db-backup.rb +184 -0
  148. data/vendor/qwik/db-berkeley.rb +306 -0
  149. data/vendor/qwik/db-filesystem.rb +305 -0
  150. data/vendor/qwik/db-indexer.rb +154 -0
  151. data/vendor/qwik/db-searchwords.rb +238 -0
  152. data/vendor/qwik/description-ja.rb +267 -0
  153. data/vendor/qwik/description.rb +256 -0
  154. data/vendor/qwik/dev-add-copyright.rb +23 -0
  155. data/vendor/qwik/dev-backup.rb +24 -0
  156. data/vendor/qwik/dev-bench.rb +175 -0
  157. data/vendor/qwik/dev-calctime.rb +52 -0
  158. data/vendor/qwik/dev-css-compressor.rb +60 -0
  159. data/vendor/qwik/dev-extract-catalog.rb +102 -0
  160. data/vendor/qwik/dev-js-compressor.rb +73 -0
  161. data/vendor/qwik/dev-release.rb +235 -0
  162. data/vendor/qwik/dev-replace.rb +353 -0
  163. data/vendor/qwik/dev-sendmail.rb +25 -0
  164. data/vendor/qwik/farm.rb +283 -0
  165. data/vendor/qwik/gettext.rb +56 -0
  166. data/vendor/qwik/group-cond.rb +157 -0
  167. data/vendor/qwik/group-config.rb +247 -0
  168. data/vendor/qwik/group-confirm.rb +147 -0
  169. data/vendor/qwik/group-db.rb +326 -0
  170. data/vendor/qwik/group-mail.rb +195 -0
  171. data/vendor/qwik/group-member.rb +307 -0
  172. data/vendor/qwik/group-sendmail.rb +231 -0
  173. data/vendor/qwik/group-site.rb +374 -0
  174. data/vendor/qwik/group-sweep.rb +63 -0
  175. data/vendor/qwik/group.rb +157 -0
  176. data/vendor/qwik/helper.rb +6 -0
  177. data/vendor/qwik/html-generator.rb +104 -0
  178. data/vendor/qwik/html-to-wabisabi.rb +149 -0
  179. data/vendor/qwik/htree-diff.rb +87 -0
  180. data/vendor/qwik/htree-format-xml.rb +57 -0
  181. data/vendor/qwik/htree-generator.rb +144 -0
  182. data/vendor/qwik/htree-get.rb +251 -0
  183. data/vendor/qwik/htree-html-generator.rb +179 -0
  184. data/vendor/qwik/htree-template.rb +263 -0
  185. data/vendor/qwik/htree-to-wabisabi.rb +171 -0
  186. data/vendor/qwik/loadlib.rb +79 -0
  187. data/vendor/qwik/logger.rb +115 -0
  188. data/vendor/qwik/mail-body.rb +171 -0
  189. data/vendor/qwik/mail-header.rb +474 -0
  190. data/vendor/qwik/mail-multipart.rb +193 -0
  191. data/vendor/qwik/mail-parse.rb +147 -0
  192. data/vendor/qwik/mail.rb +341 -0
  193. data/vendor/qwik/mailaddress.rb +83 -0
  194. data/vendor/qwik/mdlb-model.rb +81 -0
  195. data/vendor/qwik/mdlb-sample.rb +324 -0
  196. data/vendor/qwik/ml-catalog-factory.rb +27 -0
  197. data/vendor/qwik/ml-exception.rb +15 -0
  198. data/vendor/qwik/ml-generator.rb +28 -0
  199. data/vendor/qwik/ml-gettext.rb +137 -0
  200. data/vendor/qwik/ml-logger.rb +82 -0
  201. data/vendor/qwik/ml-memory.rb +65 -0
  202. data/vendor/qwik/ml-msg-validator.rb +86 -0
  203. data/vendor/qwik/ml-processor.rb +609 -0
  204. data/vendor/qwik/ml-quickml-server.rb +122 -0
  205. data/vendor/qwik/ml-sendmail.rb +0 -0
  206. data/vendor/qwik/ml-server.rb +107 -0
  207. data/vendor/qwik/ml-session.rb +348 -0
  208. data/vendor/qwik/ml-sweeper.rb +101 -0
  209. data/vendor/qwik/mock-logger.rb +65 -0
  210. data/vendor/qwik/mock-sendmail.rb +78 -0
  211. data/vendor/qwik/mock-socket.rb +82 -0
  212. data/vendor/qwik/modulobe.rb +406 -0
  213. data/vendor/qwik/mongrel-server.rb +72 -0
  214. data/vendor/qwik/page-files.rb +249 -0
  215. data/vendor/qwik/page-generate.rb +82 -0
  216. data/vendor/qwik/page-get.rb +262 -0
  217. data/vendor/qwik/page-images.rb +168 -0
  218. data/vendor/qwik/page-put.rb +128 -0
  219. data/vendor/qwik/page-rrefs.rb +154 -0
  220. data/vendor/qwik/page-title.rb +0 -0
  221. data/vendor/qwik/page-wikidb.rb +234 -0
  222. data/vendor/qwik/page.rb +67 -0
  223. data/vendor/qwik/pages.rb +444 -0
  224. data/vendor/qwik/parse-plugin.rb +249 -0
  225. data/vendor/qwik/parser-emode.rb +116 -0
  226. data/vendor/qwik/parser-inline.rb +273 -0
  227. data/vendor/qwik/parser.rb +350 -0
  228. data/vendor/qwik/password.rb +183 -0
  229. data/vendor/qwik/periodic.rb +79 -0
  230. data/vendor/qwik/qp.rb +56 -0
  231. data/vendor/qwik/qwik-service.rb +341 -0
  232. data/vendor/qwik/qwik.rb +5 -0
  233. data/vendor/qwik/qwikweb-adduser.rb +34 -0
  234. data/vendor/qwik/qwikweb-catalog-validator.rb +110 -0
  235. data/vendor/qwik/qwikweb-incgen.rb +28 -0
  236. data/vendor/qwik/qwikweb-makesite.rb +41 -0
  237. data/vendor/qwik/qwikweb-server.rb +44 -0
  238. data/vendor/qwik/qwikweb-showpassword.rb +26 -0
  239. data/vendor/qwik/qwikweb-watchlog.rb +67 -0
  240. data/vendor/qwik/request-path.rb +304 -0
  241. data/vendor/qwik/request-ua.rb +76 -0
  242. data/vendor/qwik/request-webrick.rb +81 -0
  243. data/vendor/qwik/request.rb +91 -0
  244. data/vendor/qwik/resolve-tdiary.rb +292 -0
  245. data/vendor/qwik/resolve.rb +121 -0
  246. data/vendor/qwik/response.rb +228 -0
  247. data/vendor/qwik/server-memory.rb +57 -0
  248. data/vendor/qwik/server-webrick.rb +102 -0
  249. data/vendor/qwik/server.rb +252 -0
  250. data/vendor/qwik/site-config.rb +149 -0
  251. data/vendor/qwik/site-db.rb +136 -0
  252. data/vendor/qwik/site-event.rb +162 -0
  253. data/vendor/qwik/site-files.rb +86 -0
  254. data/vendor/qwik/site-group.rb +103 -0
  255. data/vendor/qwik/site-index.rb +47 -0
  256. data/vendor/qwik/site-log.rb +64 -0
  257. data/vendor/qwik/site-member.rb +230 -0
  258. data/vendor/qwik/site-monitor.rb +97 -0
  259. data/vendor/qwik/site-pages.rb +62 -0
  260. data/vendor/qwik/site-plan.rb +139 -0
  261. data/vendor/qwik/site-report.rb +282 -0
  262. data/vendor/qwik/site-resolve.rb +230 -0
  263. data/vendor/qwik/site-rrefs.rb +18 -0
  264. data/vendor/qwik/site-search.rb +180 -0
  265. data/vendor/qwik/site-timeline.rb +153 -0
  266. data/vendor/qwik/site-url.rb +189 -0
  267. data/vendor/qwik/site.rb +76 -0
  268. data/vendor/qwik/smil-time.rb +105 -0
  269. data/vendor/qwik/smtp-session.rb +331 -0
  270. data/vendor/qwik/template-generator.rb +149 -0
  271. data/vendor/qwik/template.rb +85 -0
  272. data/vendor/qwik/test-common.rb +10 -0
  273. data/vendor/qwik/test-ml-info.rb +225 -0
  274. data/vendor/qwik/test-module-ml.rb +142 -0
  275. data/vendor/qwik/test-module-path.rb +110 -0
  276. data/vendor/qwik/test-module-public.rb +70 -0
  277. data/vendor/qwik/test-module-server.rb +98 -0
  278. data/vendor/qwik/test-module-session.rb +264 -0
  279. data/vendor/qwik/test-module-suite.rb +91 -0
  280. data/vendor/qwik/test-ms-applemail.rb +59 -0
  281. data/vendor/qwik/test-ms-attach.rb +174 -0
  282. data/vendor/qwik/test-ms-basic.rb +40 -0
  283. data/vendor/qwik/test-ms-close.rb +35 -0
  284. data/vendor/qwik/test-ms-confirm.rb +75 -0
  285. data/vendor/qwik/test-ms-ignore-spam.rb +57 -0
  286. data/vendor/qwik/test-ms-japanese.rb +97 -0
  287. data/vendor/qwik/test-ms-jfilename.rb +82 -0
  288. data/vendor/qwik/test-ms-large.rb +58 -0
  289. data/vendor/qwik/test-ms-member.rb +103 -0
  290. data/vendor/qwik/test-ms-multipart.rb +84 -0
  291. data/vendor/qwik/test-ms-org.rb +129 -0
  292. data/vendor/qwik/test-ms-plan.rb +130 -0
  293. data/vendor/qwik/test-ms-post.rb +53 -0
  294. data/vendor/qwik/test-ms-quopri.rb +76 -0
  295. data/vendor/qwik/test-sub-quopri.rb +45 -0
  296. data/vendor/qwik/test-submit-base64.rb +59 -0
  297. data/vendor/qwik/test-submit-forward.rb +61 -0
  298. data/vendor/qwik/test-submit-html-mail.rb +52 -0
  299. data/vendor/qwik/test-submit-japanese.rb +135 -0
  300. data/vendor/qwik/test-submit-jfilename.rb +144 -0
  301. data/vendor/qwik/test-submit-uuencode.rb +71 -0
  302. data/vendor/qwik/test-suite-all.rb +8 -0
  303. data/vendor/qwik/test-suite-basic.rb +9 -0
  304. data/vendor/qwik/test-suite-ml.rb +9 -0
  305. data/vendor/qwik/test-typekey.rb +64 -0
  306. data/vendor/qwik/testunit.rb +45 -0
  307. data/vendor/qwik/tokenizer-inline.rb +294 -0
  308. data/vendor/qwik/tokenizer.rb +332 -0
  309. data/vendor/qwik/typekey.rb +160 -0
  310. data/vendor/qwik/util-basic.rb +135 -0
  311. data/vendor/qwik/util-charset.rb +332 -0
  312. data/vendor/qwik/util-css.rb +56 -0
  313. data/vendor/qwik/util-csv-tokenizer.rb +113 -0
  314. data/vendor/qwik/util-filename.rb +112 -0
  315. data/vendor/qwik/util-pathname.rb +202 -0
  316. data/vendor/qwik/util-pid.rb +58 -0
  317. data/vendor/qwik/util-safe.rb +67 -0
  318. data/vendor/qwik/util-sendmail.rb +273 -0
  319. data/vendor/qwik/util-string.rb +203 -0
  320. data/vendor/qwik/util-time.rb +125 -0
  321. data/vendor/qwik/util-webrick.rb +176 -0
  322. data/vendor/qwik/version.rb +11 -0
  323. data/vendor/qwik/wabisabi-basic.rb +163 -0
  324. data/vendor/qwik/wabisabi-diff.rb +130 -0
  325. data/vendor/qwik/wabisabi-format-xml.rb +310 -0
  326. data/vendor/qwik/wabisabi-generator.rb +262 -0
  327. data/vendor/qwik/wabisabi-index.rb +174 -0
  328. data/vendor/qwik/wabisabi-table.rb +212 -0
  329. data/vendor/qwik/wabisabi-template.rb +295 -0
  330. data/vendor/qwik/wabisabi-to-htree.rb +111 -0
  331. data/vendor/qwik/wabisabi-to-wiki.rb +690 -0
  332. data/vendor/qwik/wabisabi-traverse.rb +207 -0
  333. data/vendor/qwik/wabisabi-validator.rb +116 -0
  334. data/vendor/qwik/wabisabi.rb +5 -0
  335. metadata +416 -0
@@ -0,0 +1,98 @@
1
+ #
2
+ # Copyright (C) 2001-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
+ require 'thread'
11
+
12
+ class AutoReload
13
+ def self.start(interval, verbose = false, name=nil)
14
+ ar = AutoReload.new
15
+ ar.verbose = verbose
16
+ ar.name = name
17
+ ar.autoreload(interval)
18
+ end
19
+
20
+ def initialize
21
+ @status = {}
22
+ @thread = nil
23
+ @verbose = false
24
+ @name = nil
25
+ end
26
+ attr_accessor :verbose
27
+ attr_accessor :name
28
+
29
+ def message(str)
30
+ msg = str
31
+ msg = @name.to_s+': '+msg if @name
32
+ return msg
33
+ end
34
+
35
+ def autoreload(interval)
36
+ @thread = Thread.new {
37
+ loop {
38
+ begin
39
+ update
40
+ rescue Exception
41
+ STDOUT.puts(message('reload: '+$!))
42
+ end
43
+ sleep interval
44
+ }
45
+ }
46
+ @thread.abort_on_exception = true
47
+ end
48
+
49
+ private
50
+
51
+ def update
52
+ check_lib = [$0] + $"
53
+ check_lib.each {|lib|
54
+ check_lib(lib)
55
+ }
56
+ end
57
+
58
+ def check_lib(lib)
59
+ if @status[lib]
60
+ file, mtime = @status[lib]
61
+ return if ! FileTest.exist?(file) # file is disappered.
62
+ curtime = File.mtime(file).to_i
63
+ if mtime < curtime
64
+ if @verbose
65
+ $stdout.puts(message("reload: \"#{file}\""))
66
+ end
67
+ load file # Load it.
68
+ @status[lib] = [file, curtime]
69
+ end
70
+ return
71
+ end
72
+
73
+ check_path = [''] + $LOAD_PATH
74
+ #check_path = ['']
75
+ check_path.each {|path|
76
+ file = File.join(path, lib)
77
+ file = lib if path.empty? # Check if the lib is a filename.
78
+ if FileTest.exist?(file)
79
+ @status[lib] = [file, File.mtime(file).to_i]
80
+ return
81
+ end
82
+ }
83
+
84
+ #raise "The library '#{lib}' is not found."
85
+ # $stdout.puts(message("The library '#{lib}' is not found.")) if @verbose
86
+ end
87
+
88
+ def get_status(file)
89
+ if FileTest.exist?(file)
90
+ return [file, File.mtime(file).to_i]
91
+ end
92
+ return nil
93
+ end
94
+ end
95
+
96
+ def autoreload(*a)
97
+ AutoReload.start(*a)
98
+ end
@@ -0,0 +1,28 @@
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/bench-module-session'
7
+
8
+ class BenchBenchmark
9
+ def self.bench_itself
10
+ puts Benchmark.measure { 'a'*1_000_000 }
11
+
12
+ n = 50_000
13
+ Benchmark.bm(7) {|x|
14
+ x.report { for i in 1..n; a = '1'; end }
15
+ x.report { n.times do ; a = '1'; end }
16
+ x.report { 1.upto(n) do ; a = '1'; end }
17
+ }
18
+ end
19
+
20
+ def self.bench_benchmark
21
+ BenchmarkModule::benchmark {
22
+ 'a'*10_000_000
23
+ }
24
+ end
25
+ end
26
+
27
+ #BenchBenchmark::bench_itself
28
+ BenchBenchmark::bench_benchmark
@@ -0,0 +1,47 @@
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/bench-module-session'
7
+ require 'qwik/test-common'
8
+
9
+ class BenchEmode < Test::Unit::TestCase
10
+ include TestSession
11
+
12
+ def copy_all
13
+ pages = []
14
+ src = @org_sites_dir.path+'eto.com'
15
+ dest = @dir
16
+ return nil unless src.exist?
17
+ src.each_entry {|file|
18
+ if /\A\d\d\d\d\.txt\z/ =~ file.to_s
19
+ str = (src+file).read
20
+ (dest+file).put(str)
21
+ base = file.to_s.sub('.txt', '')
22
+ pages << base
23
+ end
24
+ }
25
+ pages
26
+ end
27
+
28
+ def nutest_0008
29
+ copy_all
30
+ t_add_user
31
+ session('/test/0008.html')
32
+ body = @res.body.format_xml
33
+ end
34
+
35
+ def test_bench000
36
+ repeat = 10
37
+ pages = copy_all
38
+ return if pages.nil?
39
+ t_add_user
40
+ repeat.times {
41
+ pages.each {|base|
42
+ session("/test/#{base}.html")
43
+ body = @res.body.format_xml
44
+ }
45
+ }
46
+ end
47
+ end
@@ -0,0 +1,70 @@
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/bench-module-session'
8
+ require 'qwik/wabisabi-format-xml'
9
+
10
+ class BenchFormatXml
11
+ XML_FORMATTER_EXAMPLE =
12
+ [[:'!DOCTYPE', 'html', 'PUBLIC', '-//W3C//DTD HTML 4.01 Transitional//EN', 'http://www.w3.org/TR/html4/loose.dtd'],
13
+ [:html,
14
+ [:head, {:id=>'header'},
15
+ [[:title, 'TestPage - example.com/test'],
16
+ [:link, {:type=>'text/css', :rel=>'stylesheet', :media=>'screen,tv,print', :href=>'/.theme/qwikgreen/qwikgreen.css'}],
17
+ [:link, {:type=>'text/css', :rel=>'stylesheet', :media=>'screen,tv,print', :href=>'/.theme/base.css'}]]],
18
+ [:body,
19
+ [:div, {:class=>'container'},
20
+ [:div, {:class=>'main'},
21
+ [:div, {:id=>'adminmenu', :class=>'adminmenu'},
22
+ [[:span, {:class=>'loginstatus'}, 'user | ', [:em, 'user@e.com'], ' (', [:a, {:href=>'.logout'}, 'logout'], ')'],
23
+ [:ul,
24
+ [:li, [:a, {:href=>'.new'}, '�V�K�쐬']],
25
+ [:li, [:a, {:href=>'TestPage.edit'}, '�ҏW']]]]],
26
+ [:h1, {:id=>'view_title'}, 'TestPage'],
27
+ [:div, {:id=>'body'},
28
+ [[:div, {:class=>'day'},
29
+ [:h2, 'h2'],
30
+ [:div, {:class=>'body'},
31
+ [:div, {:class=>'section'}, [[:p, 'text']]]]]]],
32
+ [:div, {:id=>'body_leave'},
33
+ [:div, {:class=>'day'},
34
+ [:div, {:class=>'comment'},
35
+ [:div, {:class=>'caption'},
36
+ [:div, {:class=>'page_attribute'},
37
+ [:div, {:class=>'qrcode'},
38
+ [:a, {:href=>'http://example.com/test/'},
39
+ [:img, {:src=>'.attach/qrcode-test.png', :alt=>'http://example.com/test/'}],
40
+ [:br], 'http://example.com/test/']],
41
+ [:div, 'last modified: 2004-10-05'],
42
+ [:a, {:href=>'TestPage.backup'}, 'Backup list']]]],
43
+ [:div, {:class=>'body_leave'}, '']]]],
44
+ [:div, {:id=>'sidemenu', :class=>'sidebar'},
45
+ [[:h2, 'menu'],
46
+ [:ul,
47
+ [:li, [:a, {:href=>'/test/FrontPage.html'}, 'FrontPage']],
48
+ [:li, [:a, {:href=>'/test/TitleList.html'}, 'TitleList']],
49
+ [:li, [:a, {:href=>'/test/RecentList.html'}, 'RecentList']],
50
+ [:li, [:a, {:href=>'/test/TextFormat.html'}, 'TextFormat']],
51
+ [:li, [:a, {:href=>'/test/_SiteMenu.html'}, '_SiteMenu']]],
52
+ [:h2, 'recent change'],
53
+ [:h3, '2004-10-05'],
54
+ [:ul, [:li, [:a, {:href=>'/test/TestPage.html'}, 'TestPage']]]]],
55
+ [:div, {:id=>'footer', :class=>'footer'},
56
+ [[:p, 'powered by ',
57
+ [:a, {:class=>'external', :href=>'http://example.com/'}, 'qwikWeb']]]]]]]]
58
+
59
+ def self.main
60
+ ws = XML_FORMATTER_EXAMPLE
61
+ n = 10000
62
+ BenchmarkModule::benchmark {
63
+ n.times {
64
+ dummy = ws.format_xml
65
+ }
66
+ }
67
+ end
68
+ end
69
+
70
+ BenchFormatXml.main
@@ -0,0 +1,62 @@
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/bench-module-session'
7
+ require 'qwik/test-module-session'
8
+ require 'qwik/server'
9
+
10
+ class BenchLargeTable
11
+ include TestSession
12
+ include BenchmarkModule
13
+
14
+ def self.run
15
+ self.new.main
16
+ end
17
+
18
+ def main
19
+ setup
20
+ bench_all
21
+ teardown
22
+ end
23
+
24
+ def generate_large_table(table_line_num)
25
+ str = ''
26
+ table_line_num.times {|n|
27
+ str << "|#{n}|1|2|3|4|5|6|7|8|9|0\n"
28
+ }
29
+ return str
30
+ end
31
+
32
+ def bench_all
33
+ t_add_user
34
+
35
+ table_line_num = 10
36
+ table_line_num = 100
37
+ table_line_num = 1000
38
+ #table_line_num = 10000
39
+
40
+ # 1000 times.
41
+
42
+ # Regexp version.
43
+ # 2.700000 0.660000 3.360000 ( 3.358553)
44
+ # 2.690000 0.650000 3.340000 ( 3.326321)
45
+ # 2.740000 0.620000 3.360000 ( 3.354227)
46
+
47
+ # strscan version.
48
+ # 2.730000 0.430000 3.160000 ( 3.145743)
49
+ # 2.480000 0.670000 3.150000 ( 3.157546)
50
+ # 2.590000 0.580000 3.170000 ( 3.176562)
51
+
52
+ page = @site.create_new
53
+ page.store(generate_large_table(table_line_num))
54
+
55
+ benchmark {
56
+ res = session('/test/1.html')
57
+ dummy_str = res.setback_body(res.body)
58
+ }
59
+ end
60
+ end
61
+
62
+ BenchLargeTable.run
@@ -0,0 +1,14 @@
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
+ require 'md5'
6
+ require 'benchmark'
7
+
8
+ Benchmark.bm {|x|
9
+ x.report {
10
+ 100000.times {
11
+ t = MD5.hexdigest('t')
12
+ }
13
+ }
14
+ }
@@ -0,0 +1,19 @@
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
+ require 'benchmark'
6
+
7
+ module BenchmarkModule
8
+ def benchmark
9
+ result = nil
10
+ Benchmark.bm {|x|
11
+ x.report {
12
+ result = yield
13
+ }
14
+ }
15
+ return result
16
+ end
17
+
18
+ module_function :benchmark
19
+ end
@@ -0,0 +1,50 @@
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/bench-module-session'
7
+ require 'qwik/test-module-session'
8
+ require 'qwik/pages'
9
+
10
+ class BenchPages
11
+ include TestSession
12
+ include BenchmarkModule
13
+
14
+ def self.main
15
+ b = self.new
16
+ b.setup
17
+ b.bench_all
18
+ b.teardown
19
+ end
20
+
21
+ def setup
22
+ @config = Qwik::Config.new
23
+ @dir = 'test/'.path
24
+ @wwwdir = @dir
25
+
26
+ # setup dir
27
+ @wwwdir = 'www/'.path
28
+ @wwwdir.setup
29
+ @dir = 'test/'.path
30
+ @dir.setup
31
+
32
+ @pages = Qwik::Pages.new(@config, @dir)
33
+ end
34
+
35
+ def bench_all
36
+ n = 10000
37
+ page = @pages['TextFormat']
38
+ benchmark {
39
+ n.times {
40
+ title = page.get_title
41
+ #title = page.key
42
+ }
43
+ }
44
+ @pages.erase_all if @pages
45
+ end
46
+ end
47
+
48
+ if $0 == __FILE__
49
+ BenchPages.main
50
+ end
@@ -0,0 +1,28 @@
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/test-common'
7
+ require 'qwik/act-md5'
8
+
9
+ class BenchMD5Session < Test::Unit::TestCase
10
+ include TestSession
11
+
12
+ def test_all
13
+ repeat = 10
14
+ repeat = 100
15
+ repeat = 1000
16
+ repeat = 10000
17
+ repeat = 1
18
+
19
+ t_add_user
20
+
21
+ repeat.times {
22
+ res = session('/test/TextFormat.md5')
23
+ #body = res.body.format_xml
24
+ #ok_title("�����ꗗ�ڍה�")
25
+ ok_eq('2ee66272e916d3c21c151920c94334aa', res.body)
26
+ }
27
+ end
28
+ end
@@ -0,0 +1,25 @@
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/test-common'
7
+
8
+ class BenchSession < Test::Unit::TestCase
9
+ include TestSession
10
+
11
+ def test_bench_session
12
+ repeat = 10
13
+ repeat = 100
14
+ #repeat = 1000
15
+ repeat = 1
16
+
17
+ t_add_user
18
+
19
+ repeat.times {
20
+ res = session('/test/TextFormat.html')
21
+ body = res.body.format_xml
22
+ #ok_title("�����ꗗ�ڍה�")
23
+ }
24
+ end
25
+ end