require "spec_helper" RSpec.describe Asciidoctor::Iec do it "processes simple lists" do output = Asciidoctor.convert(<<~"INPUT", backend: :iec, header_footer: true) #{ASCIIDOC_BLANK_HDR} * List 1 * List 2 * List 3 . List A . List B . List C List D:: List E List F:: List G INPUT expect(strip_guid(output)).to be_equivalent_to <<~"OUTPUT" #{BLANK_HDR} <sections> <ul id="_"> <li> <p id="_">List 1</p> </li> <li> <p id="_">List 2</p> </li> <li> <p id="_">List 3</p> <ol id="_" type="arabic"> <li> <p id="_">List A</p> </li> <li> <p id="_">List B</p> </li> <li> <p id="_">List C</p> <dl id="_"> <dt>List D</dt> <dd> <p id="_">List E</p> </dd> <dt>List F</dt> <dd> <p id="_">List G</p> </dd> </dl> </li> </ol> </li> </ul> </sections> </iso-standard> OUTPUT end it "processes complex lists" do output = Asciidoctor.convert(<<~"INPUT", backend: :iec, header_footer: true) #{ASCIIDOC_BLANK_HDR} [[id]] * First * Second + -- entry1 entry2 -- [[id1]] [loweralpha] . First . Second [upperalpha] .. Third .. Fourth . Fifth . Sixth [lowerroman] . A . B [upperroman] .. C .. D [arabic] ... E ... F Notes1:: Notes:: Note 1. + Note 2. + Note 3. INPUT expect(strip_guid(output)).to be_equivalent_to <<~"OUTPUT" #{BLANK_HDR} <sections><ul id="id"> <li> <p id="_">First</p> </li> <li><p id="_">Second</p><p id="_">entry1</p> <p id="_">entry2</p></li> </ul> <ol id="id1" type="alphabet"> <li> <p id="_">First</p> </li> <li> <p id="_">Second</p> <ol id="_" type="alphabet_upper"> <li> <p id="_">Third</p> </li> <li> <p id="_">Fourth</p> </li> </ol> </li> <li> <p id="_">Fifth</p> </li> <li> <p id="_">Sixth</p> </li> </ol> <ol id="_" type="roman"> <li> <p id="_">A</p> </li> <li> <p id="_">B</p> <ol id="_" type="roman_upper"> <li> <p id="_">C</p> </li> <li> <p id="_">D</p> <ol id="_" type="arabic"> <li> <p id="_">E</p> </li> <li> <p id="_">F</p> <dl id="_"> <dt>Notes1</dt> <dd/> <dt>Notes</dt> <dd><p id="_">Note 1.</p><p id="_">Note 2.</p> <p id="_">Note 3.</p></dd> </dl> </li> </ol> </li> </ol> </li> </ol></sections> </iso-standard> OUTPUT end it "anchors lists and list items" do expect(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iec, header_footer: true))).to be_equivalent_to <<~"OUTPUT" #{ASCIIDOC_BLANK_HDR} [[id1]] * [[id2]] List item * Hello [[id3]] List item INPUT #{BLANK_HDR} <sections> <ul id="id1"> <li id="id2"> <p id="_">List item</p> </li> <li> <p id="_">Hello <bookmark id="id3"/> List item</p> </li> </ul> </sections> </iso-standard> OUTPUT end end