metanorma-standoc 1.9.4 → 1.10.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +1 -1
  3. data/.rubocop.yml +1 -1
  4. data/lib/asciidoctor/standoc/base.rb +0 -1
  5. data/lib/asciidoctor/standoc/blocks.rb +1 -1
  6. data/lib/asciidoctor/standoc/cleanup.rb +61 -2
  7. data/lib/asciidoctor/standoc/cleanup_block.rb +0 -1
  8. data/lib/asciidoctor/standoc/cleanup_boilerplate.rb +2 -2
  9. data/lib/asciidoctor/standoc/cleanup_footnotes.rb +0 -1
  10. data/lib/asciidoctor/standoc/cleanup_inline.rb +117 -77
  11. data/lib/asciidoctor/standoc/cleanup_maths.rb +0 -1
  12. data/lib/asciidoctor/standoc/cleanup_ref.rb +7 -0
  13. data/lib/asciidoctor/standoc/cleanup_section.rb +0 -1
  14. data/lib/asciidoctor/standoc/cleanup_terms.rb +19 -18
  15. data/lib/asciidoctor/standoc/converter.rb +3 -0
  16. data/lib/asciidoctor/standoc/datamodel/diagram_preprocessor.rb +22 -21
  17. data/lib/asciidoctor/standoc/front.rb +0 -1
  18. data/lib/asciidoctor/standoc/front_contributor.rb +0 -1
  19. data/lib/asciidoctor/standoc/inline.rb +20 -17
  20. data/lib/asciidoctor/standoc/isodoc.rng +56 -8
  21. data/lib/asciidoctor/standoc/macros.rb +25 -5
  22. data/lib/asciidoctor/standoc/macros_plantuml.rb +21 -23
  23. data/lib/asciidoctor/standoc/macros_terms.rb +60 -23
  24. data/lib/asciidoctor/standoc/ref.rb +60 -56
  25. data/lib/asciidoctor/standoc/section.rb +19 -12
  26. data/lib/asciidoctor/standoc/term_lookup_cleanup.rb +69 -30
  27. data/lib/asciidoctor/standoc/terms.rb +1 -1
  28. data/lib/asciidoctor/standoc/utils.rb +0 -1
  29. data/lib/asciidoctor/standoc/validate.rb +22 -8
  30. data/lib/isodoc/html/html_titlepage.html +81 -0
  31. data/lib/isodoc/html/htmlstyle.css +983 -0
  32. data/lib/isodoc/html/htmlstyle.scss +714 -0
  33. data/lib/isodoc/html/scripts.html +71 -0
  34. data/lib/metanorma/standoc/processor.rb +16 -7
  35. data/lib/metanorma/standoc/version.rb +1 -1
  36. data/metanorma-standoc.gemspec +3 -3
  37. data/spec/asciidoctor/blocks_spec.rb +8 -8
  38. data/spec/asciidoctor/cleanup_sections_spec.rb +899 -864
  39. data/spec/asciidoctor/cleanup_spec.rb +85 -20
  40. data/spec/asciidoctor/isobib_cache_spec.rb +4 -6
  41. data/spec/asciidoctor/lists_spec.rb +147 -135
  42. data/spec/asciidoctor/macros_json2text_spec.rb +1 -1
  43. data/spec/asciidoctor/macros_plantuml_spec.rb +165 -104
  44. data/spec/asciidoctor/macros_spec.rb +813 -168
  45. data/spec/asciidoctor/refs_spec.rb +12 -12
  46. data/spec/asciidoctor/validate_spec.rb +76 -20
  47. data/spec/support/shared_examples/structured_data_2_text_preprocessor.rb +34 -34
  48. data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec.yml +50 -50
  49. data/spec/vcr_cassettes/isobib_get_123.yml +13 -13
  50. data/spec/vcr_cassettes/isobib_get_123_1.yml +26 -26
  51. data/spec/vcr_cassettes/isobib_get_123_1_fr.yml +34 -34
  52. data/spec/vcr_cassettes/isobib_get_123_2001.yml +14 -14
  53. data/spec/vcr_cassettes/isobib_get_124.yml +11 -11
  54. data/spec/vcr_cassettes/rfcbib_get_rfc8341.yml +14 -14
  55. data/spec/vcr_cassettes/separates_iev_citations_by_top_level_clause.yml +51 -61
  56. metadata +11 -7
