summaryrefslogtreecommitdiff
path: root/test/reader_test.rb
diff options
context:
space:
mode:
authorDan Allen <dan.j.allen@gmail.com>2024-05-04 10:45:03 -0400
committerGitHub <noreply@github.com>2024-05-04 08:45:03 -0600
commitffab0363d1a9ab30124695991a023669aef41d5c (patch)
tree72ab28ccc8fa5891d8d1c241acdb431a0db7de5e /test/reader_test.rb
parent935a0a3a2fe05ba7d239d8e774ada20df5879599 (diff)
resolves #4580 don't leave behind empty line inside skipped conditional (PR #4582)
Diffstat (limited to 'test/reader_test.rb')
-rw-r--r--test/reader_test.rb26
1 files changed, 26 insertions, 0 deletions
diff --git a/test/reader_test.rb b/test/reader_test.rb
index be8ccd49..28e44268 100644
--- a/test/reader_test.rb
+++ b/test/reader_test.rb
@@ -2232,6 +2232,19 @@ class ReaderTest < Minitest::Test
assert_equal 4, reader.lineno
end
+ test 'peek_line returns nil if contents of skipped conditional is empty line' do
+ input = <<~'EOS'
+ ifdef::foobar[]
+
+ endif::foobar[]
+ EOS
+
+ doc = Asciidoctor::Document.new input
+ reader = doc.reader
+ assert_equal 1, reader.lineno
+ assert_nil reader.peek_line
+ end
+
test 'ifdef with defined attribute includes content' do
input = <<~'EOS'
ifdef::holygrail[]
@@ -2541,6 +2554,19 @@ class ReaderTest < Minitest::Test
assert_equal 'Our quest is complete!', result
end
+ test 'ifdef around empty line does not introduce extra line' do
+ input = <<~'EOS'
+ before
+ ifdef::no-such-attribute[]
+
+ endif::[]
+ after
+ EOS
+
+ result = (Asciidoctor::Document.new input).reader.read
+ assert_equal %(before\nafter), result
+ end
+
test 'should log warning if endif is unmatched' do
input = <<~'EOS'
Our quest is complete!