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[\.Sourcecode[^{]+\{[^{]+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[\.Sourcecode[^{]+\{[^{]+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[\.Sourcecode[^{]+\{[^{]+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[\.Sourcecode[^{]+\{[^{]+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[\.Sourcecode[^{]+\{[^{]+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 "does not include IEV in references" do expect(IsoDoc::Iec::HtmlConvert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"

Normative References Electropedia: The World's Online Electrotechnical Vocabulary http://www.electropedia.org IEV International Electrotechnical Commission IEC www.iec.ch en fr International Electrotechnical Commission IEC www.iec.ch IEC 60050 Cereals and pulses ISO 20483 20132014 International Organization for Standardization
INPUT #{HTML_HDR}

FOREWORD

#{IEC_TITLE}

1  Normative references

The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.

ISO 20483, Cereals and pulses

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

Hello

INPUT #{HTML_HDR}

FOREWORD

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

Hello

Hello

INPUT #{HTML_HDR}

FOREWORD

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

Hello

INPUT

 



#{IEC_TITLE}

FOREWORD

 


#{IEC_TITLE}

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

Hello

Hello

INPUT

 



#{IEC_TITLE}

FOREWORD

 


#{IEC_TITLE}

OUTPUT end end