@@ -316,6 +316,40 @@ RSpec.describe Asciidoctor::Standoc do
316
316
  .to be_equivalent_to xmlpp(output)
317
317
  end
318
318
 
319
+ it "ignores tags when applying smartquotes" do
320
+ input = <<~INPUT
321
+ #{ASCIIDOC_BLANK_HDR}
322
+
323
+ "((ppt))",
324
+
325
+ "((ppm))", "((ppt))"
326
+ INPUT
327
+ output = <<~OUTPUT
328
+ #{BLANK_HDR}
329
+ <sections>
330
+ <p id='_'>
331
+ &#8220;ppt&#8221;,
332
+ <index>
333
+ <primary>ppt</primary>
334
+ </index>
335
+ </p>
336
+ <p id='_'>
337
+ &#8220;ppm&#8221;,
338
+ <index>
339
+ <primary>ppm</primary>
340
+ </index>
341
+ &#8220;ppt&#8221;
342
+ <index>
343
+ <primary>ppt</primary>
344
+ </index>
345
+ </p>
346
+ </sections>
347
+ </standard-document>
348
+ OUTPUT
349
+ expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
350
+ .to be_equivalent_to xmlpp(output)
351
+ end
352
+
319
353
  it "removes empty text elements" do
320
354
  input = <<~INPUT
321
355
  #{ASCIIDOC_BLANK_HDR}
@@ -486,7 +520,7 @@ RSpec.describe Asciidoctor::Standoc do
486
520
  output = <<~OUTPUT
487
521
  #{BLANK_HDR}
488
522
  <sections><formula id="_">
489
- <stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>r</mi><mo>=</mo><mn>1</mn><mi>%</mi><mi>r</mi><mo>=</mo><mn>1</mn><mi>%</mi></math></stem>
523
+ <stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>r</mi><mo>=</mo><mn>1</mn><mo>%</mo><mi>r</mi><mo>=</mo><mn>1</mn><mo>%</mo></math></stem>
490
524
  <note id="_">
491
525
  <p id="_">That formula does not do much</p>
492
526
  </note></formula>
@@ -517,7 +551,7 @@ RSpec.describe Asciidoctor::Standoc do
517
551
  output = <<~OUTPUT
518
552
  #{BLANK_HDR}
519
553
  <sections><formula id="_">
520
- <stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>r</mi><mo>=</mo><mn>1</mn><mi>%</mi><mi>r</mi><mo>=</mo><mn>1</mn><mi>%</mi></math></stem></formula>
554
+ <stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>r</mi><mo>=</mo><mn>1</mn><mo>%</mo><mi>r</mi><mo>=</mo><mn>1</mn><mo>%</mo></math></stem></formula>
521
555
  <note id="_">
522
556
  <p id="_">That formula does not do much</p>
523
557
  </note>
@@ -1618,11 +1652,42 @@ RSpec.describe Asciidoctor::Standoc do
1618
1652
  </standard-document>
1619
1653
  INPUT
1620
1654
  output = <<~OUTPUT
1621
- #{BLANK_HDR}
1622
- <sections>
1623
- <stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><mfrac><mn>1</mn><mi>r</mi></mfrac></math></stem>
1655
+ #{BLANK_HDR}
1656
+ <sections>
1657
+ <stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><mfrac><mn>1</mn><mi>r</mi></mfrac></math></stem>
1624
1658
  </sections>
1625
- </standard-document>
1659
+ </standard-document>
1660
+ OUTPUT
1661
+ expect(Asciidoctor::Standoc::Converter.new(nil, *OPTIONS)
1662
+ .cleanup(Nokogiri::XML(input)).to_xml)
1663
+ .to be_equivalent_to xmlpp(output)
1664
+ end
1665
+
1666
+ it "removes nested bibitem IDs" do
1667
+ input = <<~INPUT
1668
+ #{BLANK_HDR}
1669
+ <bibliography>
1670
+ <references normative="true"><title>Normative</title>
1671
+ <bibitem id="A">
1672
+ <relation type="includes">
1673
+ <bibitem id="B"/>
1674
+ </relation>
1675
+ </bibitem>
1676
+ </bibliography>
1677
+ </standard-document>
1678
+ INPUT
1679
+ output = <<~OUTPUT
1680
+ #{BLANK_HDR}
1681
+ <bibliography>
1682
+ <references normative="true"><title>Normative</title>
1683
+ <bibitem id="A">
1684
+ <relation type="includes">
1685
+ <bibitem id="B"/>
1686
+ </relation>
1687
+ </bibitem>
1688
+ </references>
1689
+ </bibliography>
1690
+ </standard-document>
1626
1691
  OUTPUT
