require "spec_helper" require "fileutils" 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 FileUtils.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 :published-date: 1000-01-01 :accessed-date: 1001-01-01 :created-date: 1002-01-01 :implemented-date: 1003-01-01 :obsoleted-date: 1004-01-01 :confirmed-date: 1005-01-01 :updated-date: 1006-01-01 :issued-date: 1007-01-01 :circulated-date: 1008-01-01 :unchanged-date: 1009-01-01 :date: Fred 1010-01-01 :date_2: Jack 1010-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 :technical-committee_2: TC1 :technical-committee-number_2: 11 :technical-committee-type_2: A1 :subcommittee_2: SC1 :subcommittee-number_2: 21 :subcommittee-type_2: B1 :workgroup_2: WG1 :workgroup-number_2: 31 :workgroup-type_2: C1 :secretariat: SECRETARIAT :copyright-year: 2001 :docstage: 10 :docsubstage: 20 :iteration: 3 :language: en :title: Main Title -- Title :library-ics: 1,2,3 :fullname: Fred Flintstone :role: author :affiliation: Slate Rock and Gravel Company :address: 6 Rubble Way, Bedrock :contributor-uri: http://slate.example.com :surname_2: Rubble :givenname_2: Barney :initials_2: B. X. :role_2: editor :affiliation_2: Rockhead and Quarry Cave Construction Company :address_2: 6A Rubble Way, Bedrock :email_2: barney@rockhead.example.com :publisher: Hanna Barbera, Cartoon Network INPUT Main Title — Title 1000-1 1000 1000-01-01 1001-01-01 1002-01-01 1003-01-01 1004-01-01 1005-01-01 1006-01-01 1007-01-01 1008-01-01 1009-01-01 1010-01-01 1010-01-01 2 2000-01-01 3.4 Hanna Barbera Cartoon Network Fred Flintstone Slate Rock and Gravel Company
6 Rubble Way, Bedrock
http://slate.example.com
Barney B. X. Rubble Rockhead and Quarry Cave Construction Company
6A Rubble Way, Bedrock
barney@rockhead.example.com
Hanna Barbera Cartoon Network en published 2001 Hanna Barbera 2001 Cartoon Network TC TC1 1 2 3
OUTPUT end it "processes complex metadata" do expect(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)).sub(%r{.*$}m, "")).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 :uri: A :xml-uri: B :html-uri: C :pdf-uri: D :doc-uri: E :relaton-uri: F :title-eo: Dokumenttitolo [abstract] == Abstract This is the abstract of the document This is the second paragraph of the abstract of the document. INPUT Document title Dokumenttitolo A B C D E F 1000-1-1 1000 IEC IETF ISO IEC IETF ISO el

This is the abstract of the document

This is the second paragraph of the abstract of the document.

published #{Date.today.year} IEC #{Date.today.year} IETF #{Date.today.year} ISO
OUTPUT end it "reads scripts into blank HTML document" do FileUtils.rm_f "test.html" Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true) = Document title Author :docfile: test.adoc :novalid: :scripts: spec/assets/scripts.html INPUT html = File.read("test.html", encoding: "utf-8") expect(html).to match(%r{