class LATEXBuidlerTest

Public Instance Methods

column_helper(review) click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 522
def column_helper(review)
  compile_block(review)
end
setup() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 10
def setup
  @builder = LATEXBuilder.new()
  @config = ReVIEW::Configure.values
  @config.merge!( {
    "secnolevel" => 2, # for IDGXMLBuilder, EPUBBuilder
    "toclevel" => 2,
    "stylesheet" => nil, # for EPUBBuilder
    "image_scale2width" => false,
    "texcommand" => "uplatex"
  })
  @book = Book::Base.new(nil)
  @book.config = @config
  @compiler = ReVIEW::Compiler.new(@builder)
  @chapter = Book::Chapter.new(@book, 1, 'chap1', nil, StringIO.new)
  location = Location.new(nil, nil)
  @builder.bind(@compiler, @chapter, location)
  I18n.setup("ja")
end
test_bib() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 496
def test_bib
  def @chapter.bibpaper(id)
    Book::BibpaperIndex::Item.new("samplebib",1,"sample bib")
  end

  assert_equal "\\reviewbibref{[1]}{bib:samplebib}", compile_inline("@<bib>{samplebib}")
end
test_bibpaper() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 504
def test_bibpaper
  def @chapter.bibpaper(id)
    Book::BibpaperIndex::Item.new("samplebib",1,"sample bib")
  end

  actual = compile_block("//bibpaper[samplebib][sample bib @<b>{bold}]{\na\nb\n//}\n")
  assert_equal %Q[1] sample bib \\textbf{bold}\n\\label{bib:samplebib}\n\nab\n\n|, actual
end
test_bibpaper_without_body() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 513
def test_bibpaper_without_body
  def @chapter.bibpaper(id)
    Book::BibpaperIndex::Item.new("samplebib",1,"sample bib")
  end

  actual = compile_block("//bibpaper[samplebib][sample bib]\n")
  assert_equal %Q[1] sample bib\n\\label{bib:samplebib}\n\n|, actual