1627
1692
  expect(Asciidoctor::Standoc::Converter.new(nil, *OPTIONS)
1628
1693
  .cleanup(Nokogiri::XML(input)).to_xml)
@@ -1879,7 +1944,7 @@ RSpec.describe Asciidoctor::Standoc do
1879
1944
  .to be_equivalent_to xmlpp(output)
1880
1945
  end
1881
1946
 
1882
- it "sorts symbols lists" do
1947
+ it "sorts symbols lists #1" do
1883
1948
  input = <<~INPUT
1884
1949
  #{ASCIIDOC_BLANK_HDR}
1885
1950
 
@@ -1900,11 +1965,11 @@ RSpec.describe Asciidoctor::Standoc do
1900
1965
  <definitions id='L' obligation="normative">
1901
1966
  <title>Symbols and abbreviated terms</title>
1902
1967
  <dl id='_'>
1903
- <dt>m</dt>
1968
+ <dt id="symbol-m">m</dt>
1904
1969
  <dd>
1905
1970
  <p id='_'>Definition 7</p>
1906
1971
  </dd>
1907
- <dt>
1972
+ <dt id="symbol-_-n-">
1908
1973
  <stem type='MathML'>
1909
1974
  <math xmlns='http://www.w3.org/1998/Math/MathML'>
1910
1975
  <mi>n</mi>
@@ -1914,23 +1979,23 @@ RSpec.describe Asciidoctor::Standoc do
1914
1979
  <dd>
1915
1980
  <p id='_'>Definition 6</p>
1916
1981
  </dd>
1917
- <dt>x</dt>
1982
+ <dt id="symbol-x">x</dt>
1918
1983
  <dd>
1919
1984
  <p id='_'>Definition 5</p>
1920
1985
  </dd>
1921
- <dt>x_m_</dt>
1986
+ <dt id='symbol-x_m_'>x_m_</dt>
1922
1987
  <dd>
1923
1988
  <p id='_'>Definition 4</p>
1924
1989
  </dd>
1925
- <dt>x_1_</dt>
1990
+ <dt id='symbol-x_1_'>x_1_</dt>
1926
1991
  <dd>
1927
1992
  <p id='_'>Definition 3</p>
1928
1993
  </dd>
1929
- <dt>Xa</dt>
1994
+ <dt id='symbol-xa'>Xa</dt>
1930
1995
  <dd>
1931
1996
  <p id='_'>Definition 2</p>
1932
1997
  </dd>
1933
- <dt>α</dt>
1998
+ <dt id='symbol-&#945;'>α</dt>
1934
1999
  <dd>
1935
2000
  <p id='_'>Definition 1</p>
1936
2001
  </dd>
@@ -1943,7 +2008,7 @@ RSpec.describe Asciidoctor::Standoc do
1943
2008
  .to be_equivalent_to xmlpp(output)
1944
2009
  end
1945
2010
 
1946
- it "sorts symbols lists" do
2011
+ it "sorts symbols lists #2" do
1947
2012
  input = <<~INPUT
1948
2013
  #{ASCIIDOC_BLANK_HDR}
1949
2014
 
@@ -1962,11 +2027,11 @@ RSpec.describe Asciidoctor::Standoc do
1962
2027
  <definitions id='L' obligation="normative">
1963
2028
  <title>Symbols and abbreviated terms</title>
1964
2029
  <dl id='_'>
1965
- <dt>x</dt>
2030
+ <dt id='symbol-x'>x</dt>
1966
2031
  <dd>
1967
2032
  <p id='_'>Definition 5</p>
1968
2033
  </dd>
1969
- <dt><stem type='MathML'>
2034
+ <dt id='symbol-_-xm-'><stem type='MathML'>
1970
2035
  <math xmlns='http://www.w3.org/1998/Math/MathML'>
1971
2036
  <msub>
1972
2037
  <mrow>
@@ -1981,7 +2046,7 @@ RSpec.describe Asciidoctor::Standoc do
1981
2046
  <dd>
