test/test_latexbuilder.rb in review-0.9.0 vs test/test_latexbuilder.rb in review-1.0.0
- old
+ new
@@ -22,22 +22,22 @@
@builder.bind(@compiler, @chapter, location)
end
def test_headline_level1
@builder.headline(1,"test","this is test.")
- assert_equal %Q|\\chapter{this is test.}\n|, @builder.result
+ assert_equal %Q|\\chapter{this is test.}\n\\label{chap:chap1}\n|, @builder.result
end
def test_headline_level1_without_secno
@param["secnolevel"] = 0
@builder.headline(1,"test","this is test.")
- assert_equal %Q|\\chapter*{this is test.}\n|, @builder.result
+ assert_equal %Q|\\chapter*{this is test.}\n\\label{chap:chap1}\n|, @builder.result
end
def test_headline_level1_with_inlinetag
@builder.headline(1,"test","this @<b>{is} test.<&\"_>")
- assert_equal %Q|\\chapter{this \\textbf{is} test.\\textless{}\\&"\\textunderscore{}\\textgreater{}}\n|, @builder.result
+ assert_equal %Q|\\chapter{this \\textbf{is} test.\\textless{}\\&"\\textunderscore{}\\textgreater{}}\n\\label{chap:chap1}\n|, @builder.result
end
def test_headline_level2
@builder.headline(2,"test","this is test.")
assert_equal %Q|\\section{this is test.}\n|, @builder.result
@@ -59,21 +59,26 @@
@builder.label("label_test")
assert_equal %Q|\\label{label_test}\n|, @builder.result
end
def test_href
- ret = @builder.compile_href("http://github.com", "GitHub")
+ ret = @builder.compile_inline('@<href>{http://github.com,GitHub}')
assert_equal %Q|\\href{http://github.com}{GitHub}|, ret
end
+ def test_inline_href
+ ret = @builder.compile_inline('@<href>{http://github.com,Git\\,Hub}')
+ assert_equal %Q|\\href{http://github.com}{Git,Hub}|, ret
+ end
+
def test_href_without_label
- ret = @builder.compile_href("http://github.com",nil)
- assert_equal %Q|\\href{http://github.com}{http://github.com}|, ret
+ ret = @builder.compile_inline('@<href>{http://github.com}')
+ assert_equal %Q|\\url{http://github.com}|, ret
end
def test_href_with_underscore
- ret = @builder.compile_href("http://example.com/aaa/bbb", "AAA_BBB")
+ ret = @builder.compile_inline('@<href>{http://example.com/aaa/bbb, AAA_BBB}')
assert_equal %Q|\\href{http://example.com/aaa/bbb}{AAA\\textunderscore{}BBB}|, ret
end
def test_inline_br
ret = @builder.inline_br("")
@@ -110,11 +115,11 @@
assert_equal %Q|abc\\texttt{def}ghi|, ret
end
def test_inline_raw
ret = @builder.compile_inline("@<raw>{@<tt>{inline!$%\\}}")
- assert_equal %Q|@\\textless{}tt\\textgreater{}\\{inline!\\textdollar{}\\%\\}|, ret
+ assert_equal "@<tt>{inline!$%}", ret
end
def test_inline_sup
ret = @builder.compile_inline("abc@<sup>{def}")
assert_equal %Q|abc\\textsuperscript{def}|, ret
@@ -177,15 +182,42 @@
def test_inline_uchar
ret = @builder.compile_inline("test @<uchar>{2460} test2")
assert_equal %Q|test \\UTF{2460} test2|, ret
end
- def test_headline_level1
- @builder.headline(1,"test","this is test.")
- assert_equal %Q|\\chapter{this is test.}\n|, @builder.result
+ def test_dlist
+ @builder.dl_begin
+ @builder.dt "foo"
+ @builder.dd ["foo.\n", "bar.\n"]
+ @builder.dl_end
+ assert_equal %Q|\n\\begin{description}\n\\item[foo] \\mbox{} \\\\\nfoo.\nbar.\n\\end{description}\n|, @builder.result
end
+ def test_cmd
+ lines = ["foo", "bar", "","buz"]
+ @builder.cmd(lines)
+ assert_equal %Q|\n\\begin{reviewcmd}\n\\begin{alltt}\nfoo\nbar\n\nbuz\n\\end{alltt}\n\\end{reviewcmd}\n|, @builder.result
+ end
+
+ def test_cmd_caption
+ lines = ["foo", "bar", "","buz"]
+ @builder.cmd(lines, "cap1")
+ assert_equal %Q|\n\\reviewcmdcaption{cap1}\n\\begin{reviewcmd}\n\\begin{alltt}\nfoo\nbar\n\nbuz\n\\end{alltt}\n\\end{reviewcmd}\n|, @builder.result
+ end
+
+ def test_emlist
+ lines = ["foo", "bar", "","buz"]
+ @builder.emlist(lines)
+ assert_equal %Q|\n\\begin{reviewemlist}\n\\begin{alltt}\nfoo\nbar\n\nbuz\n\\end{alltt}\n\\end{reviewemlist}\n|, @builder.result
+ end
+
+ def test_emlist_caption
+ lines = ["foo", "bar", "","buz"]
+ @builder.emlist(lines, "cap1")
+ assert_equal %Q|\n\\reviewemlistcaption{cap1}\n\\begin{reviewemlist}\n\\begin{alltt}\nfoo\nbar\n\nbuz\n\\end{alltt}\n\\end{reviewemlist}\n|, @builder.result
+ end
+
def test_quote
lines = ["foo", "bar", "","buz"]
@builder.quote(lines)
assert_equal %Q|\n\\begin{quote}\nfoobar\n\nbuz\n\\end{quote}\n|, @builder.result
end
@@ -202,27 +234,22 @@
def test_noindent
@builder.noindent
@builder.paragraph(["foo", "bar"])
@builder.paragraph(["foo2", "bar2"])
- assert_equal %Q|\\noindent\n\nfoo\nbar\n\nfoo2\nbar2\n|, @builder.raw_result
+ assert_equal %Q|\\noindent\nfoo\nbar\n\nfoo2\nbar2\n|, @builder.raw_result
end
- def test_raw
- @builder.raw("<&>\\n")
- assert_equal %Q|<&>\n|, @builder.result
- end
-
def test_image
def @chapter.image(id)
item = ImageIndex::Item.new("sampleimg",1)
item.instance_eval{@pathes=["./images/chap1-sampleimg.png"]}
item
end
@builder.image_image("sampleimg","sample photo",nil)
- assert_equal %Q|\\begin{reviewimage}\n\\includegraphics{./images/chap1-sampleimg.png}\n\\label{image:chap1:sampleimg}\n\\caption{sample photo}\n\\end{reviewimage}\n|, @builder.raw_result
+ assert_equal %Q|\\begin{reviewimage}\n\\includegraphics[width=\\maxwidth]{./images/chap1-sampleimg.png}\n\\label{image:chap1:sampleimg}\n\\caption{sample photo}\n\\end{reviewimage}\n|, @builder.raw_result
end
def test_image_with_metric
def @chapter.image(id)
item = ImageIndex::Item.new("sampleimg",1)
@@ -232,20 +259,31 @@
@builder.image_image("sampleimg","sample photo","scale=1.2")
assert_equal %Q|\\begin{reviewimage}\n\\includegraphics[scale=1.2]{./images/chap1-sampleimg.png}\n\\label{image:chap1:sampleimg}\n\\caption{sample photo}\n\\end{reviewimage}\n|, @builder.raw_result
end
+ def test_image_with_metric2
+ def @chapter.image(id)
+ item = ImageIndex::Item.new("sampleimg",1)
+ item.instance_eval{@pathes=["./images/chap1-sampleimg.png"]}
+ item
+ end
+
+ @builder.image_image("sampleimg","sample photo","scale=1.2, html::class=\"sample\", latex::height=3cm")
+ assert_equal %Q|\\begin{reviewimage}\n\\includegraphics[scale=1.2,height=3cm]{./images/chap1-sampleimg.png}\n\\label{image:chap1:sampleimg}\n\\caption{sample photo}\n\\end{reviewimage}\n|, @builder.raw_result
+ end
+
def test_indepimage
def @chapter.image(id)
item = ImageIndex::Item.new("sampleimg",1)
item.instance_eval{@pathes=["./images/chap1-sampleimg.png"]}
item
end
# FIXME: indepimage's caption should not be with a counter.
@builder.indepimage("sampleimg","sample photo",nil)
- assert_equal %Q|\\begin{reviewimage}\n\\includegraphics{./images/chap1-sampleimg.png}\n\\caption{sample photo}\n\\end{reviewimage}\n|, @builder.raw_result
+ assert_equal %Q|\\begin{reviewimage}\n\\includegraphics[width=\\maxwidth]{./images/chap1-sampleimg.png}\n\\caption{sample photo}\n\\end{reviewimage}\n|, @builder.raw_result
end
def test_indepimage_without_caption
def @chapter.image(id)
item = ImageIndex::Item.new("sampleimg",1)
@@ -253,11 +291,11 @@
item
end
# FIXME: indepimage's caption should not be with a counter.
@builder.indepimage("sampleimg",nil,nil)
- assert_equal %Q|\\begin{reviewimage}\n\\includegraphics{./images/chap1-sampleimg.png}\n\\end{reviewimage}\n|, @builder.raw_result
+ assert_equal %Q|\\begin{reviewimage}\n\\includegraphics[width=\\maxwidth]{./images/chap1-sampleimg.png}\n\\end{reviewimage}\n|, @builder.raw_result
end
def test_indepimage_with_metric
def @chapter.image(id)
item = ImageIndex::Item.new("sampleimg",1)
@@ -268,18 +306,276 @@
# FIXME: indepimage's caption should not be with a counter.
@builder.indepimage("sampleimg","sample photo","scale=1.2")
assert_equal %Q|\\begin{reviewimage}\n\\includegraphics[scale=1.2]{./images/chap1-sampleimg.png}\n\\caption{sample photo}\n\\end{reviewimage}\n|, @builder.raw_result
end
+ def test_indepimage_with_metric2
+ def @chapter.image(id)
+ item = ImageIndex::Item.new("sampleimg",1)
+ item.instance_eval{@pathes=["./images/chap1-sampleimg.png"]}
+ item
+ end
+
+ # FIXME: indepimage's caption should not be with a counter.
+ @builder.indepimage("sampleimg","sample photo","scale=1.2, latex::height=3cm, html::class=\"sample\"")
+ assert_equal %Q|\\begin{reviewimage}\n\\includegraphics[scale=1.2,height=3cm]{./images/chap1-sampleimg.png}\n\\caption{sample photo}\n\\end{reviewimage}\n|, @builder.raw_result
+ end
+
def test_indepimage_without_caption_but_with_metric
def @chapter.image(id)
item = ImageIndex::Item.new("sampleimg",1)
item.instance_eval{@pathes=["./images/chap1-sampleimg.png"]}
item
end
# FIXME: indepimage's caption should not be with a counter.
@builder.indepimage("sampleimg",nil,"scale=1.2")
assert_equal %Q|\\begin{reviewimage}\n\\includegraphics[scale=1.2]{./images/chap1-sampleimg.png}\n\\end{reviewimage}\n|, @builder.raw_result
+ end
+
+ def test_bib
+ def @chapter.bibpaper(id)
+ BibpaperIndex::Item.new("samplebib",1,"sample bib")
+ end
+
+ assert_equal "[1]", @builder.inline_bib("samplebib")
+ end
+
+ def test_bibpaper
+ def @chapter.bibpaper(id)
+ BibpaperIndex::Item.new("samplebib",1,"sample bib")
+ end
+
+ @builder.bibpaper(["a", "b"], "samplebib", "sample bib @<b>{bold}")
+ assert_equal %Q|[1] sample bib \\textbf{bold}\n\na\nb\n\n|, @builder.raw_result
+ end
+
+ def test_bibpaper_without_body
+ def @chapter.bibpaper(id)
+ BibpaperIndex::Item.new("samplebib",1,"sample bib")
+ end
+
+ @builder.bibpaper([], "samplebib", "sample bib")
+ assert_equal %Q|[1] sample bib\n\n|, @builder.raw_result
+ end
+
+ def column_helper(review)
+ chap_singleton = class << @chapter; self; end
+ chap_singleton.send(:define_method, :content) { review }
+ @compiler.compile(@chapter)
+ end
+
+ def test_column_1
+ review =<<-EOS
+===[column] prev column
+
+inside prev column
+
+===[column] test
+
+inside column
+
+===[/column]
+EOS
+ expect =<<-EOS
+
+\\begin{reviewcolumn}
+\\reviewcolumnhead{}{prev column}
+
+inside prev column
+
+\\end{reviewcolumn}
+
+\\begin{reviewcolumn}
+\\reviewcolumnhead{}{test}
+
+inside column
+
+\\end{reviewcolumn}
+EOS
+ assert_equal expect, column_helper(review)
+ end
+
+ def test_column_2
+ review =<<-EOS
+===[column] test
+
+inside column
+
+=== next level
+EOS
+ expect =<<-EOS
+
+\\begin{reviewcolumn}
+\\reviewcolumnhead{}{test}
+
+inside column
+
+\\end{reviewcolumn}
+
+\\subsection*{next level}
+EOS
+
+ assert_equal expect, column_helper(review)
+ end
+
+ def test_column_3
+ review =<<-EOS
+===[column] test
+
+inside column
+
+===[/column_dummy]
+EOS
+ assert_raise(ReVIEW::CompileError) do
+ column_helper(review)
+ end
+ end
+
+ def test_ul
+ src =<<-EOS
+ * AAA
+ * BBB
+EOS
+ expect =<<-EOS
+
+\\begin{itemize}
+\\item AAA
+\\item BBB
+\\end{itemize}
+EOS
+ ul_helper(src, expect)
+ end
+
+ def test_cont
+ src =<<-EOS
+ * AAA
+ -AA
+ * BBB
+ -BB
+EOS
+ expect =<<-EOS
+
+\\begin{itemize}
+\\item AAA-AA
+\\item BBB-BB
+\\end{itemize}
+EOS
+ ul_helper(src, expect)
+ end
+
+ def test_ul_nest1
+ src =<<-EOS
+ * AAA
+ ** AA
+EOS
+
+ expect =<<-EOS
+
+\\begin{itemize}
+\\item AAA
+
+\\begin{itemize}
+\\item AA
+\\end{itemize}
+
+\\end{itemize}
+EOS
+ ul_helper(src, expect)
+ end
+
+ def test_ul_nest3
+ src =<<-EOS
+ * AAA
+ ** AA
+ * BBB
+ ** BB
+EOS
+
+ expect =<<-EOS
+
+\\begin{itemize}
+\\item AAA
+
+\\begin{itemize}
+\\item AA
+\\end{itemize}
+
+\\item BBB
+
+\\begin{itemize}
+\\item BB
+\\end{itemize}
+
+\\end{itemize}
+EOS
+ ul_helper(src, expect)
+ end
+
+ def test_inline_raw0
+ assert_equal "normal", @builder.inline_raw("normal")
+ end
+
+ def test_inline_raw1
+ assert_equal "body", @builder.inline_raw("|latex|body")
+ end
+
+ def test_inline_raw2
+ assert_equal "body", @builder.inline_raw("|html, latex|body")
+ end
+
+ def test_inline_raw3
+ assert_equal "", @builder.inline_raw("|idgxml, html|body")
+ end
+
+ def test_inline_raw4
+ assert_equal "|latex body", @builder.inline_raw("|latex body")
+ end
+
+ def test_inline_raw5
+ assert_equal "nor\nmal", @builder.inline_raw("|latex|nor\\nmal")
+ end
+
+ def test_block_raw0
+ @builder.raw("<>!\"\\n& ")
+ expect =<<-EOS
+<>!"
+&
+EOS
+ assert_equal expect.chomp, @builder.raw_result
+ end
+
+ def test_block_raw1
+ @builder.raw("|latex|<>!\"\\n& ")
+ expect =<<-EOS
+<>!"
+&
+EOS
+ assert_equal expect.chomp, @builder.raw_result
+ end
+
+ def test_block_raw2
+ @builder.raw("|html, latex|<>!\"\\n& ")
+ expect =<<-EOS
+<>!\"
+&
+EOS
+ assert_equal expect.chomp, @builder.raw_result
+ end
+
+ def test_block_raw3
+ @builder.raw("|html, idgxml|<>!\"\\n& ")
+ expect =<<-EOS
+EOS
+ assert_equal expect.chomp, @builder.raw_result
+ end
+
+ def test_block_raw4
+ @builder.raw("|latex <>!\"\\n& ")
+ expect =<<-EOS
+|latex <>!\"
+&
+EOS
+ assert_equal expect.chomp, @builder.raw_result
end
end