require "spec_helper"
RSpec.describe Asciidoctor::Standoc do
it "has a version number" do
expect(Metanorma::Standoc::VERSION).not_to be nil
end
it "processes a blank document" do
expect(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)).to be_equivalent_to <<~"OUTPUT"
#{ASCIIDOC_BLANK_HDR}
INPUT
#{BLANK_HDR}
OUTPUT
end
it "converts a blank document" do
system "rm -f test.doc"
expect(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)).to be_equivalent_to <<~"OUTPUT"
= Document title
Author
:docfile: test.adoc
:novalid:
INPUT
#{BLANK_HDR}
OUTPUT
expect(File.exist?("test.doc")).to be true
expect(File.exist?("htmlstyle.css")).to be false
end
it "processes default metadata" do
expect(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)).to be_equivalent_to <<~'OUTPUT'
= Document title
Author
:docfile: test.adoc
:nodoc:
:novalid:
:docnumber: 1000
:partnumber: 1
:edition: 2
:revdate: 2000-01-01
:draft: 3.4
:technical-committee: TC
:technical-committee-number: 1
:technical-committee-type: A
:subcommittee: SC
:subcommittee-number: 2
:subcommittee-type: B
:workgroup: WG
:workgroup-number: 3
:workgroup-type: C
:secretariat: SECRETARIAT
:copyright-year: 2001
:docstage: 10
:docsubstage: 20
:iteration: 3
:language: en
:title-intro-en: Introduction
:title-main-en: Main Title -- Title
:title-part-en: Title Part
:title-intro-fr: Introduction Française
:title-main-fr: Titre Principal
:title-part-fr: Part du Titre
:library-ics: 1,2,3
INPUT
1000
en
published
2001
TC
1
2
3
2
2000-01-01
3.4
OUTPUT
end
it "processes complex metadata" do
expect(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)).to be_equivalent_to <<~'OUTPUT'
= Document title
Author
:docfile: test.adoc
:nodoc:
:novalid:
:docnumber: 1000
:partnumber: 1-1
:tc-docnumber: 2000
:language: el
:script: Grek
:publisher: IEC,IETF,ISO
INPUT
ISO/IEC/IETF 1000
IEC
IETF
ISO
IEC
IETF
ISO
el
published
2018
IEC
2018
IETF
2018
ISO
OUTPUT
end
it "reads scripts into blank HTML document" do
system "rm -f test.html"
Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)
= Document title
Author
:docfile: test.adoc
:novalid:
INPUT
html = File.read("test.html", encoding: "utf-8")
expect(html).to match(%r{