1982
2047
  <p id='_'>Definition 4</p>
1983
2048
  </dd>
1984
- <dt><stem type='MathML'>
2049
+ <dt id='symbol-_-x1-'><stem type='MathML'>
1985
2050
  <math xmlns='http://www.w3.org/1998/Math/MathML'>
1986
2051
  <msub>
1987
2052
  <mrow>
@@ -1996,11 +2061,11 @@ RSpec.describe Asciidoctor::Standoc do
1996
2061
  <dd>
1997
2062
  <p id='_'>Definition 3</p>
1998
2063
  </dd>
1999
- <dt>xa</dt>
2064
+ <dt id='symbol-xa'>xa</dt>
2000
2065
  <dd>
2001
2066
  <p id='_'>Definition 2</p>
2002
2067
  </dd>
2003
- <dt>
2068
+ <dt id='symbol-_-&#945;-'>
2004
2069
  <stem type='MathML'>
2005
2070
  <math xmlns='http://www.w3.org/1998/Math/MathML'>
2006
2071
  <mi>α</mi>
@@ -2,8 +2,6 @@ require "spec_helper"
2
2
  require "relaton_iso"
3
3
  require "fileutils"
4
4
 
5
- OPTIONS = [backend: :standoc, header_footer: true].freeze
6
-
7
5
  IETF_123_SHORT = <<~XML.freeze
8
6
  <bibitem type="standard" id="IETF123">
9
7
  <title format="text/plain" language="en" script="Latn">Rubber latex -- Sampling</title>
@@ -127,7 +125,7 @@ ISO_123_UNDATED = <<~XML.freeze
127
125
  <script>Latn</script>
128
126
  <status>
129
127
  <stage>90</stage>
130
- <substage>60</substage>
128
+ <substage>93</substage>
131
129
  </status>
132
130
  <copyright>
133
131
  <from>2001</from>
@@ -168,7 +166,7 @@ ISO_123_UNDATED = <<~XML.freeze
168
166
  <script>Latn</script>
169
167
  <status>
170
168
  <stage>90</stage>
171
- <substage>60</substage>
169
+ <substage>93</substage>
172
170
  </status>
173
171
  <copyright>
174
172
  <from>2001</from>
@@ -211,7 +209,7 @@ ISO_123_DATED = <<~XML.freeze
211
209
  <uri type="obp">https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
212
210
  <uri type="rss">https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
213
211
  <docidentifier type="ISO">ISO 123:2001</docidentifier>
214
- <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.60:ed-3:en</docidentifier>
212
+ <docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:en</docidentifier>
215
213
  <docnumber>123</docnumber>
216
214
  <date type="published">
217
215
  <on>2001-05</on>
@@ -236,7 +234,7 @@ ISO_123_DATED = <<~XML.freeze
236
234
  </abstract>
237
235
  <status>
238
236
  <stage>90</stage>
239
- <substage>60</substage>
237
+ <substage>93</substage>
240
238
  </status>
241
239
  <copyright>
242
240
  <from>2001</from>
@@ -21,55 +21,55 @@ RSpec.describe Asciidoctor::Standoc do
21
21
 
22
22
  INPUT
23
23
  expect(xmlpp(strip_guid(output))).to be_equivalent_to xmlpp(<<~"OUTPUT")
