diff options
| author | Dan Allen <dan.j.allen@gmail.com> | 2021-02-05 02:52:47 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-02-05 02:52:47 -0700 |
| commit | a1505efca095aa6a8ab33fb34a0937cd26cbe822 (patch) | |
| tree | e198381a2f9ed7ac1f7e68f0a355bc4a40cf18ce | |
| parent | 1cb06932cbd5b0d777d3e444d6fc113a12a54c88 (diff) | |
resolves #3932 honor list of tags following negated wildcard on include directive (PR #3933)
| -rw-r--r-- | lib/asciidoctor/reader.rb | 5 | ||||
| -rw-r--r-- | test/reader_test.rb | 4 |
2 files changed, 5 insertions, 4 deletions
diff --git a/lib/asciidoctor/reader.rb b/lib/asciidoctor/reader.rb index d7d2229d..e471a5e1 100644 --- a/lib/asciidoctor/reader.rb +++ b/lib/asciidoctor/reader.rb @@ -1138,9 +1138,10 @@ class PreprocessorReader < Reader else select = base_select = wildcard = inc_tags.delete '**' end + elsif inc_tags.key? '*' + select = base_select = !(wildcard = inc_tags.delete '*') else - select = base_select = !(inc_tags.value? true) - wildcard = inc_tags.delete '*' + select = base_select = false end begin reader.call inc_path, read_mode do |f| diff --git a/test/reader_test.rb b/test/reader_test.rb index be4b623d..c0b8c35f 100644 --- a/test/reader_test.rb +++ b/test/reader_test.rb @@ -1304,7 +1304,7 @@ class ReaderTest < Minitest::Test test 'include directive skips lines all tagged regions except ones enabled when value of tags attribute is negated wildcard' do input = <<~'EOS' ---- - include::fixtures/tagged-class.rb[tags=**;!*;init] + include::fixtures/tagged-class.rb[tags=!*;init] ---- EOS @@ -1323,7 +1323,7 @@ class ReaderTest < Minitest::Test test 'include directive does not include tag that has been included then excluded' do input = <<~'EOS' ---- - include::fixtures/tagged-class.rb[tags=**;!*;init;!init] + include::fixtures/tagged-class.rb[tags=!*;init;!init] ---- EOS |
