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.
- data/.gitignore +5 -0
- data/.rspec +2 -0
- data/CHANGES +3 -0
- data/COPYING +340 -0
- data/Gemfile +3 -0
- data/README.md +10 -0
- data/Rakefile +10 -0
- data/TextFormattingRules +137 -0
- data/TextFormattingRules.ja +143 -0
- data/bin/qwikdoc +34 -0
- data/lib/qwik_doc.rb +15 -0
- data/lib/qwik_doc/hack.rb +184 -0
- data/qwikdoc.gemspec +26 -0
- data/spec/qwik_doc_spec.rb +305 -0
- data/spec/spec_helper.rb +12 -0
- data/vendor/qwik/Makefile +63 -0
- data/vendor/qwik/Rakefile +17 -0
- data/vendor/qwik/act-aa.rb +83 -0
- data/vendor/qwik/act-archive.rb +386 -0
- data/vendor/qwik/act-attach.rb +304 -0
- data/vendor/qwik/act-backup.rb +236 -0
- data/vendor/qwik/act-basic.rb +325 -0
- data/vendor/qwik/act-book.rb +161 -0
- data/vendor/qwik/act-calc.rb +371 -0
- data/vendor/qwik/act-charset.rb +251 -0
- data/vendor/qwik/act-christel.rb +112 -0
- data/vendor/qwik/act-chronology.rb +149 -0
- data/vendor/qwik/act-code.rb +155 -0
- data/vendor/qwik/act-comment.rb +554 -0
- data/vendor/qwik/act-config.rb +49 -0
- data/vendor/qwik/act-counter.rb +125 -0
- data/vendor/qwik/act-day.rb +96 -0
- data/vendor/qwik/act-describe.rb +135 -0
- data/vendor/qwik/act-diary.rb +109 -0
- data/vendor/qwik/act-edit.rb +317 -0
- data/vendor/qwik/act-embed-html.rb +296 -0
- data/vendor/qwik/act-emode.rb +150 -0
- data/vendor/qwik/act-event.rb +187 -0
- data/vendor/qwik/act-file.rb +303 -0
- data/vendor/qwik/act-files.rb +771 -0
- data/vendor/qwik/act-getpass.rb +295 -0
- data/vendor/qwik/act-history.rb +136 -0
- data/vendor/qwik/act-html.rb +204 -0
- data/vendor/qwik/act-httpauth.rb +147 -0
- data/vendor/qwik/act-include.rb +142 -0
- data/vendor/qwik/act-interwiki.rb +189 -0
- data/vendor/qwik/act-isearch.rb +109 -0
- data/vendor/qwik/act-keywords.rb +137 -0
- data/vendor/qwik/act-lang.rb +81 -0
- data/vendor/qwik/act-license.rb +63 -0
- data/vendor/qwik/act-list.rb +287 -0
- data/vendor/qwik/act-login.rb +410 -0
- data/vendor/qwik/act-logout.rb +60 -0
- data/vendor/qwik/act-mail.rb +159 -0
- data/vendor/qwik/act-map.rb +292 -0
- data/vendor/qwik/act-md5.rb +42 -0
- data/vendor/qwik/act-mdlb.rb +741 -0
- data/vendor/qwik/act-media.rb +416 -0
- data/vendor/qwik/act-member.rb +157 -0
- data/vendor/qwik/act-menu.rb +142 -0
- data/vendor/qwik/act-metadata.rb +323 -0
- data/vendor/qwik/act-mlsubmitform.rb +49 -0
- data/vendor/qwik/act-monitor.rb +167 -0
- data/vendor/qwik/act-new.rb +418 -0
- data/vendor/qwik/act-pagelist.rb +248 -0
- data/vendor/qwik/act-password.rb +145 -0
- data/vendor/qwik/act-plan.rb +210 -0
- data/vendor/qwik/act-povray.rb +230 -0
- data/vendor/qwik/act-presen.rb +380 -0
- data/vendor/qwik/act-redirect.rb +133 -0
- data/vendor/qwik/act-ring.rb +1071 -0
- data/vendor/qwik/act-rrefs.rb +255 -0
- data/vendor/qwik/act-ruby.rb +116 -0
- data/vendor/qwik/act-sample.rb +170 -0
- data/vendor/qwik/act-save.rb +295 -0
- data/vendor/qwik/act-schedule.rb +374 -0
- data/vendor/qwik/act-search.rb +180 -0
- data/vendor/qwik/act-searchwords.rb +51 -0
- data/vendor/qwik/act-sendpass.rb +83 -0
- data/vendor/qwik/act-site.rb +89 -0
- data/vendor/qwik/act-sitebackup.rb +419 -0
- data/vendor/qwik/act-sitelog.rb +118 -0
- data/vendor/qwik/act-smil.rb +299 -0
- data/vendor/qwik/act-status.rb +220 -0
- data/vendor/qwik/act-style.rb +608 -0
- data/vendor/qwik/act-table.rb +263 -0
- data/vendor/qwik/act-tableform.rb +241 -0
- data/vendor/qwik/act-tag.rb +103 -0
- data/vendor/qwik/act-text.rb +70 -0
- data/vendor/qwik/act-textarea.rb +164 -0
- data/vendor/qwik/act-theme.rb +346 -0
- data/vendor/qwik/act-toc.rb +112 -0
- data/vendor/qwik/act-typekey.rb +198 -0
- data/vendor/qwik/act-under-const.rb +94 -0
- data/vendor/qwik/act-webservice.rb +321 -0
- data/vendor/qwik/act-wema.rb +558 -0
- data/vendor/qwik/act-wysiwyg.rb +238 -0
- data/vendor/qwik/action.rb +325 -0
- data/vendor/qwik/autoreload.rb +98 -0
- data/vendor/qwik/bench-bench.rb +28 -0
- data/vendor/qwik/bench-emode.rb +47 -0
- data/vendor/qwik/bench-format-xml.rb +70 -0
- data/vendor/qwik/bench-large-table.rb +62 -0
- data/vendor/qwik/bench-md5.rb +14 -0
- data/vendor/qwik/bench-module-session.rb +19 -0
- data/vendor/qwik/bench-page.rb +50 -0
- data/vendor/qwik/bench-s-md5.rb +28 -0
- data/vendor/qwik/bench-session.rb +25 -0
- data/vendor/qwik/bench-textformat.rb +31 -0
- data/vendor/qwik/catalog-factory.rb +91 -0
- data/vendor/qwik/catalog-ja.rb +479 -0
- data/vendor/qwik/catalog-ml-ja.rb +145 -0
- data/vendor/qwik/check-act-monitor.rb +112 -0
- data/vendor/qwik/check-act-monitor2.rb +46 -0
- data/vendor/qwik/check-act-theme.rb +27 -0
- data/vendor/qwik/check-event.rb +112 -0
- data/vendor/qwik/check-event2.rb +55 -0
- data/vendor/qwik/check-htree-rexml.rb +77 -0
- data/vendor/qwik/check-htree.rb +51 -0
- data/vendor/qwik/check-libxml.rb +135 -0
- data/vendor/qwik/check-many-pages.rb +47 -0
- data/vendor/qwik/check-monitor.rb +33 -0
- data/vendor/qwik/check-observer.rb +67 -0
- data/vendor/qwik/check-server.rb +61 -0
- data/vendor/qwik/check-uuencode.rb +33 -0
- data/vendor/qwik/check-webdav.rb +65 -0
- data/vendor/qwik/check-xml-xpath.rb +27 -0
- data/vendor/qwik/common-backtrace.rb +94 -0
- data/vendor/qwik/common-basic.rb +111 -0
- data/vendor/qwik/common-condition.rb +142 -0
- data/vendor/qwik/common-error.rb +48 -0
- data/vendor/qwik/common-gettext.rb +50 -0
- data/vendor/qwik/common-javascript.rb +45 -0
- data/vendor/qwik/common-notice.rb +132 -0
- data/vendor/qwik/common-plain.rb +105 -0
- data/vendor/qwik/common-plugin.rb +111 -0
- data/vendor/qwik/common-res.rb +76 -0
- data/vendor/qwik/common-resolve.rb +92 -0
- data/vendor/qwik/common-send.rb +171 -0
- data/vendor/qwik/common-session.rb +139 -0
- data/vendor/qwik/common-surface.rb +261 -0
- data/vendor/qwik/common-url.rb +90 -0
- data/vendor/qwik/compat/Makefile +12 -0
- data/vendor/qwik/compat/add_load_path.rb +1 -0
- data/vendor/qwik/config.rb +299 -0
- data/vendor/qwik/db-b-backup.rb +142 -0
- data/vendor/qwik/db-backup.rb +184 -0
- data/vendor/qwik/db-berkeley.rb +306 -0
- data/vendor/qwik/db-filesystem.rb +305 -0
- data/vendor/qwik/db-indexer.rb +154 -0
- data/vendor/qwik/db-searchwords.rb +238 -0
- data/vendor/qwik/description-ja.rb +267 -0
- data/vendor/qwik/description.rb +256 -0
- data/vendor/qwik/dev-add-copyright.rb +23 -0
- data/vendor/qwik/dev-backup.rb +24 -0
- data/vendor/qwik/dev-bench.rb +175 -0
- data/vendor/qwik/dev-calctime.rb +52 -0
- data/vendor/qwik/dev-css-compressor.rb +60 -0
- data/vendor/qwik/dev-extract-catalog.rb +102 -0
- data/vendor/qwik/dev-js-compressor.rb +73 -0
- data/vendor/qwik/dev-release.rb +235 -0
- data/vendor/qwik/dev-replace.rb +353 -0
- data/vendor/qwik/dev-sendmail.rb +25 -0
- data/vendor/qwik/farm.rb +283 -0
- data/vendor/qwik/gettext.rb +56 -0
- data/vendor/qwik/group-cond.rb +157 -0
- data/vendor/qwik/group-config.rb +247 -0
- data/vendor/qwik/group-confirm.rb +147 -0
- data/vendor/qwik/group-db.rb +326 -0
- data/vendor/qwik/group-mail.rb +195 -0
- data/vendor/qwik/group-member.rb +307 -0
- data/vendor/qwik/group-sendmail.rb +231 -0
- data/vendor/qwik/group-site.rb +374 -0
- data/vendor/qwik/group-sweep.rb +63 -0
- data/vendor/qwik/group.rb +157 -0
- data/vendor/qwik/helper.rb +6 -0
- data/vendor/qwik/html-generator.rb +104 -0
- data/vendor/qwik/html-to-wabisabi.rb +149 -0
- data/vendor/qwik/htree-diff.rb +87 -0
- data/vendor/qwik/htree-format-xml.rb +57 -0
- data/vendor/qwik/htree-generator.rb +144 -0
- data/vendor/qwik/htree-get.rb +251 -0
- data/vendor/qwik/htree-html-generator.rb +179 -0
- data/vendor/qwik/htree-template.rb +263 -0
- data/vendor/qwik/htree-to-wabisabi.rb +171 -0
- data/vendor/qwik/loadlib.rb +79 -0
- data/vendor/qwik/logger.rb +115 -0
- data/vendor/qwik/mail-body.rb +171 -0
- data/vendor/qwik/mail-header.rb +474 -0
- data/vendor/qwik/mail-multipart.rb +193 -0
- data/vendor/qwik/mail-parse.rb +147 -0
- data/vendor/qwik/mail.rb +341 -0
- data/vendor/qwik/mailaddress.rb +83 -0
- data/vendor/qwik/mdlb-model.rb +81 -0
- data/vendor/qwik/mdlb-sample.rb +324 -0
- data/vendor/qwik/ml-catalog-factory.rb +27 -0
- data/vendor/qwik/ml-exception.rb +15 -0
- data/vendor/qwik/ml-generator.rb +28 -0
- data/vendor/qwik/ml-gettext.rb +137 -0
- data/vendor/qwik/ml-logger.rb +82 -0
- data/vendor/qwik/ml-memory.rb +65 -0
- data/vendor/qwik/ml-msg-validator.rb +86 -0
- data/vendor/qwik/ml-processor.rb +609 -0
- data/vendor/qwik/ml-quickml-server.rb +122 -0
- data/vendor/qwik/ml-sendmail.rb +0 -0
- data/vendor/qwik/ml-server.rb +107 -0
- data/vendor/qwik/ml-session.rb +348 -0
- data/vendor/qwik/ml-sweeper.rb +101 -0
- data/vendor/qwik/mock-logger.rb +65 -0
- data/vendor/qwik/mock-sendmail.rb +78 -0
- data/vendor/qwik/mock-socket.rb +82 -0
- data/vendor/qwik/modulobe.rb +406 -0
- data/vendor/qwik/mongrel-server.rb +72 -0
- data/vendor/qwik/page-files.rb +249 -0
- data/vendor/qwik/page-generate.rb +82 -0
- data/vendor/qwik/page-get.rb +262 -0
- data/vendor/qwik/page-images.rb +168 -0
- data/vendor/qwik/page-put.rb +128 -0
- data/vendor/qwik/page-rrefs.rb +154 -0
- data/vendor/qwik/page-title.rb +0 -0
- data/vendor/qwik/page-wikidb.rb +234 -0
- data/vendor/qwik/page.rb +67 -0
- data/vendor/qwik/pages.rb +444 -0
- data/vendor/qwik/parse-plugin.rb +249 -0
- data/vendor/qwik/parser-emode.rb +116 -0
- data/vendor/qwik/parser-inline.rb +273 -0
- data/vendor/qwik/parser.rb +350 -0
- data/vendor/qwik/password.rb +183 -0
- data/vendor/qwik/periodic.rb +79 -0
- data/vendor/qwik/qp.rb +56 -0
- data/vendor/qwik/qwik-service.rb +341 -0
- data/vendor/qwik/qwik.rb +5 -0
- data/vendor/qwik/qwikweb-adduser.rb +34 -0
- data/vendor/qwik/qwikweb-catalog-validator.rb +110 -0
- data/vendor/qwik/qwikweb-incgen.rb +28 -0
- data/vendor/qwik/qwikweb-makesite.rb +41 -0
- data/vendor/qwik/qwikweb-server.rb +44 -0
- data/vendor/qwik/qwikweb-showpassword.rb +26 -0
- data/vendor/qwik/qwikweb-watchlog.rb +67 -0
- data/vendor/qwik/request-path.rb +304 -0
- data/vendor/qwik/request-ua.rb +76 -0
- data/vendor/qwik/request-webrick.rb +81 -0
- data/vendor/qwik/request.rb +91 -0
- data/vendor/qwik/resolve-tdiary.rb +292 -0
- data/vendor/qwik/resolve.rb +121 -0
- data/vendor/qwik/response.rb +228 -0
- data/vendor/qwik/server-memory.rb +57 -0
- data/vendor/qwik/server-webrick.rb +102 -0
- data/vendor/qwik/server.rb +252 -0
- data/vendor/qwik/site-config.rb +149 -0
- data/vendor/qwik/site-db.rb +136 -0
- data/vendor/qwik/site-event.rb +162 -0
- data/vendor/qwik/site-files.rb +86 -0
- data/vendor/qwik/site-group.rb +103 -0
- data/vendor/qwik/site-index.rb +47 -0
- data/vendor/qwik/site-log.rb +64 -0
- data/vendor/qwik/site-member.rb +230 -0
- data/vendor/qwik/site-monitor.rb +97 -0
- data/vendor/qwik/site-pages.rb +62 -0
- data/vendor/qwik/site-plan.rb +139 -0
- data/vendor/qwik/site-report.rb +282 -0
- data/vendor/qwik/site-resolve.rb +230 -0
- data/vendor/qwik/site-rrefs.rb +18 -0
- data/vendor/qwik/site-search.rb +180 -0
- data/vendor/qwik/site-timeline.rb +153 -0
- data/vendor/qwik/site-url.rb +189 -0
- data/vendor/qwik/site.rb +76 -0
- data/vendor/qwik/smil-time.rb +105 -0
- data/vendor/qwik/smtp-session.rb +331 -0
- data/vendor/qwik/template-generator.rb +149 -0
- data/vendor/qwik/template.rb +85 -0
- data/vendor/qwik/test-common.rb +10 -0
- data/vendor/qwik/test-ml-info.rb +225 -0
- data/vendor/qwik/test-module-ml.rb +142 -0
- data/vendor/qwik/test-module-path.rb +110 -0
- data/vendor/qwik/test-module-public.rb +70 -0
- data/vendor/qwik/test-module-server.rb +98 -0
- data/vendor/qwik/test-module-session.rb +264 -0
- data/vendor/qwik/test-module-suite.rb +91 -0
- data/vendor/qwik/test-ms-applemail.rb +59 -0
- data/vendor/qwik/test-ms-attach.rb +174 -0
- data/vendor/qwik/test-ms-basic.rb +40 -0
- data/vendor/qwik/test-ms-close.rb +35 -0
- data/vendor/qwik/test-ms-confirm.rb +75 -0
- data/vendor/qwik/test-ms-ignore-spam.rb +57 -0
- data/vendor/qwik/test-ms-japanese.rb +97 -0
- data/vendor/qwik/test-ms-jfilename.rb +82 -0
- data/vendor/qwik/test-ms-large.rb +58 -0
- data/vendor/qwik/test-ms-member.rb +103 -0
- data/vendor/qwik/test-ms-multipart.rb +84 -0
- data/vendor/qwik/test-ms-org.rb +129 -0
- data/vendor/qwik/test-ms-plan.rb +130 -0
- data/vendor/qwik/test-ms-post.rb +53 -0
- data/vendor/qwik/test-ms-quopri.rb +76 -0
- data/vendor/qwik/test-sub-quopri.rb +45 -0
- data/vendor/qwik/test-submit-base64.rb +59 -0
- data/vendor/qwik/test-submit-forward.rb +61 -0
- data/vendor/qwik/test-submit-html-mail.rb +52 -0
- data/vendor/qwik/test-submit-japanese.rb +135 -0
- data/vendor/qwik/test-submit-jfilename.rb +144 -0
- data/vendor/qwik/test-submit-uuencode.rb +71 -0
- data/vendor/qwik/test-suite-all.rb +8 -0
- data/vendor/qwik/test-suite-basic.rb +9 -0
- data/vendor/qwik/test-suite-ml.rb +9 -0
- data/vendor/qwik/test-typekey.rb +64 -0
- data/vendor/qwik/testunit.rb +45 -0
- data/vendor/qwik/tokenizer-inline.rb +294 -0
- data/vendor/qwik/tokenizer.rb +332 -0
- data/vendor/qwik/typekey.rb +160 -0
- data/vendor/qwik/util-basic.rb +135 -0
- data/vendor/qwik/util-charset.rb +332 -0
- data/vendor/qwik/util-css.rb +56 -0
- data/vendor/qwik/util-csv-tokenizer.rb +113 -0
- data/vendor/qwik/util-filename.rb +112 -0
- data/vendor/qwik/util-pathname.rb +202 -0
- data/vendor/qwik/util-pid.rb +58 -0
- data/vendor/qwik/util-safe.rb +67 -0
- data/vendor/qwik/util-sendmail.rb +273 -0
- data/vendor/qwik/util-string.rb +203 -0
- data/vendor/qwik/util-time.rb +125 -0
- data/vendor/qwik/util-webrick.rb +176 -0
- data/vendor/qwik/version.rb +11 -0
- data/vendor/qwik/wabisabi-basic.rb +163 -0
- data/vendor/qwik/wabisabi-diff.rb +130 -0
- data/vendor/qwik/wabisabi-format-xml.rb +310 -0
- data/vendor/qwik/wabisabi-generator.rb +262 -0
- data/vendor/qwik/wabisabi-index.rb +174 -0
- data/vendor/qwik/wabisabi-table.rb +212 -0
- data/vendor/qwik/wabisabi-template.rb +295 -0
- data/vendor/qwik/wabisabi-to-htree.rb +111 -0
- data/vendor/qwik/wabisabi-to-wiki.rb +690 -0
- data/vendor/qwik/wabisabi-traverse.rb +207 -0
- data/vendor/qwik/wabisabi-validator.rb +116 -0
- data/vendor/qwik/wabisabi.rb +5 -0
- 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
|