24
- #{BLANK_HDR}
25
- <sections>
26
- <ul id='_'>
27
- <li>
28
- <p id='_'>List 1</p>
29
- </li>
30
- <li>
31
- <p id='_'>List 2</p>
32
- </li>
33
- <li>
34
- <p id='_'>List 3</p>
35
- </li>
36
- <li uncheckedcheckbox='false' checkedcheckbox='true'>
37
- <p id='_'>checked</p>
38
- </li>
39
- <li uncheckedcheckbox='false' checkedcheckbox='true'>
40
- <p id='_'>also checked</p>
41
- </li>
42
- <li uncheckedcheckbox='true' checkedcheckbox='false'>
43
- <p id='_'>not checked</p>
44
- <ol id='_' type='arabic'>
45
- <li>
46
- <p id='_'>List A</p>
47
- </li>
48
- <li>
49
- <p id='_'>List B</p>
50
- </li>
51
- <li>
52
- <p id='_'>List C</p>
53
- <dl id='_'>
54
- <dt>List D</dt>
55
- <dd>
56
- <p id='_'>List E</p>
57
- </dd>
58
- <dt>List F</dt>
59
- <dd>
60
- <p id='_'>List G</p>
61
- </dd>
62
- </dl>
63
- </li>
64
- </ol>
65
- </li>
66
- </ul>
67
- </sections>
68
- </standard-document>
24
+ #{BLANK_HDR}
25
+ <sections>
26
+ <ul id='_'>
27
+ <li>
28
+ <p id='_'>List 1</p>
29
+ </li>
30
+ <li>
31
+ <p id='_'>List 2</p>
32
+ </li>
33
+ <li>
34
+ <p id='_'>List 3</p>
35
+ </li>
36
+ <li uncheckedcheckbox='false' checkedcheckbox='true'>
37
+ <p id='_'>checked</p>
38
+ </li>
39
+ <li uncheckedcheckbox='false' checkedcheckbox='true'>
40
+ <p id='_'>also checked</p>
41
+ </li>
42
+ <li uncheckedcheckbox='true' checkedcheckbox='false'>
43
+ <p id='_'>not checked</p>
44
+ <ol id='_' type='arabic'>
45
+ <li>
46
+ <p id='_'>List A</p>
47
+ </li>
48
+ <li>
49
+ <p id='_'>List B</p>
50
+ </li>
51
+ <li>
52
+ <p id='_'>List C</p>
53
+ <dl id='_'>
54
+ <dt>List D</dt>
55
+ <dd>
56
+ <p id='_'>List E</p>
57
+ </dd>
58
+ <dt>List F</dt>
59
+ <dd>
60
+ <p id='_'>List G</p>
61
+ </dd>
62
+ </dl>
63
+ </li>
64
+ </ol>
65
+ </li>
66
+ </ul>
67
+ </sections>
68
+ </standard-document>
69
69
  OUTPUT
70
70
  end
71
71
 
72
- it "processes complex lists" do
72
+ it "processes complex lists" do
73
73
  output = Asciidoctor.convert(<<~"INPUT", *OPTIONS)
74
74
  #{ASCIIDOC_BLANK_HDR}
75
75
  [[id]]
@@ -116,99 +116,111 @@ RSpec.describe Asciidoctor::Standoc do
116
116
 
117
117
  INPUT
118
118
  expect(xmlpp(strip_guid(output))).to be_equivalent_to xmlpp(<<~"OUTPUT")
