Add spec tests for man inline macro

This commit is contained in:
Gabriel Arazas 2023-10-29 11:09:44 +08:00
parent c215300500
commit 1e0fe61e5b
No known key found for this signature in database
GPG Key ID: ADE0C41DAB221FCC

View File

@ -0,0 +1,40 @@
# frozen_string_literal: true
describe ManInlineMacro do
it 'should process with the default manpage service' do
input = 'man:ls[1]'
expected = <<~RESULT
<a href="https://manpages.debian.org/ls.1">ls(1)</a>
RESULT
actual = (Asciidoctor.convert input).tr_s '\n', '\n'
(expect actual).to include expected.chomp
end
it 'should link to the Arch Linux manpage' do
input = 'man:ls[volnum=1, service=arch]'
expected = <<~RESULT
<a href="https://man.archlinux.org/man/ls.1">ls(1)</a>
RESULT
actual = (Asciidoctor.convert input).tr_s '\n', '\n'
(expect actual).to include expected.chomp
end
it 'should link to the empty service' do
input = 'man:ls[volnum=1, service=none]'
expected = '<p>ls(1)</p>'
actual = (Asciidoctor.convert input).tr_s '\n', '\n'
(expect actual).to include expected
end
it 'should raise an error from non-existent service type' do
input = 'man:ls[volnum=1, service=manpageservicexyz]'
expect { Asciidoctor.convert input }.to raise_error StandardError
end
end