tdiary 3.2.2.20130518 → 3.2.2.20130527

Sign up to get free protection for your applications and to get access to all the features.
Files changed (141) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/Gemfile.lock +17 -11
  4. data/Rakefile +2 -0
  5. data/config.ru +2 -1
  6. data/tdiary.gemspec +7 -0
  7. data/tdiary.rb +6 -2
  8. data/tdiary/cli.rb +27 -1
  9. data/tdiary/environment.rb +0 -1
  10. data/tdiary/tasks/release.rake +7 -1
  11. data/tdiary/version.rb +1 -1
  12. metadata +87 -132
  13. data/vendor/hikidoc-0.0.6/COPYING +0 -28
  14. data/vendor/hikidoc-0.0.6/NEWS +0 -30
  15. data/vendor/hikidoc-0.0.6/NEWS.ja +0 -30
  16. data/vendor/hikidoc-0.0.6/README +0 -86
  17. data/vendor/hikidoc-0.0.6/README.ja +0 -83
  18. data/vendor/hikidoc-0.0.6/Rakefile +0 -68
  19. data/vendor/hikidoc-0.0.6/TextFormattingRules +0 -320
  20. data/vendor/hikidoc-0.0.6/TextFormattingRules.ja +0 -318
  21. data/vendor/hikidoc-0.0.6/bin/hikidoc +0 -66
  22. data/vendor/hikidoc-0.0.6/lib/hikidoc.rb +0 -914
  23. data/vendor/hikidoc-0.0.6/setup.rb +0 -1360
  24. data/vendor/hikidoc-0.0.6/test/run-test.rb +0 -13
  25. data/vendor/hikidoc-0.0.6/test/test_hikidoc.rb +0 -506
  26. data/vendor/imagesize-0.1.1/Manifest.txt +0 -19
  27. data/vendor/imagesize-0.1.1/README.txt +0 -49
  28. data/vendor/imagesize-0.1.1/lib/image_size.rb +0 -305
  29. data/vendor/imagesize-0.1.1/lib/image_size/version.rb +0 -9
  30. data/vendor/imagesize-0.1.1/setup.rb +0 -1585
  31. data/vendor/imagesize-0.1.1/test/2-4-7.png +0 -0
  32. data/vendor/imagesize-0.1.1/test/4_1_2.gif +0 -0
  33. data/vendor/imagesize-0.1.1/test/bmp.bmp +0 -0
  34. data/vendor/imagesize-0.1.1/test/cursor.xbm +0 -6
  35. data/vendor/imagesize-0.1.1/test/detect.swf +0 -0
  36. data/vendor/imagesize-0.1.1/test/pbm.pbm +0 -0
  37. data/vendor/imagesize-0.1.1/test/pcx.pcx +0 -0
  38. data/vendor/imagesize-0.1.1/test/pgm.pgm +0 -5
  39. data/vendor/imagesize-0.1.1/test/test.xpm +0 -38
  40. data/vendor/imagesize-0.1.1/test/test_helper.rb +0 -2
  41. data/vendor/imagesize-0.1.1/test/test_image_size.rb +0 -71
  42. data/vendor/imagesize-0.1.1/test/tiff.tiff +0 -0
  43. data/vendor/imagesize-0.1.1/test/tokyo_tower.jpg +0 -0
  44. data/vendor/imagesize-0.1.1/test/tower_e.gif.psd +0 -0
  45. data/vendor/rdtool-0.6.38/COPYING.txt +0 -339
  46. data/vendor/rdtool-0.6.38/Gemfile +0 -3
  47. data/vendor/rdtool-0.6.38/HISTORY +0 -318
  48. data/vendor/rdtool-0.6.38/LGPL-2.1 +0 -502
  49. data/vendor/rdtool-0.6.38/LICENSE.txt +0 -58
  50. data/vendor/rdtool-0.6.38/README.html +0 -66
  51. data/vendor/rdtool-0.6.38/README.ja.html +0 -73
  52. data/vendor/rdtool-0.6.38/README.rd +0 -76
  53. data/vendor/rdtool-0.6.38/README.rd.ja +0 -85
  54. data/vendor/rdtool-0.6.38/Rakefile +0 -152
  55. data/vendor/rdtool-0.6.38/TODO +0 -22
  56. data/vendor/rdtool-0.6.38/bin/rd2 +0 -283
  57. data/vendor/rdtool-0.6.38/bin/rdswap.rb +0 -207
  58. data/vendor/rdtool-0.6.38/doc/rd-draft.html +0 -456
  59. data/vendor/rdtool-0.6.38/doc/rd-draft.ja.html +0 -466
  60. data/vendor/rdtool-0.6.38/doc/rd-draft.rd +0 -479
  61. data/vendor/rdtool-0.6.38/doc/rd-draft.rd.ja +0 -487
  62. data/vendor/rdtool-0.6.38/lib/rd/block-element.rb +0 -114
  63. data/vendor/rdtool-0.6.38/lib/rd/complex-list-item.rb +0 -65
  64. data/vendor/rdtool-0.6.38/lib/rd/desclist.rb +0 -55
  65. data/vendor/rdtool-0.6.38/lib/rd/document-struct.rb +0 -46
  66. data/vendor/rdtool-0.6.38/lib/rd/dot.rd2rc +0 -18
  67. data/vendor/rdtool-0.6.38/lib/rd/element.rb +0 -160
  68. data/vendor/rdtool-0.6.38/lib/rd/filter.rb +0 -255
  69. data/vendor/rdtool-0.6.38/lib/rd/head-filter.rb +0 -14
  70. data/vendor/rdtool-0.6.38/lib/rd/inline-element.rb +0 -233
  71. data/vendor/rdtool-0.6.38/lib/rd/labeled-element.rb +0 -14
  72. data/vendor/rdtool-0.6.38/lib/rd/list.rb +0 -57
  73. data/vendor/rdtool-0.6.38/lib/rd/loose-struct.rb +0 -11
  74. data/vendor/rdtool-0.6.38/lib/rd/methodlist.rb +0 -57
  75. data/vendor/rdtool-0.6.38/lib/rd/output-format-visitor.rb +0 -30
  76. data/vendor/rdtool-0.6.38/lib/rd/package.rb +0 -4
  77. data/vendor/rdtool-0.6.38/lib/rd/parser-util.rb +0 -14
  78. data/vendor/rdtool-0.6.38/lib/rd/post-install +0 -1
  79. data/vendor/rdtool-0.6.38/lib/rd/pre-setup.rb +0 -18
  80. data/vendor/rdtool-0.6.38/lib/rd/rbl-file.rb +0 -69
  81. data/vendor/rdtool-0.6.38/lib/rd/rbl-suite.rb +0 -37
  82. data/vendor/rdtool-0.6.38/lib/rd/rd-struct.rb +0 -86
  83. data/vendor/rdtool-0.6.38/lib/rd/rd2html-ext-lib.rb +0 -266
  84. data/vendor/rdtool-0.6.38/lib/rd/rd2html-ext-opt.rb +0 -34
  85. data/vendor/rdtool-0.6.38/lib/rd/rd2html-lib.rb +0 -490
  86. data/vendor/rdtool-0.6.38/lib/rd/rd2html-opt.rb +0 -67
  87. data/vendor/rdtool-0.6.38/lib/rd/rd2man-lib.rb +0 -251
  88. data/vendor/rdtool-0.6.38/lib/rd/rd2rdo-lib.rb +0 -19
  89. data/vendor/rdtool-0.6.38/lib/rd/rd2rmi-lib.rb +0 -32
  90. data/vendor/rdtool-0.6.38/lib/rd/rdblockparser.ry +0 -518
  91. data/vendor/rdtool-0.6.38/lib/rd/rdblockparser.tab.rb +0 -1061
  92. data/vendor/rdtool-0.6.38/lib/rd/rdfmt.rb +0 -15
  93. data/vendor/rdtool-0.6.38/lib/rd/rdinlineparser.ry +0 -503
  94. data/vendor/rdtool-0.6.38/lib/rd/rdinlineparser.tab.rb +0 -1243
  95. data/vendor/rdtool-0.6.38/lib/rd/rdvisitor.rb +0 -214
  96. data/vendor/rdtool-0.6.38/lib/rd/reference-resolver.rb +0 -114
  97. data/vendor/rdtool-0.6.38/lib/rd/search-file.rb +0 -14
  98. data/vendor/rdtool-0.6.38/lib/rd/tree.rb +0 -103
  99. data/vendor/rdtool-0.6.38/lib/rd/version.rb +0 -41
  100. data/vendor/rdtool-0.6.38/lib/rd/visitor.rb +0 -86
  101. data/vendor/rdtool-0.6.38/rdtool.gemspec +0 -125
  102. data/vendor/rdtool-0.6.38/setup.rb +0 -1596
  103. data/vendor/rdtool-0.6.38/test/data/includee1.html +0 -1
  104. data/vendor/rdtool-0.6.38/test/data/includee2.html +0 -1
  105. data/vendor/rdtool-0.6.38/test/data/includee3.nothtml +0 -1
  106. data/vendor/rdtool-0.6.38/test/data/includee4.xhtml +0 -0
  107. data/vendor/rdtool-0.6.38/test/data/label.rbl +0 -2
  108. data/vendor/rdtool-0.6.38/test/data/label2.rbl +0 -2
  109. data/vendor/rdtool-0.6.38/test/data/sub/includee2.html +0 -1
  110. data/vendor/rdtool-0.6.38/test/data/sub/includee4.html +0 -0
  111. data/vendor/rdtool-0.6.38/test/dummy-observer.rb +0 -6
  112. data/vendor/rdtool-0.6.38/test/dummy.rb +0 -33
  113. data/vendor/rdtool-0.6.38/test/temp-dir.rb +0 -19
  114. data/vendor/rdtool-0.6.38/test/test-block-parser.rb +0 -46
  115. data/vendor/rdtool-0.6.38/test/test-desclist-item.rb +0 -219
  116. data/vendor/rdtool-0.6.38/test/test-document-element.rb +0 -46
  117. data/vendor/rdtool-0.6.38/test/test-document-struct.rb +0 -66
  118. data/vendor/rdtool-0.6.38/test/test-element.rb +0 -46
  119. data/vendor/rdtool-0.6.38/test/test-headline.rb +0 -80
  120. data/vendor/rdtool-0.6.38/test/test-inline-parser.rb +0 -46
  121. data/vendor/rdtool-0.6.38/test/test-list-item.rb +0 -54
  122. data/vendor/rdtool-0.6.38/test/test-list.rb +0 -53
  123. data/vendor/rdtool-0.6.38/test/test-methodlist-item.rb +0 -73
  124. data/vendor/rdtool-0.6.38/test/test-nonterminal-element.rb +0 -170
  125. data/vendor/rdtool-0.6.38/test/test-nonterminal-inline.rb +0 -33
  126. data/vendor/rdtool-0.6.38/test/test-output-format-visitor.rb +0 -48
  127. data/vendor/rdtool-0.6.38/test/test-parser-util.rb +0 -41
  128. data/vendor/rdtool-0.6.38/test/test-rbl-file.rb +0 -156
  129. data/vendor/rdtool-0.6.38/test/test-rbl-suite.rb +0 -43
  130. data/vendor/rdtool-0.6.38/test/test-rd2html-lib.rb +0 -496
  131. data/vendor/rdtool-0.6.38/test/test-rdtree.rb +0 -17
  132. data/vendor/rdtool-0.6.38/test/test-rdvisitor.rb +0 -29
  133. data/vendor/rdtool-0.6.38/test/test-reference-resolver.rb +0 -202
  134. data/vendor/rdtool-0.6.38/test/test-reference.rb +0 -132
  135. data/vendor/rdtool-0.6.38/test/test-search-file.rb +0 -22
  136. data/vendor/rdtool-0.6.38/test/test-terminal-inline.rb +0 -41
  137. data/vendor/rdtool-0.6.38/test/test-textblock.rb +0 -44
  138. data/vendor/rdtool-0.6.38/test/test-tree.rb +0 -82
  139. data/vendor/rdtool-0.6.38/test/test-version.rb +0 -57
  140. data/vendor/rdtool-0.6.38/test/test-visitor.rb +0 -230
  141. data/vendor/rdtool-0.6.38/utils/rd-mode.el +0 -464