119
- #{BLANK_HDR}
120
- <sections><ul id="id" keep-with-next="true" keep-lines-together="true">
121
- <li>
122
- <p id="_">First</p>
123
- </li>
124
- <li><p id="_">Second</p><p id="_">entry1</p>
125
- <p id="_">entry2</p></li>
126
- </ul>
127
- <ol id="id1" type="alphabet" keep-with-next="true" keep-lines-together="true">
128
- <li>
129
- <p id="_">First</p>
130
- </li>
131
- <li>
132
- <p id="_">Second</p>
133
- <ol id="_" type="alphabet_upper">
134
- <li>
135
- <p id="_">Third</p>
136
- </li>
137
- <li>
138
- <p id="_">Fourth</p>
139
- </li>
140
- </ol>
141
- </li>
142
- <li>
143
- <p id="_">Fifth</p>
144
- </li>
145
- <li>
146
- <p id="_">Sixth</p>
147
- </li>
148
- </ol>
149
- <ol id="_" type="roman">
150
- <li>
151
- <p id="_">A</p>
152
- </li>
153
- <li>
154
- <p id="_">B</p>
155
- <ol id="_" type="roman_upper">
156
- <li>
157
- <p id="_">C</p>
158
- </li>
159
- <li>
160
- <p id="_">D</p>
161
- <ol id="_" type="arabic">
162
- <li>
163
- <p id="_">E</p>
164
- </li>
165
- <li>
166
- <p id="_">F</p>
167
-
168
- <dl id="_" keep-with-next="true" keep-lines-together="true">
169
- <dt>Notes1</dt>
170
- <dd/>
171
- <dt>Notes</dt>
172
- <dd><p id="_">Note 1.</p><p id="_">Note 2.</p>
173
- <p id="_">Note 3.</p></dd>
174
- </dl>
175
- </li>
176
- </ol>
177
- </li>
178
- </ol>
179
- </li>
180
- </ol><dl id='_' key='true'>
181
- <dt>a</dt>
182
- <dd>
183
- <p id='_'>b</p>
184
- </dd>
185
- </dl>
186
- </sections>
187
- </standard-document>
188
- OUTPUT
189
- end
119
+ #{BLANK_HDR}
120
+ <sections><ul id="id" keep-with-next="true" keep-lines-together="true">
121
+ <li>
122
+ <p id="_">First</p>
123
+ </li>
124
+ <li><p id="_">Second</p><p id="_">entry1</p>
125
+ <p id="_">entry2</p></li>
126
+ </ul>
127
+ <ol id="id1" type="alphabet" keep-with-next="true" keep-lines-together="true">
128
+ <li>
129
+ <p id="_">First</p>
130
+ </li>
131
+ <li>
132
+ <p id="_">Second</p>
133
+ <ol id="_" type="alphabet_upper">
134
+ <li>
135
+ <p id="_">Third</p>
136
+ </li>
137
+ <li>
138
+ <p id="_">Fourth</p>
139
+ </li>
140
+ </ol>
141
+ </li>
142
+ <li>
143
+ <p id="_">Fifth</p>
144
+ </li>
145
+ <li>
146
+ <p id="_">Sixth</p>
147
+ </li>
148
+ </ol>
149
+ <ol id="_" type="roman">
150
+ <li>
151
+ <p id="_">A</p>
152
+ </li>
153
+ <li>
154
+ <p id="_">B</p>
155
+ <ol id="_" type="roman_upper">
156
+ <li>
157
+ <p id="_">C</p>
158
+ </li>
159
+ <li>
160
+ <p id="_">D</p>
161
+ <ol id="_" type="arabic">
162
+ <li>
163
+ <p id="_">E</p>
164
+ </li>
165
+ <li>
166
+ <p id="_">F</p>
167
+ <dl id="_" keep-with-next="true" keep-lines-together="true">
168
+ <dt>Notes1</dt>
169
+ <dd/>
170
+ <dt>Notes</dt>
171
+ <dd><p id="_">Note 1.</p><p id="_">Note 2.</p>
172
+ <p id="_">Note 3.</p></dd>
173
+ </dl>
174
+ </li>
175
+ </ol>
176
+ </li>
177
+ </ol>
178
+ </li>
179
+ </ol><dl id='_' key='true'>
180
+ <dt>a</dt>
181
+ <dd>
182
+ <p id='_'>b</p>
183
+ </dd>
184
+ </dl>
185
+ </sections>
186
+ </standard-document>
187
+ OUTPUT
188
+ end
190
189
 
191
- it "anchors lists and list items" do
192
- expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", *OPTIONS)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
190
+ it "anchors lists and list items" do
191
+ input = <<~INPUT
193
192
  #{ASCIIDOC_BLANK_HDR}
194
193
  [[id1]]
195
194
  * [[id2]] List item
196
195
  * Hello [[id3]] List item
197
196
 
198
- INPUT
199
- #{BLANK_HDR}
200
- <sections>
201
- <ul id="id1">
202
- <li id="id2">
203
- <p id="_">List item</p>
204
- </li>
205
- <li>
206
- <p id="_">Hello <bookmark id="id3"/> List item</p>
207
- </li>
208
- </ul>
209
- </sections>
210
- </standard-document>
211
- OUTPUT
212
- end
213
-
197
+ [[id4]]
198
+ [[id5]]a:: [[id6]]b
199
+ INPUT
200
+ output = <<~OUTPUT
201
+ #{BLANK_HDR}
202
+ <sections>
203
+ <ul id="id1">
204
+ <li id="id2">
205
+ <p id="_">List item</p>
206
+ </li>
207
+ <li>
208
+ <p id="_">Hello <bookmark id="id3"/> List item</p>
209
+ </li>
210
+ </ul>
211
+ <dl id='id4'>
212
+ <dt id='id5'>a</dt>
213
+ <dd>
214
+ <p id='_'>
215
+ <bookmark id='id6'/>
216
+ b
217
+ </p>
218
+ </dd>
219
+ </dl>
220
+ </sections>
221
+ </standard-document>
222
+ OUTPUT
223
+ expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
224
+ .to be_equivalent_to xmlpp(output)
225
+ end
214
226
  end