require "spec_helper" require "metanorma" require "fileutils" # RSpec.describe Asciidoctor::Gb do RSpec.describe Metanorma::Iso::Processor do registry = Metanorma::Registry.instance registry.register(Metanorma::Iso::Processor) processor = registry.find_processor(:iso) inputxml = <<~INPUT English English French French ISO DIR 1ISO DIR 1(F)ISO DIR 1(F) 1 International Organization for Standardization ISO International Organization for Standardization ISO fr 60 60 #{Time.new.year} International Organization for Standardization ISO directive vocabulary ISO 1 International standard DOCUMENT PROTÉGÉ PAR COPYRIGHT

© ISO 2021

Droits de reproduction réservés. Sauf indication contraire, aucune partie de cette publication ne peut être reproduite ni utilisée sous quelque forme que ce soit et par aucun procédé, électronique ou mécanique, y compris la photocopie, l’affichage sur l’internet ou sur un Intranet, sans autorisation écrite préalable. Les demandes d’autorisation peuvent être adressées à l’ISO à l’adresse ci-après ou au comité membre de l’ISO dans le pays du demandeur.

ISO copyright office
Ch. de Blandonnet 8 • CP 401
CH-1214 Vernier, Geneva, Switzerland
Phone: +41 22 749 01 11
Email: copyright@iso.org
Website: www.iso.org

Publié en Suisse

1  Terms, Definitions, Symbols and Abbreviated Terms 1.1 Term2
INPUT it "registers against metanorma" do expect(processor).not_to be nil end it "registers output formats against metanorma" do expect(processor.output_formats.sort.to_s).to be_equivalent_to <<~"OUTPUT" [[:doc, "doc"], [:html, "html"], [:html_alt, "alt.html"], [:isosts, "iso.sts.xml"], [:pdf, "pdf"], [:presentation, "presentation.xml"], [:rxl, "rxl"], [:sts, "sts.xml"], [:xml, "xml"]] OUTPUT end it "registers version against metanorma" do expect(processor.version.to_s).to match(%r{^Metanorma::ISO }) end it "generates IsoDoc XML from a blank document" do input = <<~INPUT #{ASCIIDOC_BLANK_HDR} INPUT output = <<~OUTPUT #{BLANK_HDR} OUTPUT expect(xmlpp(processor.input_to_isodoc(input, nil))) .to be_equivalent_to xmlpp(output) end it "generates HTML from Metanorma XML" do FileUtils.rm_f "test.xml" FileUtils.rm_f "test.html" processor.output(inputxml, "test.xml", "test.html", :html) expect(xmlpp(File.read("test.html", encoding: "utf-8") .gsub(%r{^.*.*}m, ""))) .to be_equivalent_to xmlpp(<<~"OUTPUT")

French

1  Terms, Definitions, Symbols and Abbreviated Terms

1.1

Term2

OUTPUT end it "generates STS from Metanorma XML" do FileUtils.rm_f "test.xml" FileUtils.rm_f "test.sts.xml" FileUtils.rm_f "test.iso.sts.xml" File.write("test.xml", inputxml) processor.output(inputxml, "test.xml", "test.sts.xml", :sts) processor.output(inputxml, "test.xml", "test.iso.sts.xml", :isosts) expect(File.exist?("test.sts.xml")).to be true expect(File.exist?("test.iso.sts.xml")).to be true end end