test/test_hikidoc.rb in hikidoc-0.0.1 vs test/test_hikidoc.rb in hikidoc-0.0.2
- old
+ new
@@ -45,10 +45,36 @@
assert_convert(%Q|<div class="plugin">{{<<"End"\nfoo\nEnd}}</div>\n|,
%Q!{{<<"End"\nfoo\nEnd}}!,
options)
end
+ def test_multi_line_plugin
+ assert_convert(<<-END_OF_EXPECTED, <<-END_OF_INPUT)
+<div class="plugin">{{<<TEST2
+ test2
+TEST2}}</div>
+ END_OF_EXPECTED
+{{<<TEST2
+ test2
+TEST2}}
+ END_OF_INPUT
+
+ assert_convert(<<-END_OF_EXPECTED, <<-END_OF_INPUT)
+<div class="plugin">{{<<TEST
+<<<
+here is not pre but plugin.
+>>>
+TEST}}</div>
+ END_OF_EXPECTED
+{{<<TEST
+<<<
+here is not pre but plugin.
+>>>
+TEST}}
+ END_OF_INPUT
+ end
+
def test_blockquote
assert_convert("<blockquote><p>hoge</p>\n</blockquote>\n",
%Q|""hoge\n|)
assert_convert("<blockquote><p>hoge\nfuga</p>\n</blockquote>\n",
%Q|""hoge\n""fuga\n|)
@@ -117,10 +143,14 @@
" foo\n bar")
assert_convert("<pre>foo\nbar</pre>\n",
" foo\n bar\n")
assert_convert("<pre><foo></pre>\n",
" <foo>")
+ assert_convert("<pre>{{_:a/a}}</pre>\n",
+ " {{_:a/a}}")
+ assert_convert("<pre>[[_:a/a]]</pre>\n",
+ " [[_:a/a]]")
end
def test_multi_pre
assert_convert("<pre>foo</pre>\n",
"<<<\nfoo\n>>>")
@@ -130,10 +160,16 @@
"<<<\nfoo\n>>>\n<<<\nbar\n>>>")
assert_convert("<pre><foo></pre>\n",
"<<<\n<foo>\n>>>")
end
+ def test_multi_pre_with_plugin
+ assert_convert("<pre>{{{}}}</pre>\n" +
+ "<div class=\"plugin\">{{'test'}}</div>\n",
+ "<<<\n{{{}}}\n>>>\n{{'test'}}")
+ end
+
def test_comment
assert_convert("", "// foo")
assert_convert("", "// foo\n")
end
@@ -187,10 +223,17 @@
"[[&]]")
assert_convert(%Q|<p><a href="aa">aa</a>bb<a href="cc">cc</a></p>\n|,
"[[aa]]bb[[cc]]")
end
+ def test_inter_wiki_name
+ assert_convert("<p><a href=\"scheme:keyword\">scheme:keyword</a></p>\n",
+ "[[scheme:keyword]]")
+ assert_convert("<p><a href=\"scheme:keyword\">label</a></p>\n",
+ "[[label|scheme:keyword]]")
+ end
+
def test_wiki_name
assert_convert("<p><a href=\"WikiName\">WikiName</a></p>\n",
"WikiName")
assert_convert("<p><a href=\"HogeRule1\">HogeRule1</a></p>\n",
"HogeRule1")
@@ -275,19 +318,39 @@
assert_convert("<dl>\n<dd>b</dd>\n</dl>\n",
"::b")
end
def test_definition_with_link
- assert_convert(%Q|<dl>\n<dt><a href="http://hikiwiki.org/">Hiki</a></dt>\n<dd>Website</dd>\n</dl>\n|,
+ assert_convert("<dl>\n<dt><a href=\"http://hikiwiki.org/\">Hiki</a></dt>\n" +
+ "<dd>Website</dd>\n</dl>\n",
":[[Hiki|http://hikiwiki.org/]]:Website")
+ assert_convert("<dl>\n<dt>a</dt>\n" +
+ "<dd><a href=\"http://hikiwiki.org/\">Hiki</a></dd>\n" +
+ "</dl>\n",
+ ":a:[[Hiki|http://hikiwiki.org/]]")
end
def test_definition_with_modifier
- assert_convert(%Q|<dl>\n<dt><strong>foo</strong></dt>\n<dd>bar</dd>\n</dl>\n|,
+ assert_convert("<dl>\n<dt><strong>foo</strong></dt>\n" +
+ "<dd>bar</dd>\n</dl>\n",
":'''foo''':bar")
+ assert_convert("<dl>\n<dt>foo</dt>\n" +
+ "<dd><strong>bar</strong></dd>\n</dl>\n",
+ ":foo:'''bar'''")
end
+ def test_definition_with_modifier_link
+ assert_convert("<dl>\n<dt>" +
+ "<strong><a href=\"http://hikiwiki.org/\">Hiki</a></strong>" +
+ "</dt>\n<dd>Website</dd>\n</dl>\n",
+ ":'''[[Hiki|http://hikiwiki.org/]]''':Website")
+ assert_convert("<dl>\n<dt>Website</dt>\n<dd>" +
+ "<strong><a href=\"http://hikiwiki.org/\">Hiki</a></strong>" +
+ "</dd>\n</dl>\n",
+ ":Website:'''[[Hiki|http://hikiwiki.org/]]'''")
+ end
+
def test_table
assert_convert(%Q|<table border=\"1\">\n<tr><td>a</td><td>b</td></tr>\n</table>\n|,
"||a||b")
assert_convert(%Q|<table border=\"1\">\n<tr><td>a</td><td>b</td></tr>\n</table>\n|,
"||a||b||")
@@ -333,10 +396,12 @@
end
def test_modifier_and_link
assert_convert("<p><a href=\"http://hikiwiki.org/\"><strong>Hiki</strong></a></p>\n",
"[['''Hiki'''|http://hikiwiki.org/]]")
+ assert_convert("<p><strong><a href=\"http://hikiwiki.org/\">Hiki</a></strong></p>\n",
+ "'''[[Hiki|http://hikiwiki.org/]]'''")
end
def test_pre_and_plugin
assert_convert(%Q|<pre>{{hoge}}</pre>\n|,
" {{hoge}}")
@@ -359,9 +424,16 @@
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",
"<<< Ruby\nclass A\n def foo(bar)\n end\nend\n>>>")
assert_convert("<pre><span class=\"punct\">'</span><span class=\"string\">a<">b</span><span class=\"punct\">'</span></pre>\n",
"<<< ruby\n'a<\">b'\n>>>")
end
+ end
+
+ def test_plugin_in_pre_with_header
+ assert_convert("<h1>Title</h1>\n<pre>{{_/a:a}}</pre>\n",
+ "! Title\n {{_/a:a}}")
+ assert_convert("<h1>Title</h1>\n<pre>{{_/a:a}}\n{{_/a:a}}</pre>\n",
+ "! Title\n {{_/a:a}}\n {{_/a:a}}")
end
private
def assert_convert(expected, markup, options={}, message=nil)
assert_equal(expected, HikiDoc.to_xhtml(markup, options), message)