test/test_topbuilder.rb in review-3.1.0 vs test/test_topbuilder.rb in review-3.2.0
- old
+ new
@@ -140,16 +140,40 @@
assert_equal '◆→TeX式ここから←◆a◆→TeX式ここまで←◆, ◆→TeX式ここから←◆\\frac{1}{2}◆→TeX式ここまで←◆, ◆→TeX式ここから←◆\\frac{1}{2}◆→TeX式ここまで←◆, ◆→TeX式ここから←◆\\{ \\}◆→TeX式ここまで←◆, ◆→TeX式ここから←◆\\{ \\}◆→TeX式ここまで←◆, test △@<code>{$サンプル$}☆', actual
end
def test_inline_in_table
actual = compile_block("//table{\n★1☆\t▲2☆\n------------\n★3☆\t▲4☆<>&\n//}\n")
- assert_equal %Q(◆→開始:表←◆\n★★1☆☆\t★▲2☆☆\n★3☆\t▲4☆<>&\n◆→終了:表←◆\n\n), actual
+ expected = <<-EOS
+◆→開始:表←◆
+★★1☆☆\t★▲2☆☆
+★3☆\t▲4☆<>&
+◆→終了:表←◆
+
+EOS
+ assert_equal expected, actual
end
def test_dlist_beforeulol
actual = compile_block(" : foo\n foo.\n\npara\n\n : foo\n foo.\n\n 1. bar\n\n : foo\n foo.\n\n * bar\n")
- assert_equal %Q(★foo☆\n\tfoo.\n\npara\n\n★foo☆\n\tfoo.\n\n1\tbar\n\n★foo☆\n\tfoo.\n\n●\tbar\n\n), actual
+ expected = <<-EOS
+★foo☆
+\tfoo.
+
+para
+
+★foo☆
+\tfoo.
+
+1\tbar
+
+★foo☆
+\tfoo.
+
+●\tbar
+
+EOS
+ assert_equal expected, actual
end
def test_paragraph
actual = compile_block("foo\nbar\n")
assert_equal %Q(foobar\n), actual
@@ -160,21 +184,33 @@
assert_equal %Q(\tfoobar\n), actual
end
def test_flushright
actual = compile_block("//flushright{\nfoo\nbar\n\nbuz\n//}\n")
- assert_equal %Q(◆→開始:右寄せ←◆\nfoobar\nbuz\n◆→終了:右寄せ←◆\n\n), actual
+ expected = <<-EOS
+◆→開始:右寄せ←◆
+foobar
+buz
+◆→終了:右寄せ←◆
+
+EOS
+ assert_equal expected, actual
end
def test_blankline
actual = compile_block("//blankline\nfoo\n")
assert_equal %Q(\nfoo\n), actual
end
def test_noindent
actual = compile_block("//noindent\nfoo\nbar\n\nfoo2\nbar2\n")
- assert_equal %Q(◆→DTP連絡:次の1行インデントなし←◆\nfoobar\nfoo2bar2\n), actual
+ expected = <<-EOS
+◆→DTP連絡:次の1行インデントなし←◆
+foobar
+foo2bar2
+EOS
+ assert_equal expected, actual
end
def test_comment
actual = compile_block('//comment[コメント]')
assert_equal '', actual
@@ -191,24 +227,150 @@
def test_list
def @chapter.list(_id)
Book::ListIndex::Item.new('test', 1)
end
actual = compile_block("//list[samplelist][this is @<b>{test}<&>_]{\nfoo\nbar\n//}\n")
- assert_equal %Q(◆→開始:リスト←◆\nリスト1.1 this is ★test☆<&>_\n\nfoo\nbar\n◆→終了:リスト←◆\n\n), actual
+ expected = <<-EOS
+◆→開始:リスト←◆
+リスト1.1 this is ★test☆<&>_
+
+foo
+bar
+◆→終了:リスト←◆
+
+EOS
+ assert_equal expected, actual
end
def test_listnum
def @chapter.list(_id)
Book::ListIndex::Item.new('test', 1)
end
actual = compile_block("//listnum[test][this is @<b>{test}<&>_]{\nfoo\nbar\n//}\n")
- assert_equal %Q(◆→開始:リスト←◆\nリスト1.1 this is ★test☆<&>_\n\n 1: foo\n 2: bar\n◆→終了:リスト←◆\n\n), actual
+ expected = <<-EOS
+◆→開始:リスト←◆
+リスト1.1 this is ★test☆<&>_
+
+ 1: foo
+ 2: bar
+◆→終了:リスト←◆
+
+EOS
+ assert_equal expected, actual
end
+ def test_source
+ actual = compile_block("//source[foo/bar/test.rb]{\nfoo\nbar\n\nbuz\n//}\n")
+ expected = <<-EOS
+◆→開始:ソースコードリスト←◆
+■foo/bar/test.rb
+foo
+bar
+
+buz
+◆→終了:ソースコードリスト←◆
+
+EOS
+ assert_equal expected, actual
+ end
+
+ def test_source_empty_caption
+ actual = compile_block("//source[]{\nfoo\nbar\n\nbuz\n//}\n")
+ expected = <<-EOS
+◆→開始:ソースコードリスト←◆
+foo
+bar
+
+buz
+◆→終了:ソースコードリスト←◆
+
+EOS
+ assert_equal expected, actual
+ end
+
+ def test_box
+ actual = compile_block("//box{\nfoo\nbar\n//}\n")
+ expected = <<-EOS
+◆→開始:書式←◆
+foo
+bar
+◆→終了:書式←◆
+
+EOS
+ assert_equal expected, actual
+
+ actual = compile_block("//box[FOO]{\nfoo\nbar\n//}\n")
+ expected = <<-EOS
+◆→開始:書式←◆
+■FOO
+foo
+bar
+◆→終了:書式←◆
+
+EOS
+ assert_equal expected, actual
+ end
+
+ def test_cmd
+ actual = compile_block("//cmd{\nlineA\nlineB\n//}\n")
+ expected = <<-EOS
+◆→開始:コマンド←◆
+lineA
+lineB
+◆→終了:コマンド←◆
+
+EOS
+ assert_equal expected, actual
+
+ actual = compile_block("//cmd[cap1]{\nlineA\nlineB\n//}\n")
+ expected = <<-EOS
+◆→開始:コマンド←◆
+■cap1
+lineA
+lineB
+◆→終了:コマンド←◆
+
+EOS
+ assert_equal expected, actual
+ end
+
+ def test_emlist
+ actual = compile_block("//emlist{\nlineA\nlineB\n//}\n")
+ expected = <<-EOS
+◆→開始:インラインリスト←◆
+lineA
+lineB
+◆→終了:インラインリスト←◆
+
+EOS
+ assert_equal expected, actual
+ end
+
+ def test_emlist_caption
+ actual = compile_block("//emlist[cap1]{\nlineA\nlineB\n//}\n")
+ expected = <<-EOS
+◆→開始:インラインリスト←◆
+■cap1
+lineA
+lineB
+◆→終了:インラインリスト←◆
+
+EOS
+ assert_equal expected, actual
+ end
+
def test_emlistnum
actual = compile_block("//emlistnum[this is @<b>{test}<&>_]{\nfoo\nbar\n//}\n")
- assert_equal %Q(◆→開始:インラインリスト←◆\n■this is ★test☆<&>_\n 1: foo\n 2: bar\n◆→終了:インラインリスト←◆\n\n), actual
+ expected = <<-EOS
+◆→開始:インラインリスト←◆
+■this is ★test☆<&>_
+ 1: foo
+ 2: bar
+◆→終了:インラインリスト←◆
+
+EOS
+ assert_equal expected, actual
end
def test_bib
def @chapter.bibpaper(_id)
Book::BibpaperIndex::Item.new('samplebib', 1, 'sample bib')
@@ -217,59 +379,186 @@
assert_equal '[1]', compile_inline('@<bib>{samplebib}')
end
def test_table
actual = compile_block("//table{\naaa\tbbb\n------------\nccc\tddd<>&\n//}\n")
- assert_equal %Q(◆→開始:表←◆\n★aaa☆\t★bbb☆\nccc\tddd<>&\n◆→終了:表←◆\n\n),
- actual
+ expected = <<-EOS
+◆→開始:表←◆
+★aaa☆\t★bbb☆
+ccc\tddd<>&
+◆→終了:表←◆
+
+EOS
+ assert_equal expected, actual
+
+ actual = compile_block("//table[foo][FOO]{\naaa\tbbb\n------------\nccc\tddd<>&\n//}\n")
+ expected = <<-EOS
+◆→開始:表←◆
+表1.1 FOO
+
+★aaa☆\t★bbb☆
+ccc\tddd<>&
+◆→終了:表←◆
+
+EOS
+ assert_equal expected, actual
end
+ def test_empty_table
+ e = assert_raises(ReVIEW::ApplicationError) { compile_block "//table{\n//}\n" }
+ assert_equal ':2: error: no rows in the table', e.message
+
+ e = assert_raises(ReVIEW::ApplicationError) { compile_block "//table{\n------------\n//}\n" }
+ assert_equal ':3: error: no rows in the table', e.message
+ end
+
def test_inline_table
def @chapter.table(_id)
Book::TableIndex::Item.new('sampletable', 1)
end
actual = compile_block("@<table>{sampletest}\n")
assert_equal "表1.1\n", actual
end
def test_emtable
actual = compile_block("//emtable[foo]{\naaa\tbbb\n------------\nccc\tddd<>&\n//}\n//emtable{\naaa\tbbb\n------------\nccc\tddd<>&\n//}\n")
- assert_equal %Q(◆→開始:表←◆\nfoo\n\n★aaa☆\t★bbb☆\nccc\tddd<>&\n◆→終了:表←◆\n\n◆→開始:表←◆\n★aaa☆\t★bbb☆\nccc\tddd<>&\n◆→終了:表←◆\n\n),
- actual
+ expected = <<-EOS
+◆→開始:表←◆
+foo
+
+★aaa☆\t★bbb☆
+ccc\tddd<>&
+◆→終了:表←◆
+
+◆→開始:表←◆
+★aaa☆\t★bbb☆
+ccc\tddd<>&
+◆→終了:表←◆
+
+EOS
+ assert_equal expected, actual
end
def test_major_blocks
actual = compile_block("//note{\nA\n\nB\n//}\n//note[caption]{\nA\n//}")
- expected = %Q(◆→開始:ノート←◆\nA\nB\n◆→終了:ノート←◆\n\n◆→開始:ノート←◆\n■caption\nA\n◆→終了:ノート←◆\n\n)
+ expected = <<-EOS
+◆→開始:ノート←◆
+A
+B
+◆→終了:ノート←◆
+
+◆→開始:ノート←◆
+■caption
+A
+◆→終了:ノート←◆
+
+EOS
assert_equal expected, actual
actual = compile_block("//memo{\nA\n\nB\n//}\n//memo[caption]{\nA\n//}")
- expected = %Q(◆→開始:メモ←◆\nA\nB\n◆→終了:メモ←◆\n\n◆→開始:メモ←◆\n■caption\nA\n◆→終了:メモ←◆\n\n)
+ expected = <<-EOS
+◆→開始:メモ←◆
+A
+B
+◆→終了:メモ←◆
+
+◆→開始:メモ←◆
+■caption
+A
+◆→終了:メモ←◆
+
+EOS
assert_equal expected, actual
actual = compile_block("//info{\nA\n\nB\n//}\n//info[caption]{\nA\n//}")
- expected = %Q(◆→開始:情報←◆\nA\nB\n◆→終了:情報←◆\n\n◆→開始:情報←◆\n■caption\nA\n◆→終了:情報←◆\n\n)
+ expected = <<-EOS
+◆→開始:情報←◆
+A
+B
+◆→終了:情報←◆
+
+◆→開始:情報←◆
+■caption
+A
+◆→終了:情報←◆
+
+EOS
assert_equal expected, actual
actual = compile_block("//important{\nA\n\nB\n//}\n//important[caption]{\nA\n//}")
- expected = %Q(◆→開始:重要←◆\nA\nB\n◆→終了:重要←◆\n\n◆→開始:重要←◆\n■caption\nA\n◆→終了:重要←◆\n\n)
+ expected = <<-EOS
+◆→開始:重要←◆
+A
+B
+◆→終了:重要←◆
+
+◆→開始:重要←◆
+■caption
+A
+◆→終了:重要←◆
+
+EOS
assert_equal expected, actual
actual = compile_block("//caution{\nA\n\nB\n//}\n//caution[caption]{\nA\n//}")
- expected = %Q(◆→開始:警告←◆\nA\nB\n◆→終了:警告←◆\n\n◆→開始:警告←◆\n■caption\nA\n◆→終了:警告←◆\n\n)
+ expected = <<-EOS
+◆→開始:警告←◆
+A
+B
+◆→終了:警告←◆
+
+◆→開始:警告←◆
+■caption
+A
+◆→終了:警告←◆
+
+EOS
assert_equal expected, actual
actual = compile_block("//notice{\nA\n\nB\n//}\n//notice[caption]{\nA\n//}")
- expected = %Q(◆→開始:注意←◆\nA\nB\n◆→終了:注意←◆\n\n◆→開始:注意←◆\n■caption\nA\n◆→終了:注意←◆\n\n)
+ expected = <<-EOS
+◆→開始:注意←◆
+A
+B
+◆→終了:注意←◆
+
+◆→開始:注意←◆
+■caption
+A
+◆→終了:注意←◆
+
+EOS
assert_equal expected, actual
actual = compile_block("//warning{\nA\n\nB\n//}\n//warning[caption]{\nA\n//}")
- expected = %Q(◆→開始:危険←◆\nA\nB\n◆→終了:危険←◆\n\n◆→開始:危険←◆\n■caption\nA\n◆→終了:危険←◆\n\n)
+ expected = <<-EOS
+◆→開始:危険←◆
+A
+B
+◆→終了:危険←◆
+
+◆→開始:危険←◆
+■caption
+A
+◆→終了:危険←◆
+
+EOS
assert_equal expected, actual
actual = compile_block("//tip{\nA\n\nB\n//}\n//tip[caption]{\nA\n//}")
- expected = %Q(◆→開始:TIP←◆\nA\nB\n◆→終了:TIP←◆\n\n◆→開始:TIP←◆\n■caption\nA\n◆→終了:TIP←◆\n\n)
+ expected = <<-EOS
+◆→開始:TIP←◆
+A
+B
+◆→終了:TIP←◆
+
+◆→開始:TIP←◆
+■caption
+A
+◆→終了:TIP←◆
+
+EOS
assert_equal expected, actual
end
def test_image
def @chapter.image(_id)
@@ -277,26 +566,49 @@
item.instance_eval { @path = './images/chap1-sampleimg.png' }
item
end
actual = compile_block("//image[sampleimg][sample photo]{\nfoo\n//}\n")
- assert_equal %Q(◆→開始:図←◆\n図1.1 sample photo\n\n◆→./images/chap1-sampleimg.png←◆\n◆→終了:図←◆\n\n), actual
+ expected = <<-EOS
+◆→開始:図←◆
+図1.1 sample photo
+
+◆→./images/chap1-sampleimg.png←◆
+◆→終了:図←◆
+
+EOS
+ assert_equal expected, actual
end
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]{\nfoo\n//}\n")
- assert_equal %Q(◆→開始:図←◆\n図1.1 sample photo\n\n◆→./images/chap1-sampleimg.png scale=1.2←◆\n◆→終了:図←◆\n\n), actual
+ expected = <<-EOS
+◆→開始:図←◆
+図1.1 sample photo
+
+◆→./images/chap1-sampleimg.png scale=1.2←◆
+◆→終了:図←◆
+
+EOS
+ assert_equal expected, actual
end
def test_texequation
actual = compile_block("//texequation{\n\\sin\n1^{2}\n//}\n")
- assert_equal %Q(◆→開始:TeX式←◆\n\\sin\n1^{2}\n◆→終了:TeX式←◆\n\n), actual
+ expected = <<-EOS
+◆→開始:TeX式←◆
+\\sin
+1^{2}
+◆→終了:TeX式←◆
+
+EOS
+ assert_equal expected, actual
end
def test_inline_w
Dir.mktmpdir do |dir|
File.open(File.join(dir, 'words.csv'), 'w') do |f|