@@ -1,13 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require "test/unit"
4
-
5
- if Test::Unit.respond_to?(:setup_argv)
6
- Test::Unit::setup_argv{[File.dirname($0)]}
7
- else
8
- if Test::Unit::AutoRunner.respond_to?(:standalone?)
9
- exit Test::Unit::AutoRunner.run($0, File.dirname($0))
10
- else
11
- exit Test::Unit::AutoRunner.run(false, File.dirname($0))
12
- end
13
- end
@@ -1,506 +0,0 @@
1
- require "test/unit"
2
- rootdir = "#{File::dirname(__FILE__)}/.."
3
- require "#{rootdir}/lib/hikidoc"
4
-
5
- class HikiDocTestCase < Test::Unit::TestCase
6
- def test_plugin
7
- assert_convert("<div class=\"plugin\">{{hoge}}</div>\n",
8
- "{{hoge}}")
9
- assert_convert("<p>a<span class=\"plugin\">{{hoge}}</span>b</p>\n",
10
- "a{{hoge}}b")
11
- assert_convert("<p>\\<span class=\"plugin\">{{hoge}}</span></p>\n",
12
- "\\{{hoge}}")
13
- assert_convert("<p>a{{hoge</p>\n",
14
- "a{{hoge")
15
- assert_convert("<p>hoge}}b</p>\n",
16
- "hoge}}b")
17
- assert_convert("<p><span class=\"plugin\">{{hoge}}</span>\na</p>\n",
18
- "{{hoge}}\na")
19
- assert_convert("<div class=\"plugin\">{{hoge}}</div>\n<p>a</p>\n",
20
- "{{hoge}}\n\na")
21
- end
22
-
23
- def test_plugin_with_quotes
24
- assert_convert("<div class=\"plugin\">{{hoge(\"}}\")}}</div>\n",
25
- '{{hoge("}}")}}')
26
- assert_convert("<div class=\"plugin\">{{hoge(\'}}\')}}</div>\n",
27
- "{{hoge('}}')}}")
28
- assert_convert("<div class=\"plugin\">{{hoge(\'\n}}\n\')}}</div>\n",
29
- "{{hoge('\n}}\n')}}")
30
- end
31
-
32
- def test_plugin_with_meta_char
33
- assert_convert("<div class=\"plugin\">{{hoge(\"a\\\"b\")}}</div>\n",
34
- '{{hoge("a\\"b")}}')
35
- assert_convert("<div class=\"plugin\">{{hoge(\"&lt;a&gt;\")}}</div>\n",
36
- '{{hoge("<a>")}}')
37
- assert_convert("<p>a<span class=\"plugin\">{{hoge(\"&lt;a&gt;\")}}</span></p>\n",
38
- 'a{{hoge("<a>")}}')
39
- end
40
-
41
- def test_plugin_with_default_syntax
42
- # test HikiDoc#valid_plugin_syntax?
43
- # default syntax checking pairs of quote like "..." or '...'
44
- assert_convert(%q!<p>{{'}}</p>! + "\n",
45
- %q!{{'}}!)
46
- assert_convert(%q!<div class="plugin">{{''}}</div>! + "\n",
47
- %q!{{''}}!)
48
- assert_convert(%q!<p>{{'"}}</p>! + "\n",
49
- %q!{{'"}}!)
50
- assert_convert(%q!<div class="plugin">{{'\''}}</div>! + "\n",
51
- %q!{{'\''}}!)
52
- assert_convert(%q!<div class="plugin">{{'abc\\\\'}}</div>! + "\n",
53
- %q!{{'abc\\\\'}}!)
54
- assert_convert(%q!<div class="plugin">{{\"""}}</div>! + "\n",
55
- %q!{{\"""}}!)
56
- assert_convert(%q!<div class="plugin">{{"ab\c"}}</div>! + "\n",
57
- %q!{{"ab\c"}}!)
58
- end
59
-
60
- def test_plugin_with_custom_syntax
61
- assert_convert("<p>{{&lt;&lt;\"End\"\nfoo's bar\nEnd\n}}</p>\n",
62
- "{{<<\"End\"\nfoo's bar\nEnd\n}}")
63
-
64
- options = {:plugin_syntax => method(:custom_valid_plugin_syntax?)}
65
- assert_convert(%Q|<div class="plugin">{{&lt;&lt;"End"\nfoo's bar\nEnd\n}}</div>\n|,
66
- %Q!{{<<"End"\nfoo's bar\nEnd\n}}!,
67
- options)
68
- assert_convert(%Q|<div class="plugin">{{&lt;&lt;"End"\nfoo\nEnd}}</div>\n|,
69
- %Q!{{<<"End"\nfoo\nEnd}}!,
70
- options)
71
- end
72
-
73
- def test_multi_line_plugin
74
- assert_convert(<<-END_OF_EXPECTED, <<-END_OF_INPUT)
75
- <div class="plugin">{{&lt;&lt;TEST2
76
- test2
77
- TEST2}}</div>
78
- END_OF_EXPECTED
79
- {{<<TEST2
80
- test2
81
- TEST2}}
82
- END_OF_INPUT
83
-
84
- assert_convert(<<-END_OF_EXPECTED, <<-END_OF_INPUT)
85
- <div class="plugin">{{&lt;&lt;TEST
86
- &lt;&lt;&lt;
87
- here is not pre but plugin.
88
- &gt;&gt;&gt;
89
- TEST}}</div>
90
- END_OF_EXPECTED
91
- {{<<TEST
92
- <<<
93
- here is not pre but plugin.
94
- >>>
95
- TEST}}
96
- END_OF_INPUT
97
- end
98
-
99
- def test_blockquote
100
- assert_convert("<blockquote><p>hoge</p>\n</blockquote>\n",
101
- %Q|""hoge\n|)
102
- assert_convert("<blockquote><p>hoge\nfuga</p>\n</blockquote>\n",
103
- %Q|""hoge\n""fuga\n|)
104
- assert_convert("<blockquote><p>hoge</p>\n<blockquote><p>fuga</p>\n</blockquote>\n</blockquote>\n",
105
- %Q|""hoge\n"" ""fuga\n|)
106
- assert_convert("<blockquote><h1>hoge</h1>\n</blockquote>\n",
107
- %Q|"" ! hoge\n|)
108
- assert_convert("<blockquote><p>foo\nbar</p>\n<p>foo</p>\n</blockquote>\n",
109
- %Q|""foo\n""bar\n""\n""foo|)
110
- assert_convert("<blockquote><p>foo\nbar</p>\n<h1>foo</h1>\n</blockquote>\n",
111
- %Q|""foo\n""bar\n""!foo|)
112
- assert_convert("<blockquote><p>foo\nbar</p>\n<pre>baz</pre>\n</blockquote>\n",
113
- %Q|""foo\n"" bar\n"" baz|)
114
- assert_convert("<blockquote><p>foo\nbar</p>\n<pre>baz</pre>\n</blockquote>\n",
115
- %Q|""foo\n""\tbar\n""\t\tbaz|)
116
- end
117
-
118
- def test_header
119
- assert_convert("<h1>hoge</h1>\n", "!hoge")
120
- assert_convert("<h2>hoge</h2>\n", "!! hoge")
121
- assert_convert("<h3>hoge</h3>\n", "!!!hoge")
122
- assert_convert("<h4>hoge</h4>\n", "!!!! hoge")
123
- assert_convert("<h5>hoge</h5>\n", "!!!!!hoge")
124
- assert_convert("<h6>hoge</h6>\n", "!!!!!! hoge")
125
- assert_convert("<h6>! hoge</h6>\n", "!!!!!!! hoge")
126
-
127
- assert_convert("<h1>foo</h1>\n<h2>bar</h2>\n",
128
- "!foo\n!!bar")
129
- end
130
-
131
- def test_list
132
- assert_convert("<ul>\n<li>foo</li>\n</ul>\n",
133
- "* foo")
134
- assert_convert("<ul>\n<li>foo</li>\n<li>bar</li>\n</ul>\n",
135
- "* foo\n* bar")
136
- assert_convert("<ul>\n<li>foo<ul>\n<li>bar</li>\n</ul></li>\n</ul>\n",
137
- "* foo\n** bar")
138
- assert_convert("<ul>\n<li>foo<ul>\n<li>foo</li>\n</ul></li>\n<li>bar</li>\n</ul>\n",
139
- "* foo\n** foo\n* bar")
140
- assert_convert("<ul>\n<li>foo<ol>\n<li>foo</li>\n</ol></li>\n<li>bar</li>\n</ul>\n",
141
- "* foo\n## foo\n* bar")
142
- assert_convert("<ul>\n<li>foo</li>\n</ul><ol>\n<li>bar</li>\n</ol>\n",
143
- "* foo\n# bar")
144
- end
145
-
146
- def test_list_skip
147
- assert_convert("<ul>\n<li>foo<ul>\n<li><ul>\n<li>foo</li>\n</ul></li>\n</ul></li>\n<li>bar</li>\n</ul>\n",
148
- "* foo\n*** foo\n* bar")
149
- assert_convert("<ol>\n<li>foo<ol>\n<li><ol>\n<li>bar</li>\n<li>baz</li>\n</ol></li>\n</ol></li>\n</ol>\n",
150
- "# foo\n### bar\n###baz")
151
- end
152
-
153
- def test_hrules
154
- assert_convert("<hr />\n", "----")
155
- assert_convert("<p>----a</p>\n", "----a")
156
- end
157
-
158
- def test_pre
159
- assert_convert("<pre>foo</pre>\n",
160
- " foo")
161
- assert_convert("<pre>\\:</pre>\n",
162
- ' \:')
163
- assert_convert("<pre>foo</pre>\n",
164
- "\tfoo")
165
- assert_convert("<pre>foo\nbar</pre>\n",
166
- " foo\n bar")
167
- assert_convert("<pre>foo\nbar</pre>\n",
168
- " foo\n bar\n")
169
- assert_convert("<pre>&lt;foo&gt;</pre>\n",
170
- " <foo>")
171
- assert_convert("<pre>{{_:a/a}}</pre>\n",
172
- " {{_:a/a}}")
173
- assert_convert("<pre>[[_:a/a]]</pre>\n",
174
- " [[_:a/a]]")
175
- end
176
-
177
- def test_multi_pre
178
- assert_convert("<pre>foo</pre>\n",
179
- "<<<\nfoo\n>>>")
180
- assert_convert("<pre>foo\n bar</pre>\n",
181
- "<<<\nfoo\n bar\n>>>")
182
- assert_convert("<pre>foo</pre>\n<pre>bar</pre>\n",
183
- "<<<\nfoo\n>>>\n<<<\nbar\n>>>")
184
- assert_convert("<pre>&lt;foo&gt;</pre>\n",
185
- "<<<\n<foo>\n>>>")
186
- end
187
-
188
- def test_multi_pre_with_plugin
189
- assert_convert("<pre>{{{}}}</pre>\n" +
190
- "<div class=\"plugin\">{{'test'}}</div>\n",
191
- "<<<\n{{{}}}\n>>>\n{{'test'}}")
192
- end
193
-
194
- def test_comment
195
- assert_convert("", "// foo")
196
- assert_convert("", "// foo\n")
197
- end
198
-
199
- def test_paragraph
200
- assert_convert("<p>foo</p>\n", "foo")
201
-
202
- assert_convert("<p>foo</p>\n<p>bar</p>\n",
203
- "foo\n\nbar")
204
- assert_convert("<p>foo</p>\n<p>bar</p>\n",
205
- "foo\r\n\r\nbar")
206
-
207
- assert_convert("<p>foo </p>\n<p>b a r </p>\n",
208
- "foo \n\nb a r ")
209
- end
210
-
211
- def test_escape
212
- assert_convert(%Q|<p>\\"\\"foo</p>\n|,
213
- %q|\"\"foo|)
214
- end
215
-
216
- def test_link
217
- assert_convert(%Q|<p><a href="http://hikiwiki.org/">http://hikiwiki.org/</a></p>\n|,
218
- "http://hikiwiki.org/")
219
- assert_convert(%Q|<p><a href="http://hikiwiki.org/">http://hikiwiki.org/</a></p>\n|,
220
- "[[http://hikiwiki.org/]]")
221
- assert_convert(%Q|<p><a href="http://hikiwiki.org/">Hiki</a></p>\n|,
222
- "[[Hiki|http://hikiwiki.org/]]")
223
- assert_convert(%Q|<p><a href="/hikiwiki.html">Hiki</a></p>\n|,
224
- "[[Hiki|http:/hikiwiki.html]]")
225
- assert_convert(%Q|<p><a href="hikiwiki.html">Hiki</a></p>\n|,
226
- "[[Hiki|http:hikiwiki.html]]")
227
- assert_convert(%Q|<p><img src="http://hikiwiki.org/img.png" alt="img.png" /></p>\n|,
228
- "http://hikiwiki.org/img.png")
229
- assert_convert(%Q|<p><img src="http://hikiwiki.org:80/img.png" alt="img.png" /></p>\n|,
230
- "http://hikiwiki.org:80/img.png")
231
- assert_convert(%Q|<p><a href="http://hikiwiki.org/ja/?c=edit;p=Test">| +
232
- %Q|http://hikiwiki.org/ja/?c=edit;p=Test</a></p>\n|,
233
- "http://hikiwiki.org/ja/?c=edit;p=Test")
234
- assert_convert(%Q|<p><a href="http://hikiwiki.org/ja/?c=edit&amp;p=Test">| +
235
- %Q|http://hikiwiki.org/ja/?c=edit&amp;p=Test</a></p>\n|,
236
- "http://hikiwiki.org/ja/?c=edit&p=Test")
237
- assert_convert(%Q|<p><img src="/img.png" alt="img.png" /></p>\n|,
238
- "http:/img.png")
239
- assert_convert(%Q|<p><img src="img.png" alt="img.png" /></p>\n|,
240
- "http:img.png")
241
- assert_convert(%Q|<p><a href="%CB%EE">Tuna</a></p>\n|,
242
- "[[Tuna|%CB%EE]]")
243
- assert_convert(%Q|<p><a href="&quot;&quot;">""</a></p>\n|,
244
- '[[""]]')
245
- assert_convert(%Q|<p><a href="%22">%22</a></p>\n|,
246
- "[[%22]]")
247
- assert_convert(%Q|<p><a href="&amp;">&amp;</a></p>\n|,
248
- "[[&]]")
249
- assert_convert(%Q|<p><a href="aa">aa</a>bb<a href="cc">cc</a></p>\n|,
250
- "[[aa]]bb[[cc]]")
251
- assert_convert(%Q!<p><a href="aa">a|a</a></p>\n!,
252
- "[[a|a|aa]]")
253
- end
254
-
255
- def test_inter_wiki_name
256
- assert_convert("<p><a href=\"scheme:keyword\">scheme:keyword</a></p>\n",
257
- "[[scheme:keyword]]")
258
- assert_convert("<p><a href=\"scheme:keyword\">label</a></p>\n",
259
- "[[label|scheme:keyword]]")
260
- end
261
-
262
- def test_wiki_name
263
- assert_convert("<p><a href=\"WikiName\">WikiName</a></p>\n",
264
- "WikiName")
265
- assert_convert("<p><a href=\"HogeRule1\">HogeRule1</a></p>\n",
266
- "HogeRule1")
267
-
268
- assert_convert("<p><a href=\"WikiName1WikiName2\">WikiName1WikiName2</a></p>\n",
269
- "WikiName1WikiName2")
270
- assert_convert("<p><a href=\"WikiName1\">WikiName1</a> " +
271
- "<a href=\"WikiName2\">WikiName2</a></p>\n",
272
- "WikiName1 WikiName2")
273
-
274
- assert_convert("<p>NOTWIKINAME</p>\n",
275
- "NOTWIKINAME")
276
- assert_convert("<p>NOT_WIKI_NAME</p>\n",
277
- "NOT_WIKI_NAME")
278
- assert_convert("<p>WikiNAME</p>\n",
279
- "WikiNAME")
280
- assert_convert("<p>fooWikiNAME</p>\n",
281
- "fooWikiNAME")
282
-
283
- assert_convert("<p>RSSPage</p>\n",
284
- "RSSPage")
285
- assert_convert("<p><a href=\"RSSPageName\">RSSPageName</a></p>\n",
286
- "RSSPageName")
287
- end
288
-
289
- def test_not_wiki_name
290
- assert_convert("<p>WikiName</p>\n",
291
- "^WikiName")
292
- assert_convert("<p>^<a href=\"WikiName\">WikiName</a></p>\n",
293
- "^WikiName",
294
- :use_not_wiki_name => false)
295
- assert_convert("<p>^WikiName</p>\n",
296
- "^WikiName",
297
- :use_wiki_name => false)
298
- assert_convert("<p>^WikiName</p>\n",
299
- "^WikiName",
300
- :use_wiki_name => false,
301
- :use_not_wiki_name => false)
302
- assert_convert("<p>foo WikiName bar</p>\n",
303
- "foo ^WikiName bar")
304
- end
305
-
306
- def test_use_wiki_name_option
307
- assert_convert("<p><a href=\"WikiName\">WikiName</a></p>\n",
308
- "WikiName")
309
- assert_convert("<p>WikiName</p>\n",
310
- "WikiName",
311
- :use_wiki_name => false)
312
- end
313
-
314
- def test_image_link
315
- assert_convert(%Q|<p><img src="http://hikiwiki.org/img.png" alt="img.png" /></p>\n|,
316
- "[[http://hikiwiki.org/img.png]]")
317
- assert_convert(%Q|<p><a href="http://hikiwiki.org/img.png">http://hikiwiki.org/img.png</a></p>\n|,
318
- "[[http://hikiwiki.org/img.png]]",
319
- :allow_bracket_inline_image => false)
320
-
321
- assert_convert(%Q|<p><img src="http://hikiwiki.org/img.png" alt="img" /></p>\n|,
322
- "[[img|http://hikiwiki.org/img.png]]")
323
- assert_convert(%Q|<p><a href="http://hikiwiki.org/img.png">img</a></p>\n|,
324
- "[[img|http://hikiwiki.org/img.png]]",
325
- :allow_bracket_inline_image => false)
326
- end
327
-
328
- def test_definition
329
- assert_convert("<dl>\n<dt>a</dt>\n<dd>b</dd>\n</dl>\n",
330
- ":a:b")
331
- assert_convert("<dl>\n<dt>a</dt>\n<dd>b\n</dd>\n<dd>c</dd>\n</dl>\n",
332
- ":a:b\n::c")
333
- assert_convert("<dl>\n<dt>a\\</dt>\n<dd>b:c</dd>\n</dl>\n",
334
- ':a\:b:c')
335
- assert_convert("<dl>\n<dt>a</dt>\n<dd>b\\:c</dd>\n</dl>\n",
336
- ':a:b\:c')
337
- assert_convert("<dl>\n<dt>a</dt>\n<dd>b:c</dd>\n</dl>\n",
338
- ":a:b:c")
339
- end
340
-
341
- def test_definition_title_only
342
- assert_convert("<dl>\n<dt>a</dt>\n</dl>\n",
343
- ":a:")
344
- end
345
-
346
- def test_definition_description_only
347
- assert_convert("<dl>\n<dd>b</dd>\n</dl>\n",
348
- "::b")
349
- end
350
-
351
- def test_definition_with_link
352
- assert_convert("<dl>\n<dt><a href=\"http://hikiwiki.org/\">Hiki</a></dt>\n" +
353
- "<dd>Website</dd>\n</dl>\n",
354
- ":[[Hiki|http://hikiwiki.org/]]:Website")
355
- assert_convert("<dl>\n<dt>a</dt>\n" +
356
- "<dd><a href=\"http://hikiwiki.org/\">Hiki</a></dd>\n" +
357
- "</dl>\n",
358
- ":a:[[Hiki|http://hikiwiki.org/]]")
359
- end
360
-
361
- def test_definition_with_modifier
362
- assert_convert("<dl>\n<dt><strong>foo</strong></dt>\n" +
363
- "<dd>bar</dd>\n</dl>\n",
364
- ":'''foo''':bar")
365
- assert_convert("<dl>\n<dt>foo</dt>\n" +
366
- "<dd><strong>bar</strong></dd>\n</dl>\n",
367
- ":foo:'''bar'''")
368
- assert_convert("<dl>\n<dt>foo</dt>\n" +
369
- "<dd><tt>bar</tt></dd>\n</dl>\n",
370
- ":foo:``bar``")
371
- end
372
-
373
- def test_definition_with_modifier_link
374
- assert_convert("<dl>\n<dt>" +
375
- "<strong><a href=\"http://hikiwiki.org/\">Hiki</a></strong>" +
376
- "</dt>\n<dd>Website</dd>\n</dl>\n",
377
- ":'''[[Hiki|http://hikiwiki.org/]]''':Website")
378
- assert_convert("<dl>\n<dt>Website</dt>\n<dd>" +
379
- "<strong><a href=\"http://hikiwiki.org/\">Hiki</a></strong>" +
380
- "</dd>\n</dl>\n",
381
- ":Website:'''[[Hiki|http://hikiwiki.org/]]'''")
382
- assert_convert("<dl>\n<dt>Website</dt>\n<dd>" +
383
- "<tt><a href=\"http://hikiwiki.org/\">Hiki</a></tt>" +
384
- "</dd>\n</dl>\n",
385
- ":Website:``[[Hiki|http://hikiwiki.org/]]``")
386
- end
387
-
388
- def test_table
389
- assert_convert(%Q|<table border=\"1\">\n<tr><td>a</td><td>b</td></tr>\n</table>\n|,
390
- "||a||b")
391
- assert_convert(%Q|<table border=\"1\">\n<tr><td>a</td><td>b</td></tr>\n</table>\n|,
392
- "||a||b||")
393
- assert_convert(%Q|<table border=\"1\">\n<tr><td>a</td><td>b</td></tr>\n</table>\n|,
394
- "||a||b||")
395
- assert_convert(%Q|<table border=\"1\">\n<tr><td>a</td><td>b</td><td> </td></tr>\n</table>\n|,
396
- "||a||b|| ")
397
- assert_convert(%Q|<table border=\"1\">\n<tr><th>a</th><td>b</td></tr>\n</table>\n|,
398
- "||!a||b||")
399
- assert_convert(%Q|<table border=\"1\">\n<tr><td colspan=\"2\">1</td><td rowspan=\"2\">2\n</td></tr>\n<tr><td rowspan=\"2\">3</td><td>4\n</td></tr>\n<tr><td colspan=\"2\">5</td></tr>\n</table>\n|,
400
- "||>1||^2\n||^3||4\n||>5")
401
- assert_convert(%Q|<table border=\"1\">\n<tr><td>a</td><td>b</td><td>c</td></tr>\n<tr><td></td><td></td><td></td></tr>\n<tr><td>d</td><td>e</td><td>f</td></tr>\n</table>\n|,
402
- "||a||b||c||\n||||||||\n||d||e||f||")
403
- end
404
-
405
- def test_table_with_modifier
406
- assert_convert("<table border=\"1\">\n<tr><td>'''</td><td>'''</td><td>bar</td></tr>\n</table>\n",
407
- "||'''||'''||bar")
408
- assert_convert("<table border=\"1\">\n<tr><td>'''\\</td><td>'''</td><td>bar</td></tr>\n</table>\n",
409
- "||'''\\||'''||bar")
410
- end
411
-
412
- def test_modifier
413
- assert_convert("<p><strong>foo</strong></p>\n",
414
- "'''foo'''")
415
- assert_convert("<p><em>foo</em></p>\n",
416
- "''foo''")
417
- assert_convert("<p><del>foo</del></p>\n",
418
- "==foo==")
419
- assert_convert("<p><em>foo==bar</em>baz==</p>\n",
420
- "''foo==bar''baz==")
421
- assert_convert("<p><strong>foo</strong> and <strong>bar</strong></p>\n",
422
- "'''foo''' and '''bar'''")
423
- assert_convert("<p><em>foo</em> and <em>bar</em></p>\n",
424
- "''foo'' and ''bar''")
425
- assert_convert("<p><tt>foo</tt></p>\n",
426
- "``foo``")
427
- assert_convert("<p><tt>foo==bar</tt>baz==</p>\n",
428
- "``foo==bar``baz==")
429
- end
430
-
431
- def test_nested_modifier
432
- assert_convert("<p><em><del>foo</del></em></p>\n",
433
- "''==foo==''")
434
- assert_convert("<p><del><em>foo</em></del></p>\n",
435
- "==''foo''==")
436
- end
437
-
438
- def test_modifier_and_link
439
- assert_convert("<p><a href=\"http://hikiwiki.org/\"><strong>Hiki</strong></a></p>\n",
440
- "[['''Hiki'''|http://hikiwiki.org/]]")
441
- assert_convert("<p><strong><a href=\"http://hikiwiki.org/\">Hiki</a></strong></p>\n",
442
- "'''[[Hiki|http://hikiwiki.org/]]'''")
443
- assert_convert("<p><tt><a href=\"http://hikiwiki.org/\">Hiki</a></tt></p>\n",
444
- "``[[Hiki|http://hikiwiki.org/]]``")
445
- end
446
-
447
- def test_pre_and_plugin
448
- assert_convert(%Q|<pre>{{hoge}}</pre>\n|,
449
- " {{hoge}}")
450
- assert_convert(%Q|<pre>{{hoge}}</pre>\n|,
451
- "<<<\n{{hoge}}\n>>>")
452
- assert_convert("<div class=\"plugin\">{{foo\n 1}}</div>\n",
453
- "{{foo\n 1}}")
454
- end
455
-
456
- def test_plugin_in_modifier
457
- assert_convert("<p><strong><span class=\"plugin\">{{foo}}</span></strong></p>\n",
458
- "'''{{foo}}'''")
459
- assert_convert("<p><tt><span class=\"plugin\">{{foo}}</span></tt></p>\n",
460
- "``{{foo}}``")
461
- end
462
-
463
- def test_syntax_ruby
464
- if Object.const_defined?(:Syntax)
465
- assert_convert("<pre><span class=\"keyword\">class </span><span class=\"class\">A</span>\n <span class=\"keyword\">def </span><span class=\"method\">foo</span><span class=\"punct\">(</span><span class=\"ident\">bar</span><span class=\"punct\">)</span>\n <span class=\"keyword\">end</span>\n<span class=\"keyword\">end</span></pre>\n",
466
- "<<< ruby\nclass A\n def foo(bar)\n end\nend\n>>>")
467
- assert_convert("<pre><span class=\"keyword\">class </span><span class=\"class\">A</span>\n <span class=\"keyword\">def </span><span class=\"method\">foo</span><span class=\"punct\">(</span><span class=\"ident\">bar</span><span class=\"punct\">)</span>\n <span class=\"keyword\">end</span>\n<span class=\"keyword\">end</span></pre>\n",
468
- "<<< Ruby\nclass A\n def foo(bar)\n end\nend\n>>>")
469
- assert_convert("<pre><span class=\"punct\">'</span><span class=\"string\">a&lt;&quot;&gt;b</span><span class=\"punct\">'</span></pre>\n",
470
- "<<< ruby\n'a<\">b'\n>>>")
471
-
472
- # redefine method for below tests
473
- class << Syntax::Convertors::HTML
474
- def for_syntax(syntax)
475
- raise
476
- end
477
- end
478
- end
479
-
480
- # use google-code-prettify
481
- assert_convert("<pre class=\"prettyprint\">class A\n def foo(bar)\n end\nend</pre>\n",
482
- "<<< ruby\nclass A\n def foo(bar)\n end\nend\n>>>")
483
- assert_convert("<pre class=\"prettyprint\">class A\n def foo(bar)\n end\nend</pre>\n",
484
- "<<< Ruby\nclass A\n def foo(bar)\n end\nend\n>>>")
485
- assert_convert("<pre class=\"prettyprint\">'a&lt;\"&gt;b'</pre>\n",
486
- "<<< ruby\n'a<\">b'\n>>>")
487
- end
488
-
489
- def test_plugin_in_pre_with_header
490
- assert_convert("<h1>Title</h1>\n<pre>{{_/a:a}}</pre>\n",
491
- "! Title\n {{_/a:a}}")
492
- assert_convert("<h1>Title</h1>\n<pre>{{_/a:a}}\n{{_/a:a}}</pre>\n",
493
- "! Title\n {{_/a:a}}\n {{_/a:a}}")
494
- end
495
-
496
- private
497
- def assert_convert(expected, markup, options={}, message=nil)
498
- assert_equal(expected, HikiDoc.to_xhtml(markup, options), message)
499
- end
500
-
501
- def custom_valid_plugin_syntax?(code)
502
- eval("BEGIN {return true}\n#{code}", nil, "(plugin)", 0)
503
- rescue SyntaxError
504
- false
505
- end
506
- end