require "spec_helper" require "fileutils" RSpec.describe IsoDoc::Iec do FileUtils.rm_f "test.html" it "processes isodoc as ISO: HTML output" do IsoDoc::Iec::HtmlConvert.new({}).convert("test", <<~"INPUT", false)

These results are based on a study carried out on three different types of kernel.

INPUT html = File.read("test.html", encoding: "utf-8") expect(html).to match(%r[\bpre[^{]+\{[^{]+font-family: "Courier New", monospace;]m) expect(html).to match(%r[blockquote[^{]+\{[^{]+font-family: "Cambria", serif;]m) expect(html).to match(%r[\.h2Annex[^{]+\{[^{]+font-family: "Cambria", serif;]m) end it "processes isodoc as ISO: alt HTML output" do FileUtils.rm_f "test.html" IsoDoc::Iec::HtmlConvert.new({alt: true}).convert("test", <<~"INPUT", false)

These results are based on a study carried out on three different types of kernel.

INPUT html = File.read("test.html", encoding: "utf-8") expect(html).to match(%r[\bpre[^{]+\{[^{]+font-family: "Space Mono", monospace;]m) expect(html).to match(%r[blockquote[^{]+\{[^{]+font-family: "Lato", sans-serif;]m) expect(html).to match(%r[\.h2Annex[^{]+\{[^{]+font-family: "Lato", sans-serif;]m) end it "processes isodoc as ISO: Chinese HTML output" do FileUtils.rm_f "test.html" IsoDoc::Iec::HtmlConvert.new({script: "Hans"}).convert("test", <<~"INPUT", false)

These results are based on a study carried out on three different types of kernel.

INPUT html = File.read("test.html", encoding: "utf-8") expect(html).to match(%r[\bpre[^{]+\{[^{]+font-family: "Courier New", monospace;]m) expect(html).to match(%r[blockquote[^{]+\{[^{]+font-family: "SimSun", serif;]m) expect(html).to match(%r[\.h2Annex[^{]+\{[^{]+font-family: "SimHei", sans-serif;]m) end it "processes isodoc as ISO: user nominated fonts" do FileUtils.rm_f "test.html" IsoDoc::Iec::HtmlConvert.new({bodyfont: "Zapf Chancery", headerfont: "Comic Sans", monospacefont: "Andale Mono"}).convert("test", <<~"INPUT", false)

These results are based on a study carried out on three different types of kernel.

INPUT html = File.read("test.html", encoding: "utf-8") expect(html).to match(%r[\bpre[^{]+\{[^{]+font-family: Andale Mono;]m) expect(html).to match(%r[blockquote[^{]+\{[^{]+font-family: Zapf Chancery;]m) expect(html).to match(%r[\.h2Annex[^{]+\{[^{]+font-family: Comic Sans;]m) end it "processes isodoc as ISO: Word output" do FileUtils.rm_f "test.doc" IsoDoc::Iec::WordConvert.new({}).convert("test", <<~"INPUT", false)

These results are based on a study carried out on three different types of kernel.

INPUT html = File.read("test.doc", encoding: "utf-8") expect(html).to match(%r[\bpre[^{]+\{[^{]+font-family: "Courier New",monospace;]m) expect(html).to match(%r[Quote[^{]+\{[^{]+font-family: "Arial", sans-serif;]m) expect(html).to match(%r[\.h2Annex[^{]+\{[^{]+font-family: "Arial",sans-serif;]m) end it "processes examples" do expect(xmlpp(IsoDoc::Iec::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")

Hello

INPUT #{HTML_HDR}

FOREWORD

#{IEC_TITLE}
OUTPUT end it "processes sequences of examples" do expect(xmlpp(IsoDoc::Iec::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")

Hello

Hello

INPUT #{HTML_HDR}

FOREWORD

#{IEC_TITLE}
OUTPUT end it "processes examples (Word)" do expect(xmlpp(IsoDoc::Iec::WordConvert.new({}).convert("test", <<~"INPUT", true).sub(/^.*.*$}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")

Hello

INPUT


#{IEC_TITLE}

FOREWORD

 


#{IEC_TITLE}

OUTPUT end it "processes sequences of examples (Word)" do expect(xmlpp(IsoDoc::Iec::WordConvert.new({}).convert("test", <<~"INPUT", true).sub(/^.*.*$}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")

Hello

Hello

INPUT


#{IEC_TITLE}

FOREWORD

 


#{IEC_TITLE}

OUTPUT end end