end
test_block_raw0() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 821
def test_block_raw0
  actual = compile_block("//raw[<>!\"\\n& ]\n")
  expected = %Q(<>!\"\n& )
  assert_equal expected, actual
end
test_block_raw1() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 827
def test_block_raw1
  actual = compile_block("//raw[|latex|<>!\"\\n& ]\n")
  expected = %Q(<>!\"\n& )
  assert_equal expected, actual
end
test_block_raw2() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 833
def test_block_raw2
  actual = compile_block("//raw[|html, latex|<>!\"\\n& ]\n")
  expected = %Q(<>!\"\n& )
  assert_equal expected, actual
end
test_block_raw3() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 839
def test_block_raw3
  actual = compile_block("//raw[|html, idgxml|<>!\"\\n& ]\n")
  expected = ''
  assert_equal expected, actual
end
test_block_raw4() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 845
def test_block_raw4
  actual = compile_block("//raw[|latex <>!\"\\n& ]\n")
  expected = %Q(|latex <>!\"\n& )
  assert_equal expected, actual
end
test_centering() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 335
def test_centering
  actual = compile_block("//centering{\nfoo\nbar\n\nbuz\n//}\n")
  assert_equal %Q\n\\begin{center}\nfoobar\n\nbuz\n\\end{center}\n|, actual
end
test_cmd() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 229
def test_cmd
  actual = compile_block("//cmd{\nfoo\nbar\n\nbuz\n//}\n")
  assert_equal %Q\n\\begin{reviewcmd}\nfoo\nbar\n\nbuz\n\\end{reviewcmd}\n|, actual
end
test_cmd_caption() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 234
def test_cmd_caption
  actual = compile_block("//cmd[cap1]{\nfoo\nbar\n\nbuz\n//}\n")
  assert_equal %Q\n\\reviewcmdcaption{cap1}\n\\begin{reviewcmd}\nfoo\nbar\n\nbuz\n\\end{reviewcmd}\n|, actual
end
test_cmd_lst() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 239
def test_cmd_lst
  @book.config["highlight"] = {}
  @book.config["highlight"]["latex"] = "listings"
  actual = compile_block("//cmd{\nfoo\nbar\n\nbuz\n//}\n")
  assert_equal %Q\\vspace{-1.5em}\\begin{reviewcmdlst}[title={\\relax},language={}]\nfoo\nbar\n\nbuz\n\\end{reviewcmdlst}\n|, actual
end
test_column_1() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 526
  def test_column_1
    review =<<-EOS
===[column] prev column

inside prev column

===[column] test

inside column

===[/column]
EOS
    expected =<<-EOS

\\begin{reviewcolumn}
\\hypertarget{column:chap1:1}{}
\\reviewcolumnhead{}{prev column}
\\addcontentsline{toc}{subsection}{prev column}

inside prev column

\\end{reviewcolumn}

\\begin{reviewcolumn}
\\hypertarget{column:chap1:2}{}
\\reviewcolumnhead{}{test}
\\addcontentsline{toc}{subsection}{test}

inside column

\\end{reviewcolumn}
EOS
    @config["toclevel"] = 3
    assert_equal expected, column_helper(review)
  end
test_column_2() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 562
  def test_column_2
    review =<<-EOS
===[column] test

inside column

=== next level
EOS
    expected =<<-EOS

\\begin{reviewcolumn}
\\hypertarget{column:chap1:1}{}
\\reviewcolumnhead{}{test}

inside column

\\end{reviewcolumn}

\\subsection*{next level}
\\label{sec:1-0-1}
EOS

    @config["toclevel"] = 1
    assert_equal expected, column_helper(review)
  end
test_column_3() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 588
  def test_column_3
    review =<<-EOS
===[column] test

inside column

===[/column_dummy]
EOS
    assert_raise(ReVIEW::CompileError) do
      column_helper(review)
    end
  end
test_cont() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 633
  def test_cont
    src =<<-EOS
  * AAA
    -AA
  * BBB
    -BB
EOS
    expected =<<-EOS

\\begin{itemize}
\\item AAA{-}AA
\\item BBB{-}BB
\\end{itemize}
EOS
    actual = compile_block(src)
    assert_equal expected, actual
  end
test_dlist() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 219
def test_dlist
  actual = compile_block(": foo\n  foo.\n  bar.\n")
  assert_equal %Q\n\\begin{description}\n\\item[foo] \\mbox{} \\\\\nfoo.bar.\n\\end{description}\n|, actual
end
test_dlist_with_bracket() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 224
def test_dlist_with_bracket
  actual = compile_block(": foo[bar]\n    foo.\n    bar.\n")
  assert_equal %Q\n\\begin{description}\n\\item[foo\\lbrack{}bar\\rbrack{}] \\mbox{} \\\\\nfoo.bar.\n\\end{description}\n|, actual
end
test_emlist() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 246
def test_emlist
  actual = compile_block("//emlist{\nfoo\nbar\n\nbuz\n//}\n")
  assert_equal %Q\n\\begin{reviewemlist}\nfoo\nbar\n\nbuz\n\\end{reviewemlist}\n|, actual
end
test_emlist_caption() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 267
def test_emlist_caption
  actual = compile_block("//emlist[cap1]{\nfoo\nbar\n\nbuz\n//}\n")
  assert_equal %Q\n\\reviewemlistcaption{cap1}\n\\begin{reviewemlist}\nfoo\nbar\n\nbuz\n\\end{reviewemlist}\n|, actual
end
test_emlist_lst() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 251
def test_emlist_lst
  @book.config["highlight"] = {}
  @book.config["highlight"]["latex"] = "listings"
  actual = compile_block("//emlist[][sql]{\nSELECT COUNT(*) FROM tests WHERE tests.no > 10 AND test.name LIKE 'ABC%'\n//}\n")
  assert_equal %Q\n\\vspace{-1.5em}\\begin{reviewemlistlst}[title={\\relax},language={sql}]\nSELECT COUNT(*) FROM tests WHERE tests.no > 10 AND test.name LIKE 'ABC%'\n\\end{reviewemlistlst}\n|, actual
end
test_emlist_lst_without_lang() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 258
def test_emlist_lst_without_lang
  @book.config["highlight"] = {}
  @book.config["highlight"]["latex"] = "listings"
  @book.config["highlight"]["lang"] = "sql"
  actual = compile_block("//emlist[]{\nSELECT COUNT(*) FROM tests WHERE tests.no > 10 AND test.name LIKE 'ABC%'\n//}\n")
  assert_equal %Q\n\\vspace{-1.5em}\\begin{reviewemlistlst}[title={\\relax},language={sql}]\nSELECT COUNT(*) FROM tests WHERE tests.no > 10 AND test.name LIKE 'ABC%'\n\\end{reviewemlistlst}\n|, actual
end
test_emlist_with_tab() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 272
def test_emlist_with_tab
  actual = compile_block("//emlist{\n\tfoo\n\t\tbar\n\n\tbuz\n//}\n")
  assert_equal %Q\n\\begin{reviewemlist}\n        foo\n                bar\n\n        buz\n\\end{reviewemlist}\n|, actual
end
test_emlist_with_tab4() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 277
def test_emlist_with_tab4
  @config["tabwidth"] = 4
  actual = compile_block("//emlist{\n\tfoo\n\t\tbar\n\n\tbuz\n//}\n")
  assert_equal %Q\n\\begin{reviewemlist}\n    foo\n        bar\n\n    buz\n\\end{reviewemlist}\n|, actual
end
test_emlistnum_caption() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 283
def test_emlistnum_caption
  actual = compile_block("//emlistnum[cap1]{\nfoo\nbar\n\nbuz\n//}\n")
  assert_equal %Q\n\\reviewemlistcaption{cap1}\n\\begin{reviewemlist}\n 1: foo\n 2: bar\n 3: \n 4: buz\n\\end{reviewemlist}\n|, actual
end
test_flushright() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 330
def test_flushright
  actual = compile_block("//flushright{\nfoo\nbar\n\nbuz\n//}\n")
  assert_equal %Q\n\\begin{flushright}\nfoobar\n\nbuz\n\\end{flushright}\n|, actual
end
test_headline_level1() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 29
def test_headline_level1
  actual = compile_block("={test} this is test.\n")
  assert_equal %Q\\chapter{this is test.}\n\\label{chap:chap1}\n|, actual
end
test_headline_level1_with_inlinetag() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 40
def test_headline_level1_with_inlinetag
  actual = compile_block("={test} this @<b>{is} test.<&\"_>\n")
  assert_equal %Q\\chapter{this \\textbf{is} test.\\textless{}\\&\"\\textunderscore{}\\textgreater{}}\n\\label{chap:chap1}\n|, actual
end
test_headline_level1_without_secno() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 34
def test_headline_level1_without_secno
  @config["secnolevel"] = 0
  actual = compile_block("={test} this is test.\n")
  assert_equal %Q\\chapter*{this is test.}\n\\addcontentsline{toc}{chapter}{this is test.}\n\\label{chap:chap1}\n|, actual
end
test_headline_level2() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 45
def test_headline_level2
  actual = compile_block("=={test} this is test.\n")
  assert_equal %Q\\section{this is test.}\n\\label{sec:1-1}\n|, actual
end
test_headline_level3() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 50
def test_headline_level3
  actual = compile_block("==={test} this is test.\n")
  assert_equal %Q\\subsection*{this is test.}\n\\label{sec:1-0-1}\n|, actual
end
test_headline_level3_with_secno() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 56
def test_headline_level3_with_secno
  @config["secnolevel"] = 3
  actual = compile_block("==={test} this is test.\n")
  assert_equal %Q\\subsection{this is test.}\n\\label{sec:1-0-1}\n|, actual
end
test_href() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 67
def test_href
  actual = compile_inline("@<href>{http://github.com,GitHub}")
  assert_equal %Q\\href{http://github.com}{GitHub}|, actual
end
test_href_mailto() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 87
def test_href_mailto
  actual = compile_inline('@<href>{mailto:takahashim@example.com, takahashim@example.com}')
  assert_equal %Q\\href{mailto:takahashim@example.com}{takahashim@example.com}|, actual
end
test_href_with_underscore() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 82
def test_href_with_underscore
  actual = compile_inline('@<href>{http://example.com/aaa/bbb, AAA_BBB}')
  assert_equal %Q\\href{http://example.com/aaa/bbb}{AAA\\textunderscore{}BBB}|, actual
end
test_href_without_label() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 77
def test_href_without_label
  actual = compile_inline('@<href>{http://github.com}')
  assert_equal %Q\\url{http://github.com}|, actual
end
test_image() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 345
def test_image
  def @chapter.image(id)
    item = Book::ImageIndex::Item.new("sampleimg",1)
    item.instance_eval{@path="./images/chap1-sampleimg.png"}
    item
  end

  actual = compile_block("//image[sampleimg][sample photo]{\n//}\n")
  assert_equal %Q\\begin{reviewimage}\n\\includegraphics[width=\\maxwidth]{./images/chap1-sampleimg.png}\n\\caption{sample photo}\n\\label{image:chap1:sampleimg}\n\\end{reviewimage}\n|, actual
end
test_image_with_metric() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 356
def test_image_with_metric
  def @chapter.image(id)
    item = Book::ImageIndex::Item.new("sampleimg",1)
    item.instance_eval{@path="./images/chap1-sampleimg.png"}
    item
  end

  actual = compile_block("//image[sampleimg][sample photo][scale=1.2]{\n//}\n")
  assert_equal %Q\\begin{reviewimage}\n\\includegraphics[scale=1.2]{./images/chap1-sampleimg.png}\n\\caption{sample photo}\n\\label{image:chap1:sampleimg}\n\\end{reviewimage}\n|, actual
end
test_image_with_metric2() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 379
def test_image_with_metric2
  def @chapter.image(id)
    item = Book::ImageIndex::Item.new("sampleimg",1)
    item.instance_eval{@path="./images/chap1-sampleimg.png"}
    item
  end

  actual = compile_block("//image[sampleimg][sample photo][scale=1.2,html::class=sample,latex::ignore=params]{\n//}\n")
  assert_equal %Q\\begin{reviewimage}\n\\includegraphics[scale=1.2,ignore=params]{./images/chap1-sampleimg.png}\n\\caption{sample photo}\n\\label{image:chap1:sampleimg}\n\\end{reviewimage}\n|, actual
end
test_image_with_metric2_width() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 390
def test_image_with_metric2_width
  def @chapter.image(id)
    item = Book::ImageIndex::Item.new("sampleimg",1)
    item.instance_eval{@path="./images/chap1-sampleimg.png"}
    item
  end

  @config["image_scale2width"] = true
  actual = compile_block("//image[sampleimg][sample photo][scale=1.2,html::class=sample,latex::ignore=params]{\n//}\n")
  assert_equal %Q\\begin{reviewimage}\n\\includegraphics[width=1.2\\maxwidth,ignore=params]{./images/chap1-sampleimg.png}\n\\caption{sample photo}\n\\label{image:chap1:sampleimg}\n\\end{reviewimage}\n|, actual
end
test_image_with_metric_width() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 367
def test_image_with_metric_width
  def @chapter.image(id)
    item = Book::ImageIndex::Item.new("sampleimg",1)
    item.instance_eval{@path="./images/chap1-sampleimg.png"}
    item
  end

  @config["image_scale2width"] = true
  actual = compile_block("//image[sampleimg][sample photo][scale=1.2]{\n//}\n")
  assert_equal %Q\\begin{reviewimage}\n\\includegraphics[width=1.2\\maxwidth]{./images/chap1-sampleimg.png}\n\\caption{sample photo}\n\\label{image:chap1:sampleimg}\n\\end{reviewimage}\n|, actual
end
test_imgtable() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 477
def test_imgtable
  def @chapter.image(id)
    item = Book::ImageIndex::Item.new("sampleimg",1, 'sample img')
    item.instance_eval{@path="./images/chap1-sampleimg.png"}
    item
  end

  actual = compile_block("//imgtable[sampleimg][test for imgtable]{\n//}\n")

  assert_equal "\\begin{table}[h]\n"+
               "\\reviewimgtablecaption{test for imgtable}\n"+
               "\\label{table:chap1:sampleimg}\n"+
               "\\begin{reviewimage}\n"+
               "\\includegraphics[width=\\maxwidth]{./images/chap1-sampleimg.png}\n"+
               "\\end{reviewimage}\n"+
               "\\end{table}\n",
               actual
end
test_indepimage() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 402
def test_indepimage
  def @chapter.image(id)
    item = Book::ImageIndex::Item.new("sampleimg",1)
    item.instance_eval{@path="./images/chap1-sampleimg.png"}
    item
  end

  actual = compile_block("//indepimage[sampleimg][sample photo]\n")
  assert_equal %Q\\begin{reviewimage}\n\\includegraphics[width=\\maxwidth]{./images/chap1-sampleimg.png}\n\\reviewindepimagecaption{図: sample photo}\n\\end{reviewimage}\n|, actual
end
test_indepimage_with_metric() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 425
def test_indepimage_with_metric
  def @chapter.image(id)
    item = Book::ImageIndex::Item.new("sampleimg",1)
    item.instance_eval{@path="./images/chap1-sampleimg.png"}
    item
  end

  actual = compile_block("//indepimage[sampleimg][sample photo][scale=1.2]\n")
  assert_equal %Q\\begin{reviewimage}\n\\includegraphics[scale=1.2]{./images/chap1-sampleimg.png}\n\\reviewindepimagecaption{図: sample photo}\n\\end{reviewimage}\n|, actual
end
test_indepimage_with_metric2() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 448
def test_indepimage_with_metric2
  def @chapter.image(id)
    item = Book::ImageIndex::Item.new("sampleimg",1)
    item.instance_eval{@path="./images/chap1-sampleimg.png"}
    item
  end

  actual = compile_block("//indepimage[sampleimg][sample photo][scale=1.2, html::class=\"sample\",latex::ignore=params]\n")
  assert_equal %Q\\begin{reviewimage}\n\\includegraphics[scale=1.2,ignore=params]{./images/chap1-sampleimg.png}\n\\reviewindepimagecaption{図: sample photo}\n\\end{reviewimage}\n|, actual
end
test_indepimage_with_metric_width() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 436
def test_indepimage_with_metric_width
  def @chapter.image(id)
    item = Book::ImageIndex::Item.new("sampleimg",1)
    item.instance_eval{@path="./images/chap1-sampleimg.png"}
    item
  end

  @config["image_scale2width"] = true
  actual = compile_block("//indepimage[sampleimg][sample photo][scale=1.2]\n")
  assert_equal %Q\\begin{reviewimage}\n\\includegraphics[width=1.2\\maxwidth]{./images/chap1-sampleimg.png}\n\\reviewindepimagecaption{図: sample photo}\n\\end{reviewimage}\n|, actual
end
test_indepimage_without_caption() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 413
def test_indepimage_without_caption
  def @chapter.image(id)
    item = Book::ImageIndex::Item.new("sampleimg",1)
    item.instance_eval{@path="./images/chap1-sampleimg.png"}
    item
  end

  # FIXME: indepimage's caption should not be with a counter.
  actual = compile_block("//indepimage[sampleimg]\n")
  assert_equal %Q\\begin{reviewimage}\n\\includegraphics[width=\\maxwidth]{./images/chap1-sampleimg.png}\n\\end{reviewimage}\n|, actual
end
test_indepimage_without_caption_but_with_metric() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 459
def test_indepimage_without_caption_but_with_metric
  def @chapter.image(id)
    item = Book::ImageIndex::Item.new("sampleimg",1)
    item.instance_eval{@path="./images/chap1-sampleimg.png"}
    item
  end

  # FIXME: indepimage's caption should not be with a counter.
  actual = compile_block("//indepimage[sampleimg][][scale=1.2]\n")
  assert_equal %Q\\begin{reviewimage}\n\\includegraphics[scale=1.2]{./images/chap1-sampleimg.png}\n\\end{reviewimage}\n|, actual
end
test_inline_b() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 137
def test_inline_b
  actual = compile_inline("abc@<b>{def}")
  assert_equal %Qabc\\textbf{def}|, actual
end
test_inline_b_and_escape() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 142
def test_inline_b_and_escape
  actual = compile_inline("test @<b>{inline<&;\\ test} test2")
  assert_equal %Qtest \\textbf{inline\\textless{}\\&;\\reviewbackslash{} test} test2|, actual
end
test_inline_br() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 92
def test_inline_br
  actual = compile_inline("@<br>{}")
  assert_equal %Q\\\\\n|, actual
end
test_inline_br_with_other_strings() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 97
def test_inline_br_with_other_strings
  actual = compile_inline("abc@<br>{}def")
  assert_equal %Qabc\\\\\ndef|, actual
end
test_inline_code() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 117
def test_inline_code
  actual = compile_inline("abc@<code>{def}ghi")
  assert_equal %Qabc\\texttt{def}ghi|, actual
end
test_inline_dtp() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 112
def test_inline_dtp
  actual = compile_inline("abc@<dtp>{def}ghi")
  assert_equal %Qabcghi|, actual
end
test_inline_em() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 146
def test_inline_em
  actual = compile_inline("abc@<em>{def}")
  assert_equal %Qabc\\reviewem{def}|, actual
end
test_inline_endash() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 792
def test_inline_endash
  actual = compile_inline("- -- --- ----")
  assert_equal "{-} {-}{-} {-}{-}{-} {-}{-}{-}{-}", actual
end
test_inline_hd_chap() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 186
def test_inline_hd_chap
  def @chapter.headline_index
    items = [Book::HeadlineIndex::Item.new("chap1|test", [1, 1], "te_st")]
    Book::HeadlineIndex.new(items, self)
  end

  @config["secnolevel"] = 3
  actual = compile_inline("test @<hd>{chap1|test} test2")
  assert_equal %Qtest 「1.1.1 te\\textunderscore{}st」 test2|, actual
end
test_inline_href() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 72
def test_inline_href
  actual = compile_inline('@<href>{http://github.com,Git\,Hub}')
  assert_equal %Q\\href{http://github.com}{Git,Hub}|, actual
end
test_inline_i() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 102
def test_inline_i
  actual = compile_inline("abc@<i>{def}ghi")
  assert_equal %Qabc\\textit{def}ghi|, actual
end
test_inline_i_and_escape() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 107
def test_inline_i_and_escape
  actual = compile_inline("test @<i>{inline<&;\\ test} test2")
  assert_equal %Qtest \\textit{inline\\textless{}\\&;\\reviewbackslash{} test} test2|, actual
end
test_inline_idx() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 207
def test_inline_idx
  actual = compile_inline("@<idx>{__TEST%$}, @<hidx>{__TEST%$}")
  assert_equal %Q\\textunderscore{}\\textunderscore{}TEST\\%\\textdollar{}\\index{__TEST%$}, \\index{__TEST%$}|, actual
end
test_inline_imgref() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 797
def test_inline_imgref
  def @chapter.image(id)
    item = Book::ImageIndex::Item.new("sampleimg", 1, 'sample photo')
    item.instance_eval{@path="./images/chap1-sampleimg.png"}
    item
  end

  actual = compile_block "@<imgref>{sampleimg}\n"
  expected = "\n\\reviewimageref{1.1}{image:chap1:sampleimg}「sample photo」\n"
  assert_equal expected, actual
end
test_inline_imgref2() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 809
def test_inline_imgref2
  def @chapter.image(id)
    item = Book::NumberlessImageIndex::Item.new("sampleimg", 1)
    item.instance_eval{@path="./images/chap1-sampleimg.png"}
    item
  end

  actual = compile_block "@<imgref>{sampleimg}\n"
  expected = "\n\\reviewimageref{1.1}{image:chap1:sampleimg}\n"
  assert_equal expected, actual
end
test_inline_m() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 161
def test_inline_m
  actual = compile_inline("abc@<m>{\\alpha^n = \inf < 2}ghi")
  assert_equal "abc $\\alpha^n = inf < 2$ ghi", actual
end
test_inline_raw() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 122
def test_inline_raw
  actual = compile_inline("@<raw>{@<tt>{inline!$%\\}}")
  assert_equal "@<tt>{inline!$%}", actual
end
test_inline_raw0() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 768
def test_inline_raw0
  assert_equal "normal", compile_inline("@<raw>{normal}")
end
test_inline_raw1() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 772
def test_inline_raw1
  assert_equal "body", compile_inline("@<raw>{|latex|body}")
end
test_inline_raw2() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 776
def test_inline_raw2
  assert_equal "body", compile_inline("@<raw>{|html, latex|body}")
end
test_inline_raw3() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 780
def test_inline_raw3
  assert_equal "", compile_inline("@<raw>{|idgxml, html|body}")
end
test_inline_raw4() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 784
def test_inline_raw4
  assert_equal "|latex body", compile_inline("@<raw>{|latex body}")
end
test_inline_raw5() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 788
def test_inline_raw5
  assert_equal "nor\nmal", compile_inline("@<raw>{|latex|nor\\nmal}")
end
test_inline_ruby_comma() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 197
def test_inline_ruby_comma
  actual = compile_inline("@<ruby>{foo\\, bar\\, buz,フー・バー・バズ}")
  assert_equal "\\ruby{foo, bar, buz}{フー・バー・バズ}", actual
end
test_inline_strong() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 151
def test_inline_strong
  actual = compile_inline("abc@<strong>{def}")
  assert_equal %Qabc\\reviewstrong{def}|, actual
end
test_inline_sub() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 132
def test_inline_sub
  actual = compile_inline("abc@<sub>{def}")
  assert_equal %Qabc\\textsubscript{def}|, actual
end
test_inline_sup() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 127
def test_inline_sup
  actual = compile_inline("abc@<sup>{def}")
  assert_equal %Qabc\\textsuperscript{def}|, actual
end
test_inline_tt() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 166
def test_inline_tt
  actual = compile_inline("test @<tt>{inline test} test2")
  assert_equal %Qtest \\texttt{inline test} test2|, actual
end
test_inline_tt_endash() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 171
def test_inline_tt_endash
  actual = compile_inline("test @<tt>{in-line --test ---foo ----bar -----buz} --test2")
  assert_equal %Qtest \\texttt{in{-}line {-}{-}test {-}{-}{-}foo {-}{-}{-}{-}bar {-}{-}{-}{-}{-}buz} {-}{-}test2|, actual
end
test_inline_ttb() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 181
def test_inline_ttb
  actual = compile_inline("test @<ttb>{inline test} test2")
  assert_equal %Qtest \\texttt{\\textbf{inline test}} test2|, actual
end
test_inline_tti() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 176
def test_inline_tti
  actual = compile_inline("test @<tti>{inline test} test2")
  assert_equal %Qtest \\texttt{\\textit{inline test}} test2|, actual
end
test_inline_u() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 156
def test_inline_u
  actual = compile_inline("abc@<u>{def}ghi")
  assert_equal %Qabc\\reviewunderline{def}ghi|, actual
end
test_inline_uchar() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 202
def test_inline_uchar
  actual = compile_inline("test @<uchar>{2460} test2")
  assert_equal %Qtest \\UTF{2460} test2|, actual
end
test_jis_x_0201_kana() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 212
def test_jis_x_0201_kana
  # uplatex can handle half-width kana natively
  actual = compile_inline("foo・カンジ、テスト")
  assert_equal %Qfoo・カンジ、テスト|, actual
  # assert_equal %Q|foo\\aj半角{・}\\aj半角{カ}\\aj半角{ン}\\aj半角{シ}\\aj半角{゛}\\aj半角{、}テスト|, actual
end
test_label() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 62
def test_label
  actual = compile_block("//label[label_test]\n")
  assert_equal %Q\\label{label_test}\n|, actual
end
test_list() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 288
def test_list
  actual = compile_block("//list[id1][cap1]{\nfoo\nbar\n\nbuz\n//}\n")
  assert_equal %Q\\reviewlistcaption{リスト1.1: cap1}\n\\begin{reviewlist}\nfoo\nbar\n\nbuz\n\\end{reviewlist}\n|, actual
end
test_list_lst() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 293
def test_list_lst
  @book.config["highlight"] = {}
  @book.config["highlight"]["latex"] = "listings"
  actual = compile_block("//list[id1][cap1][sql]{\nSELECT COUNT(*) FROM tests WHERE tests.no > 10 AND test.name LIKE 'ABC%'\n//}\n")
  assert_equal %Q\\begin{reviewlistlst}[caption={cap1},language={sql}]\nSELECT COUNT(*) FROM tests WHERE tests.no > 10 AND test.name LIKE 'ABC%'\n\\end{reviewlistlst}\n|, actual
end
test_list_lst_with_lang() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 300
def test_list_lst_with_lang
  @book.config["highlight"] = {}
  @book.config["highlight"]["latex"] = "listings"
  @book.config["highlight"]["lang"] = "sql"
  actual = compile_block("//list[id1][cap1]{\nSELECT COUNT(*) FROM tests WHERE tests.no > 10 AND test.name LIKE 'ABC%'\n//}\n")
  assert_equal %Q\\begin{reviewlistlst}[caption={cap1},language={sql}]\nSELECT COUNT(*) FROM tests WHERE tests.no > 10 AND test.name LIKE 'ABC%'\n\\end{reviewlistlst}\n|, actual
end
test_listnum() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 308
def test_listnum
  actual = compile_block("//listnum[test1][ruby]{\nclass Foo\n  def foo\n    bar\n\n    buz\n  end\nend\n//}\n")
  assert_equal %Q\\reviewlistcaption{リスト1.1: ruby}\n\\begin{reviewlist}\n 1: class Foo\n 2:   def foo\n 3:     bar\n 4: \n 5:     buz\n 6:   end\n 7: end\n\\end{reviewlist}\n|, actual
end
test_listnum_lst() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 313
def test_listnum_lst
  @book.config["highlight"] = {}
  @book.config["highlight"]["latex"] = "listings"
  actual = compile_block("//listnum[test1][ruby]{\nclass Foo\n  def foo\n    bar\n\n    buz\n  end\nend\n//}\n")
  assert_equal %Q\\begin{reviewlistnumlst}[caption={ruby},language={}]\nclass Foo\n  def foo\n    bar\n\n    buz\n  end\nend\n\\end{reviewlistnumlst}\n|, actual
end
test_major_blocks() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 734
def test_major_blocks
  actual = compile_block("//note{\nA\n\nB\n//}\n//note[caption]{\nA\n//}")
  expected = %Q(\\begin{reviewminicolumn}\nA\n\nB\n\\end{reviewminicolumn}\n\\begin{reviewminicolumn}\n\\reviewminicolumntitle{caption}\nA\n\\end{reviewminicolumn}\n)
  assert_equal expected, actual

  actual = compile_block("//memo{\nA\n\nB\n//}\n//memo[caption]{\nA\n//}")
  expected = %Q(\\begin{reviewminicolumn}\nA\n\nB\n\\end{reviewminicolumn}\n\\begin{reviewminicolumn}\n\\reviewminicolumntitle{caption}\nA\n\\end{reviewminicolumn}\n)
  assert_equal expected, actual

  actual = compile_block("//info{\nA\n\nB\n//}\n//info[caption]{\nA\n//}")
  expected = %Q(\\begin{reviewminicolumn}\nA\n\nB\n\\end{reviewminicolumn}\n\\begin{reviewminicolumn}\n\\reviewminicolumntitle{caption}\nA\n\\end{reviewminicolumn}\n)
  assert_equal expected, actual

  actual = compile_block("//important{\nA\n\nB\n//}\n//important[caption]{\nA\n//}")
  expected = %Q(\\begin{reviewminicolumn}\nA\n\nB\n\\end{reviewminicolumn}\n\\begin{reviewminicolumn}\n\\reviewminicolumntitle{caption}\nA\n\\end{reviewminicolumn}\n)
  assert_equal expected, actual

  actual = compile_block("//caution{\nA\n\nB\n//}\n//caution[caption]{\nA\n//}")
  expected = %Q(\\begin{reviewminicolumn}\nA\n\nB\n\\end{reviewminicolumn}\n\\begin{reviewminicolumn}\n\\reviewminicolumntitle{caption}\nA\n\\end{reviewminicolumn}\n)
  assert_equal expected, actual

  actual = compile_block("//notice{\nA\n\nB\n//}\n//notice[caption]{\nA\n//}")
  expected = %Q(\\begin{reviewminicolumn}\nA\n\nB\n\\end{reviewminicolumn}\n\\begin{reviewminicolumn}\n\\reviewminicolumntitle{caption}\nA\n\\end{reviewminicolumn}\n)
  assert_equal expected, actual

  actual = compile_block("//warning{\nA\n\nB\n//}\n//warning[caption]{\nA\n//}")
  expected = %Q(\\begin{reviewminicolumn}\nA\n\nB\n\\end{reviewminicolumn}\n\\begin{reviewminicolumn}\n\\reviewminicolumntitle{caption}\nA\n\\end{reviewminicolumn}\n)
  assert_equal expected, actual

  actual = compile_block("//tip{\nA\n\nB\n//}\n//tip[caption]{\nA\n//}")
  expected = %Q(\\begin{reviewminicolumn}\nA\n\nB\n\\end{reviewminicolumn}\n\\begin{reviewminicolumn}\n\\reviewminicolumntitle{caption}\nA\n\\end{reviewminicolumn}\n)
  assert_equal expected, actual
end
test_memo() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 325
def test_memo
  actual = compile_block("//memo[this is @<b>{test}<&>_]{\ntest1\n\ntest@<i>{2}\n//}\n")
  assert_equal %Q\\begin{reviewminicolumn}\n\\reviewminicolumntitle{this is \\textbf{test}\\textless{}\\&\\textgreater{}\\textunderscore{}}\ntest1\n\ntest\\textit{2}\n\\end{reviewminicolumn}\n|, actual
end
test_noindent() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 340
def test_noindent
  actual = compile_block("//noindent\nfoo\nbar\n\nfoo2\nbar2\n")
  assert_equal %Q\\noindent\nfoo\nbar\n\nfoo2\nbar2\n|, actual
end
test_ol() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 701
  def test_ol
    src =<<-EOS
  3. AAA
  3. BBB
EOS

    expected =<<-EOS

\\begin{enumerate}
\\item AAA
\\item BBB
\\end{enumerate}
EOS
    actual = compile_block(src)
    assert_equal expected, actual
  end
test_ol_with_bracket() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 718
  def test_ol_with_bracket
    src =<<-EOS
  1. AAA
  2. []BBB
EOS
    expected =<<-EOS

\\begin{enumerate}
\\item AAA
\\item \\lbrack{}]BBB
\\end{enumerate}
EOS
    actual = compile_block(src)
    assert_equal expected, actual
  end
test_quote() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 320
def test_quote
  actual = compile_block("//quote{\nfoo\nbar\n\nbuz\n//}\n")
  assert_equal %Q\n\\begin{quote}\nfoobar\n\nbuz\n\\end{quote}\n|, actual
end
test_table() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 471
def test_table
  actual = compile_block("//table{\naaa\tbbb\n------------\nccc\tddd<>&\n//}\n")
  assert_equal "\\begin{reviewtable}{|l|l|}\n\\hline\n\\reviewth{aaa} & \\reviewth{bbb} \\\\  \\hline\nccc & ddd\\textless{}\\textgreater{}\\& \\\\  \\hline\n\\end{reviewtable}\n",
               actual
end
test_ul() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 601
  def test_ul
    src =<<-EOS
  * AAA
  * BBB
EOS
    expected =<<-EOS

\\begin{itemize}
\\item AAA
\\item BBB
\\end{itemize}
EOS
    actual = compile_block(src)
    assert_equal expected, actual
  end
test_ul_nest1() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 651
  def test_ul_nest1
    src =<<-EOS
  * AAA
  ** AA
EOS

    expected =<<-EOS

\\begin{itemize}
\\item AAA

\\begin{itemize}
\\item AA
\\end{itemize}

\\end{itemize}
EOS
    actual = compile_block(src)
    assert_equal expected, actual
  end
test_ul_nest3() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 672
  def test_ul_nest3
    src =<<-EOS
  * AAA
  ** AA
  * BBB
  ** BB
EOS

    expected =<<-EOS

\\begin{itemize}
\\item AAA

\\begin{itemize}
\\item AA
\\end{itemize}

\\item BBB

\\begin{itemize}
\\item BB
\\end{itemize}

\\end{itemize}
EOS
    actual = compile_block(src)
    assert_equal expected, actual
  end
test_ul_with_bracket() click to toggle source
# File ../../../../../test/test_latexbuilder.rb, line 617
  def test_ul_with_bracket
    src =<<-EOS
  * AAA
  * []BBB
EOS
    expected =<<-EOS

\\begin{itemize}
\\item AAA
\\item \\lbrack{}]BBB
\\end{itemize}
EOS
    actual = compile_block(src)
    assert_equal expected, actual
  end