diff options
-rw-r--r-- | spec/fixtures/b/doc-b.adoc | 4 | ||||
-rw-r--r-- | spec/integration_spec.rb | 23 |
2 files changed, 27 insertions, 0 deletions
diff --git a/spec/fixtures/b/doc-b.adoc b/spec/fixtures/b/doc-b.adoc index 4f24989..3c4167c 100644 --- a/spec/fixtures/b/doc-b.adoc +++ b/spec/fixtures/b/doc-b.adoc @@ -1,3 +1,7 @@ = Document B xref:c/doc-c.adoc#[] + +|=== +a| xref:../doc-a.adoc#[] +|=== diff --git a/spec/integration_spec.rb b/spec/integration_spec.rb index 19655bf..ede62ed 100644 --- a/spec/integration_spec.rb +++ b/spec/integration_spec.rb @@ -64,6 +64,29 @@ describe 'Intengration Tests' do end end + # Issue #3 + context 'when xref is inside a nested document' do + it 'renders title of the referenced document as reftext' do + given <<~ADOC + |=== + a| xref:doc-a.adoc#[] + |=== + ADOC + should have_anchor href: 'doc-a.html', text: 'Document A' + end + + context 'with relative path' do + subject(:output) do + opts = options.except(:base_dir).merge(safe: :unsafe) + Asciidoctor.load_file("#{FIXTURES_DIR}/b/doc-b.adoc", opts).convert + end + + it 'resolves path relative to the current document' do + should have_anchor href: '../doc-a.html', text: 'Document A' + end + end + end + context 'when extension is not active' do specify 'renders path of the referenced document as reftext' do given 'xref:doc-a.adoc#[]', extensions: [] |