diff options
| author | Dan Allen <dan.j.allen@gmail.com> | 2013-08-21 20:34:53 -0600 |
|---|---|---|
| committer | Dan Allen <dan.j.allen@gmail.com> | 2013-08-21 20:40:12 -0600 |
| commit | 14fcb5e8667e4dd227597dc61fb32bdbfff9812d (patch) | |
| tree | 29ca6486592192680dc727dc7f23b5237ef6e4b1 /test/reader_test.rb | |
| parent | a389b27c4a55ced78713248ee801cb2c72943059 (diff) | |
add test for depth set on include in nested file
Diffstat (limited to 'test/reader_test.rb')
| -rw-r--r-- | test/reader_test.rb | 29 |
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 //// |
