summaryrefslogtreecommitdiff
path: root/test/reader_test.rb
diff options
context:
space:
mode:
authorDan Allen <dan.j.allen@gmail.com>2013-08-21 20:34:53 -0600
committerDan Allen <dan.j.allen@gmail.com>2013-08-21 20:40:12 -0600
commit14fcb5e8667e4dd227597dc61fb32bdbfff9812d (patch)
tree29ca6486592192680dc727dc7f23b5237ef6e4b1 /test/reader_test.rb
parenta389b27c4a55ced78713248ee801cb2c72943059 (diff)
add test for depth set on include in nested file
Diffstat (limited to 'test/reader_test.rb')
-rw-r--r--test/reader_test.rb29
1 files changed, 29 insertions, 0 deletions
diff --git a/test/reader_test.rb b/test/reader_test.rb
index e5c1a155..7e195b3f 100644
--- a/test/reader_test.rb
+++ b/test/reader_test.rb
@@ -434,6 +434,7 @@ include::fixtures/parent-include.adoc[]
fixtures_dir = File.join DIRNAME, 'fixtures'
parent_include_docfile = File.join fixtures_dir, 'parent-include.adoc'
child_include_docfile = File.join fixtures_dir, 'child-include.adoc'
+ grandchild_include_docfile = File.join fixtures_dir, 'grandchild-include.adoc'
doc = empty_safe_document :base_dir => DIRNAME
reader = Asciidoctor::PreprocessorReader.new doc, input, pseudo_docfile
@@ -460,6 +461,19 @@ include::fixtures/parent-include.adoc[]
reader.skip_blank_lines
+ assert_equal "first line of grandchild\n", reader.read_line
+
+ assert_equal 'fixtures/grandchild-include.adoc: line 1', reader.prev_line_info
+ assert_equal grandchild_include_docfile, reader.file
+ assert_equal fixtures_dir, reader.dir
+ assert_equal 'fixtures/grandchild-include.adoc', reader.path
+
+ reader.skip_blank_lines
+
+ assert_equal "last line of grandchild\n", reader.read_line
+
+ reader.skip_blank_lines
+
assert_equal "last line of child\n", reader.read_line
reader.skip_blank_lines
@@ -706,6 +720,21 @@ include::fixtures/parent-include.adoc[depth=1]
assert lines.include?("include::child-include.adoc[]\n")
end
+ test 'include macro should be disabled if max include depth set in nested context has been exceeded' do
+ input = <<-EOS
+include::fixtures/parent-include-restricted.adoc[depth=3]
+ EOS
+
+ pseudo_docfile = File.join DIRNAME, 'include-master.adoc'
+
+ doc = empty_safe_document :base_dir => DIRNAME
+ reader = Asciidoctor::PreprocessorReader.new doc, input, Asciidoctor::Reader::Cursor.new(pseudo_docfile)
+
+ lines = reader.readlines
+ assert lines.include?("first line of child\n")
+ assert lines.include?("include::grandchild-include.adoc[]\n")
+ end
+
test 'read_lines_until should not process lines if process option is false' do
lines = <<-EOS.each_line.to_a
////