test/test_latexbuilder.rb in review-0.6.0 vs test/test_latexbuilder.rb in review-0.9.0
- old
+ new
@@ -13,16 +13,15 @@
"inencoding" => "UTF-8",
"outencoding" => "UTF-8",
"subdirmode" => nil,
"stylesheet" => nil, # for EPUBBuilder
}
- compiler = ReVIEW::Compiler.new(@builder)
- compiler.setParameter(@param)
- chapter = Chapter.new(nil, 1, '-', nil, StringIO.new)
- chapter.setParameter(@param)
+ ReVIEW.book.param = @param
+ @compiler = ReVIEW::Compiler.new(@builder)
+ @chapter = Chapter.new(nil, 1, 'chap1', nil, StringIO.new)
location = Location.new(nil, nil)
- @builder.bind(compiler, chapter, location)
+ @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
@@ -32,10 +31,15 @@
@param["secnolevel"] = 0
@builder.headline(1,"test","this is test.")
assert_equal %Q|\\chapter*{this is test.}\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
+ end
+
def test_headline_level2
@builder.headline(2,"test","this is test.")
assert_equal %Q|\\section{this is test.}\n|, @builder.result
end
@@ -66,9 +70,216 @@
assert_equal %Q|\\href{http://github.com}{http://github.com}|, ret
end
def test_href_with_underscore
ret = @builder.compile_href("http://example.com/aaa/bbb", "AAA_BBB")
- assert_equal %Q|\\href{http://example.com/aaa/bbb}{AAA\\symbol{\"5F}BBB}|, ret
+ assert_equal %Q|\\href{http://example.com/aaa/bbb}{AAA\\textunderscore{}BBB}|, ret
+ end
+
+ def test_inline_br
+ ret = @builder.inline_br("")
+ assert_equal %Q|\\\\\n|, ret
+ end
+
+ def test_inline_br_with_other_strings
+ ret = @builder.compile_inline("abc@<br>{}def")
+ assert_equal %Q|abc\\\\\ndef|, ret
+ end
+
+ def test_inline_u
+ ret = @builder.compile_inline("abc@<u>{def}ghi")
+ assert_equal %Q|abc\\Underline{def}ghi|, ret
+ end
+
+ def test_inline_i
+ ret = @builder.compile_inline("abc@<i>{def}ghi")
+ assert_equal %Q|abc\\textit{def}ghi|, ret
+ end
+
+ def test_inline_i_and_escape
+ ret = @builder.compile_inline("test @<i>{inline<&;\\ test} test2")
+ assert_equal %Q|test \\textit{inline\\textless{}\\&;\\reviewbackslash{} test} test2|, ret
+ end
+
+ def test_inline_dtp
+ ret = @builder.compile_inline("abc@<dtp>{def}ghi")
+ assert_equal %Q|abcghi|, ret
+ end
+
+ def test_inline_code
+ ret = @builder.compile_inline("abc@<code>{def}ghi")
+ 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
+ end
+
+ def test_inline_sup
+ ret = @builder.compile_inline("abc@<sup>{def}")
+ assert_equal %Q|abc\\textsuperscript{def}|, ret
+ end
+
+ def test_inline_sub
+ ret = @builder.compile_inline("abc@<sub>{def}")
+ assert_equal %Q|abc\\textsubscript{def}|, ret
+ end
+
+ def test_inline_b
+ ret = @builder.compile_inline("abc@<b>{def}")
+ assert_equal %Q|abc\\textbf{def}|, ret
+ end
+
+ def test_inline_b_and_escape
+ ret = @builder.compile_inline("test @<b>{inline<&;\\ test} test2")
+ assert_equal %Q|test \\textbf{inline\\textless{}\\&;\\reviewbackslash{} test} test2|, ret
+ end
+ def test_inline_em
+ ret = @builder.compile_inline("abc@<em>{def}")
+ assert_equal %Q|abc\\textbf{def}|, ret
+ end
+
+ def test_inline_strong
+ ret = @builder.compile_inline("abc@<strong>{def}")
+ assert_equal %Q|abc\\textbf{def}|, ret
+ end
+
+ def test_inline_u
+ ret = @builder.compile_inline("abc@<u>{def}ghi")
+ assert_equal %Q|abc\\Underline{def}ghi|, ret
+ end
+
+ def test_inline_m
+ ret = @builder.compile_inline("abc@<m>{\\alpha^n = \inf < 2}ghi")
+ assert_equal "abc $\\alpha^n = inf < 2$ ghi", ret
+ end
+
+ def test_inline_tt
+ ret = @builder.compile_inline("test @<tt>{inline test} test2")
+ assert_equal %Q|test \\texttt{inline test} test2|, ret
+ end
+
+ def test_inline_tt_endash
+ ret = @builder.compile_inline("test @<tt>{in-line --test ---foo ----bar -----buz} --test2")
+ assert_equal %Q|test \\texttt{in-line {-}{-}test {-}{-}-foo {-}{-}{-}{-}bar {-}{-}{-}{-}-buz} --test2|, ret
+ end
+
+ def test_inline_tti
+ ret = @builder.compile_inline("test @<tti>{inline test} test2")
+ assert_equal %Q|test \\texttt{\\textit{inline test}} test2|, ret
+ end
+
+ def test_inline_ttb
+ ret = @builder.compile_inline("test @<ttb>{inline test} test2")
+ assert_equal %Q|test \\texttt{\\textbf{inline test}} test2|, ret
+ end
+
+ 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
+ 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
+
+ def test_memo
+ @builder.memo(["test1", "", "test<i>2</i>"], "this is @<b>{test}<&>_")
+ assert_equal %Q|\\begin{reviewminicolumn}\n\\reviewminicolumntitle{this is \\textbf{test}\\textless{}\\&\\textgreater{}\\textunderscore{}}\ntest1\n\ntest<i>2</i>\n\\end{reviewminicolumn}\n|, @builder.result
+ end
+
+ def test_flushright
+ @builder.flushright(["foo", "bar", "","buz"])
+ assert_equal %Q|\n\\begin{flushright}\nfoobar\n\nbuz\n\\end{flushright}\n|, @builder.raw_result
+ end
+
+ 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
+ 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
+ end
+
+ def test_image_with_metric
+ 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")
+ 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_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
+ end
+
+ def test_indepimage_without_caption
+ 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,nil)
+ assert_equal %Q|\\begin{reviewimage}\n\\includegraphics{./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)
+ 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")
+ 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_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
end