metanorma-iec 2.1.11 → 2.1.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/lib/isodoc/iec/iec.international-standard.xsl +274 -100
  3. data/lib/isodoc/iec/presentation_xml_convert.rb +8 -6
  4. data/lib/metanorma/iec/biblio.rng +5 -0
  5. data/lib/metanorma/iec/iec_intro_en.xml +11 -12
  6. data/lib/metanorma/iec/iec_intro_fr.xml +11 -11
  7. data/lib/metanorma/iec/isodoc.rng +46 -12
  8. data/lib/metanorma/iec/version.rb +1 -1
  9. data/metanorma-iec.gemspec +5 -2
  10. metadata +4 -36
  11. data/.github/workflows/automerge.yml +0 -31
  12. data/.github/workflows/rake.yml +0 -15
  13. data/.github/workflows/release.yml +0 -24
  14. data/Rakefile +0 -8
  15. data/bin/rspec +0 -18
  16. data/spec/assets/header.html +0 -7
  17. data/spec/assets/html.css +0 -2
  18. data/spec/assets/iso.xml +0 -71
  19. data/spec/assets/rice_image1.png +0 -0
  20. data/spec/assets/word.css +0 -2
  21. data/spec/assets/wordintro.html +0 -4
  22. data/spec/assets/xref_error.adoc +0 -7
  23. data/spec/isodoc/blocks_spec.rb +0 -200
  24. data/spec/isodoc/i18n_spec.rb +0 -607
  25. data/spec/isodoc/iev_spec.rb +0 -888
  26. data/spec/isodoc/inline_spec.rb +0 -256
  27. data/spec/isodoc/iso_spec.rb +0 -211
  28. data/spec/isodoc/metadata_spec.rb +0 -251
  29. data/spec/isodoc/postproc_spec.rb +0 -303
  30. data/spec/isodoc/ref_spec.rb +0 -335
  31. data/spec/isodoc/section_spec.rb +0 -566
  32. data/spec/isodoc/terms_spec.rb +0 -192
  33. data/spec/metanorma/base_spec.rb +0 -1041
  34. data/spec/metanorma/blocks_spec.rb +0 -470
  35. data/spec/metanorma/cleanup_spec.rb +0 -372
  36. data/spec/metanorma/iev_spec.rb +0 -254
  37. data/spec/metanorma/inline_spec.rb +0 -145
  38. data/spec/metanorma/lists_spec.rb +0 -194
  39. data/spec/metanorma/processor_spec.rb +0 -171
  40. data/spec/metanorma/section_spec.rb +0 -348
  41. data/spec/metanorma/validate_spec.rb +0 -56
  42. data/spec/spec_helper.rb +0 -305
@@ -1,566 +0,0 @@
1
- require "spec_helper"
2
-
3
- RSpec.describe IsoDoc do
4
- it "processes section names" do
5
- input = <<~INPUT
6
- <iso-standard xmlns="http://riboseinc.com/isoxml">
7
- <preface>
8
- <foreword obligation="informative">
9
- <title>Foreword</title>
10
- <p id="A">This is a preamble</p>
11
- </foreword>
12
- <introduction id="B" obligation="informative"><title>Introduction</title><clause id="C" inline-header="false" obligation="informative">
13
- <title>Introduction Subsection</title>
14
- </clause>
15
- <p>This is patent boilerplate</p>
16
- </introduction></preface><sections>
17
- <clause id="D" obligation="normative" type="scope">
18
- <title>Scope</title>
19
- <p id="E">Text</p>
20
- </clause>
21
-
22
- <clause id="H" obligation="normative"><title>Terms, definitions, symbols and abbreviated terms</title><terms id="I" obligation="normative">
23
- <title>Normal Terms</title>
24
- <term id="J">
25
- <preferred>Term2</preferred>
26
- </term>
27
- </terms>
28
- <definitions id="K">
29
- <dl>
30
- <dt>Symbol</dt>
31
- <dd>Definition</dd>
32
- </dl>
33
- </definitions>
34
- </clause>
35
- <definitions id="L">
36
- <dl>
37
- <dt>Symbol</dt>
38
- <dd>Definition</dd>
39
- </dl>
40
- </definitions>
41
- <clause id="M" inline-header="false" obligation="normative"><title>Clause 4</title><clause id="N" inline-header="false" obligation="normative">
42
- <title>Introduction</title>
43
- </clause>
44
- <clause id="O" inline-header="false" obligation="normative">
45
- <title>Clause 4.2</title>
46
- </clause></clause>
47
-
48
- </sections><annex id="P" inline-header="false" obligation="normative">
49
- <title>Annex</title>
50
- <clause id="Q" inline-header="false" obligation="normative">
51
- <title>Annex A.1</title>
52
- <clause id="Q1" inline-header="false" obligation="normative">
53
- <title>Annex A.1a</title>
54
- </clause>
55
- </clause>
56
- <appendix id="Q2" inline-header="false" obligation="normative">
57
- <title>An Appendix</title>
58
- </appendix>
59
- </annex><bibliography><references id="R" obligation="informative" normative="true">
60
- <title>Normative References</title>
61
- </references><clause id="S" obligation="informative">
62
- <title>Bibliography</title>
63
- <references id="T" obligation="informative" normative="false">
64
- <title>Bibliography Subsection</title>
65
- </references>
66
- </clause>
67
- </bibliography>
68
- </iso-standard>
69
- INPUT
70
-
71
- presxml = <<~OUTPUT
72
- <iso-standard xmlns="http://riboseinc.com/isoxml" type="presentation">
73
- <preface>
74
- <foreword obligation="informative" displayorder="1">
75
- <title>Foreword</title>
76
- <p id="A">This is a preamble</p>
77
- </foreword>
78
- <introduction id="B" obligation="informative" displayorder="2"><title depth="1">0<tab/>Introduction</title><clause id="C" inline-header="false" obligation="informative">
79
- <title depth="2">0.1<tab/>Introduction Subsection</title>
80
- </clause>
81
- <p>This is patent boilerplate</p>
82
- </introduction></preface><sections>
83
- <clause id="D" obligation="normative" type="scope" displayorder="3">
84
- <title depth="1">1<tab/>Scope</title>
85
- <p id="E">Text</p>
86
- </clause>
87
-
88
- <clause id="H" obligation="normative" displayorder="5"><title depth="1">3<tab/>Terms, definitions, symbols and abbreviated terms</title><terms id="I" obligation="normative">
89
- <title depth="2">3.1<tab/>Normal Terms</title>
90
- <term id="J"><name>3.1.1</name>
91
- <preferred>Term2</preferred>
92
- </term>
93
- </terms>
94
- <definitions id="K"><title>3.2</title>
95
- <dl>
96
- <dt>Symbol</dt>
97
- <dd>Definition</dd>
98
- </dl>
99
- </definitions>
100
- </clause>
101
- <definitions id="L" displayorder="6"><title>4</title>
102
- <dl>
103
- <dt>Symbol</dt>
104
- <dd>Definition</dd>
105
- </dl>
106
- </definitions>
107
- <clause id="M" inline-header="false" obligation="normative" displayorder="7"><title depth="1">5<tab/>Clause 4</title><clause id="N" inline-header="false" obligation="normative">
108
- <title depth="2">5.1<tab/>Introduction</title>
109
- </clause>
110
- <clause id="O" inline-header="false" obligation="normative">
111
- <title depth="2">5.2<tab/>Clause 4.2</title>
112
- </clause></clause>
113
-
114
- </sections><annex id="P" inline-header="false" obligation="normative" displayorder="8">
115
- <title><strong>Annex A</strong><br/>(normative)<br/><br/><strong>Annex</strong></title>
116
- <clause id="Q" inline-header="false" obligation="normative">
117
- <title depth="2">A.1<tab/>Annex A.1</title>
118
- <clause id="Q1" inline-header="false" obligation="normative">
119
- <title depth="3">A.1.1<tab/>Annex A.1a</title>
120
- </clause>
121
- </clause>
122
- <appendix id="Q2" inline-header="false" obligation="normative">
123
- <title depth="2">Appendix 1<tab/>An Appendix</title>
124
- </appendix>
125
- </annex><bibliography><references id="R" obligation="informative" normative="true" displayorder="4">
126
- <title depth="1">2<tab/>Normative References</title>
127
- </references><clause id="S" obligation="informative" displayorder="9">
128
- <title depth="1">Bibliography</title>
129
- <references id="T" obligation="informative" normative="false">
130
- <title depth="2">Bibliography Subsection</title>
131
- </references>
132
- </clause>
133
- </bibliography>
134
- </iso-standard>
135
- OUTPUT
136
-
137
- html = <<~OUTPUT
138
- <html xmlns:epub="http://www.idpf.org/2007/ops" lang="en">
139
- <head/>
140
- <body lang="en">
141
- <div class="title-section">
142
- <p>&#160;</p>
143
- </div>
144
- <br/>
145
- <div class="prefatory-section">
146
- <p>&#160;</p>
147
- </div>
148
- <br/>
149
- <div class="main-section">
150
- <br/>
151
- #{IEC_TITLE}
152
- <div>
153
- <h1 class="ForewordTitle">FOREWORD</h1>
154
- <div class="boilerplate_legal"/>
155
- <p id="A">This is a preamble</p>
156
- </div>
157
- <br/>
158
- <div class="Section3" id="B">
159
- <h1 class="IntroTitle">0&#160; Introduction</h1>
160
- <div id="C">
161
- <h2>0.1&#160; Introduction Subsection</h2>
162
- </div>
163
- <p>This is patent boilerplate</p>
164
- </div>
165
- #{IEC_TITLE1}
166
- <div id="D">
167
- <h1>1&#160; Scope</h1>
168
- <p id="E">Text</p>
169
- </div>
170
- <div>
171
- <h1>2&#160; Normative References</h1>
172
- </div>
173
- <div id="H"><h1>3&#160; Terms, definitions, symbols and abbreviated terms</h1>
174
- <div id="I">
175
- <h2>3.1&#160; Normal Terms</h2>
176
- <p class="TermNum" id="J">3.1.1</p>
177
- <p class="Terms" style="text-align:left;">Term2</p>
178
- </div><div id="K"><h2>3.2</h2>
179
- <dl><dt><p>Symbol</p></dt><dd>Definition</dd></dl>
180
- </div></div>
181
- <div id="L" class="Symbols">
182
- <h1>4</h1>
183
- <dl>
184
- <dt>
185
- <p>Symbol</p>
186
- </dt>
187
- <dd>Definition</dd>
188
- </dl>
189
- </div>
190
- <div id="M">
191
- <h1>5&#160; Clause 4</h1>
192
- <div id="N">
193
- <h2>5.1&#160; Introduction</h2>
194
- </div>
195
- <div id="O">
196
- <h2>5.2&#160; Clause 4.2</h2>
197
- </div>
198
- </div>
199
- <br/>
200
- <div id="P" class="Section3">
201
- <h1 class="Annex"><b>Annex A</b><br/>(normative)<br/><br/><b>Annex</b></h1>
202
- <div id="Q">
203
- <h2>A.1&#160; Annex A.1</h2>
204
- <div id="Q1">
205
- <h3>A.1.1&#160; Annex A.1a</h3>
206
- </div>
207
- </div>
208
- <div id="Q2">
209
- <h2>Appendix 1&#160; An Appendix</h2>
210
- </div>
211
- </div>
212
- <br/>
213
- <div>
214
- <h1 class="Section3">Bibliography</h1>
215
- <div>
216
- <h2 class="Section3">Bibliography Subsection</h2>
217
- </div>
218
- </div>
219
- </div>
220
- </body>
221
- </html>
222
- OUTPUT
223
-
224
- word = <<~OUTPUT
225
- <body lang="EN-US" link="blue" vlink="#954F72">
226
- <div class="WordSection2">
227
- <p><br clear="all" style="mso-special-character:line-break;page-break-before:always"/></p>
228
- #{IEC_TITLE}
229
- <div>
230
- <h1 class="ForewordTitle">FOREWORD</h1>
231
- <div class="boilerplate_legal"/>
232
- <p id="A">This is a preamble</p>
233
- </div>
234
- <p><br clear="all" style="mso-special-character:line-break;page-break-before:always"/></p>
235
- <div class="Section3" id="B">
236
- <h1 class="IntroTitle">0<span style="mso-tab-count:1">&#160; </span>Introduction</h1>
237
- <div id="C">
238
- <h2>0.1<span style="mso-tab-count:1">&#160; </span>Introduction Subsection</h2>
239
- </div>
240
- <p>This is patent boilerplate</p>
241
- </div>
242
- <p>&#160;</p>
243
- </div>
244
- <p><br clear="all" class="section"/></p>
245
- <div class="WordSection3">
246
- #{IEC_TITLE1}
247
- <div id="D">
248
- <h1>1<span style="mso-tab-count:1">&#160; </span>Scope</h1>
249
- <p id="E">Text</p>
250
- </div>
251
- <div>
252
- <h1>2<span style="mso-tab-count:1">&#160; </span>Normative References</h1>
253
- </div>
254
- <div id="H"><h1>3<span style="mso-tab-count:1">&#160; </span>Terms, definitions, symbols and abbreviated terms</h1>
255
- <div id="I">
256
- <h2>3.1<span style="mso-tab-count:1">&#160; </span>Normal Terms</h2>
257
- <p class="TermNum" id="J">3.1.1</p>
258
- <p class="Terms" style="text-align:left;">Term2</p>
259
-
260
- </div><div id="K"><h2>3.2</h2>
261
- <table class="dl"><tr><td valign="top" align="left"><p align="left" style="margin-left:0pt;text-align:left;">Symbol</p></td><td valign="top">Definition</td></tr></table>
262
- </div></div>
263
- <div id="L" class="Symbols">
264
- <h1>4</h1>
265
- <table class="dl">
266
- <tr>
267
- <td valign="top" align="left">
268
- <p align="left" style="margin-left:0pt;text-align:left;">Symbol</p>
269
- </td>
270
- <td valign="top">Definition</td>
271
- </tr>
272
- </table>
273
- </div>
274
- <div id="M">
275
- <h1>5<span style="mso-tab-count:1">&#160; </span>Clause 4</h1>
276
- <div id="N">
277
- <h2>5.1<span style="mso-tab-count:1">&#160; </span>Introduction</h2>
278
- </div>
279
- <div id="O">
280
- <h2>5.2<span style="mso-tab-count:1">&#160; </span>Clause 4.2</h2>
281
- </div>
282
- </div>
283
- <p><br clear="all" style="mso-special-character:line-break;page-break-before:always"/></p>
284
- <div id="P" class="Section3">
285
- <h1 class="Annex"><b>Annex A</b><br/>(normative)<br/><br/><b>Annex</b></h1>
286
- <div id="Q">
287
- <h2>A.1<span style="mso-tab-count:1">&#160; </span>Annex A.1</h2>
288
- <div id="Q1">
289
- <h3>A.1.1<span style="mso-tab-count:1">&#160; </span>Annex A.1a</h3>
290
- </div>
291
- </div>
292
- <div id="Q2">
293
- <h2>Appendix 1<span style="mso-tab-count:1">&#160; </span>An Appendix</h2>
294
- </div>
295
- </div>
296
- <p><br clear="all" style="mso-special-character:line-break;page-break-before:always"/></p>
297
- <div>
298
- <h1 class="Section3">Bibliography</h1>
299
- <div>
300
- <h2 class="Section3">Bibliography Subsection</h2>
301
- </div>
302
- </div>
303
- </div>
304
- <br clear="all" style="page-break-before:left;mso-break-type:section-break"/>
305
- <div class="colophon"/>
306
- </body>
307
- OUTPUT
308
- expect(xmlpp(IsoDoc::Iec::PresentationXMLConvert.new({})
309
- .convert("test", input, true))).to be_equivalent_to xmlpp(presxml)
310
- expect(xmlpp(IsoDoc::Iec::HtmlConvert.new({})
311
- .convert("test", presxml, true))).to be_equivalent_to xmlpp(html)
312
- expect(xmlpp(IsoDoc::Iec::WordConvert.new({})
313
- .convert("test", presxml, true)
314
- .sub(/^.*<body /m, "<body ").sub(%r{</body>.*$}m, "</body>")))
315
- .to be_equivalent_to xmlpp(word)
316
- end
317
-
318
- it "processes subclauses with and without titles" do
319
- input = <<~INPUT
320
- <iso-standard xmlns="http://riboseinc.com/isoxml">
321
- <sections>
322
- <clause id="D" obligation="normative">
323
- <title>Scope</title>
324
- <clause id="D1" obligation="normative">
325
- <title>Scope 1</title>
326
- </clause>
327
- <clause id="D2" obligation="normative">
328
- </clause>
329
- </clause>
330
- </sections>
331
- </iso-standard>
332
- INPUT
333
- output = <<~OUTPUT
334
- <iso-standard xmlns='http://riboseinc.com/isoxml' type="presentation">
335
- <sections>
336
- <clause id='D' obligation='normative' displayorder="1">
337
- <title depth='1'>
338
- 1
339
- <tab/>
340
- Scope
341
- </title>
342
- <clause id='D1' obligation='normative'>
343
- <title depth='2'>
344
- 1.1
345
- <tab/>
346
- Scope 1
347
- </title>
348
- </clause>
349
- <clause id='D2' obligation='normative'>
350
- <title>1.2</title>
351
- </clause>
352
- </clause>
353
- </sections>
354
- </iso-standard>
355
- OUTPUT
356
- expect(xmlpp(IsoDoc::Iec::PresentationXMLConvert.new({})
357
- .convert("test", input, true))).to be_equivalent_to xmlpp(output)
358
- end
359
-
360
- it "processes simple terms & definitions" do
361
- input = <<~INPUT
362
- <iso-standard xmlns="http://riboseinc.com/isoxml">
363
- <sections>
364
- <terms id="H" obligation="normative"><title>1<tab/>Terms, Definitions, Symbols and Abbreviated Terms</title>
365
- <term id="J">
366
- <name>1.1</name>
367
- <preferred>Term2</preferred>
368
- </term>
369
- </terms>
370
- </sections>
371
- </iso-standard>
372
- INPUT
373
- output = <<~OUTPUT
374
- #{HTML_HDR}
375
- <div id="">
376
- <h1 class="ForewordTitle">FOREWORD</h1>
377
- <div class="boilerplate_legal"/>
378
- </div>
379
- #{IEC_TITLE1}
380
- <div id="H"><h1>1&#160; Terms, Definitions, Symbols and Abbreviated Terms</h1>
381
- <p class="TermNum" id="J">1.1</p>
382
- <p class="Terms" style="text-align:left;">Term2</p>
383
- </div>
384
- </div>
385
- </body>
386
- </html>
387
- OUTPUT
388
- expect(xmlpp(IsoDoc::Iec::HtmlConvert.new({}).convert("test", input, true)))
389
- .to be_equivalent_to xmlpp(output)
390
- end
391
-
392
- it "processes inline section headers" do
393
- input = <<~INPUT
394
- <iso-standard xmlns="http://riboseinc.com/isoxml">
395
- <sections>
396
- <clause id="M" inline-header="false" obligation="normative"><title>1<tab/>Clause 4</title>
397
- <clause id="N" inline-header="false" obligation="normative">
398
- <title>1.1<tab/>Introduction</title>
399
- </clause>
400
- <clause id="O" inline-header="true" obligation="normative">
401
- <title>1.2<tab/>Clause 4.2</title>
402
- </clause></clause>
403
- </sections>
404
- </iso-standard>
405
- INPUT
406
- output = <<~OUTPUT
407
- #{HTML_HDR}
408
- <div id="">
409
- <h1 class="ForewordTitle">FOREWORD</h1>
410
- <div class="boilerplate_legal"/>
411
- </div>
412
- #{IEC_TITLE1}
413
- <div id="M">
414
- <h1>1&#160; Clause 4</h1>
415
- <div id="N">
416
- <h2>1.1&#160; Introduction</h2>
417
- </div>
418
- <div id="O">
419
- <span class="zzMoveToFollowing"><b>1.2&#160; Clause 4.2&#160; </b></span>
420
- </div>
421
- </div>
422
- </div>
423
- </body>
424
- </html>
425
- OUTPUT
426
- expect(xmlpp(IsoDoc::Iec::HtmlConvert.new({}).convert("test", input, true)))
427
- .to be_equivalent_to xmlpp(output)
428
- end
429
-
430
- it "adds colophon to published standard (Word)" do
431
- input = <<~INPUT
432
- <iso-standard xmlns="http://riboseinc.com/isoxml">
433
- <bibdata>
434
- <status>
435
- <stage abbreviation="PPUB">60</stage>
436
- <substage abbreviation="PPUB">60</substage>
437
- </status>
438
- </bibdata>
439
- <sections>
440
- </sections>
441
- </iso-standard>
442
- INPUT
443
- output = <<~OUTPUT
444
- <body lang='EN-US' link='blue' vlink='#954F72'>
445
- <div class='WordSection1'>
446
- <p>&#xa0;</p>
447
- </div>
448
- <p>
449
- <br clear='all' class='section'/>
450
- </p>
451
- <div class='WordSection2'>
452
- <p>&#xa0;</p>
453
- </div>
454
- <p>
455
- <br clear='all' class='section'/>
456
- </p>
457
- <div class='WordSection3'>
458
- <p class='zzSTDTitle'/>
459
- </div>
460
- <br clear='all' style='page-break-before:left;mso-break-type:section-break'/>
461
- <div class='colophon'/>
462
- </body>
463
- OUTPUT
464
- expect(xmlpp(IsoDoc::Iec::WordConvert.new({}).convert("test", input, true)
465
- .sub(/^.*<body /m, "<body ").sub(%r{</body>.*$}m, "</body>")))
466
- .to be_equivalent_to xmlpp(output)
467
- end
468
-
469
- it "does not add colophon to draft standard (Word)" do
470
- input = <<~INPUT
471
- <iso-standard xmlns="http://riboseinc.com/isoxml">
472
- <bibdata>
473
- <status>
474
- <stage abbreviation="CD">30</stage>
475
- <substage abbreviation="CD">00</substage>
476
- </status>
477
- </bibdata>
478
- <sections>
479
- </sections>
480
- </iso-standard>
481
- INPUT
482
- output = <<~OUTPUT
483
- <body lang="EN-US" link="blue" vlink="#954F72">
484
- <div class="WordSection2">
485
- <p>
486
- <br clear="all" style="mso-special-character:line-break;page-break-before:always"/>
487
- </p>
488
- #{IEC_TITLE}
489
- <div id="">
490
- <h1 class="ForewordTitle">FOREWORD</h1>
491
- <div class="boilerplate_legal"/>
492
- </div>
493
- <p>&#160;</p>
494
- </div>
495
- <p><br clear="all" class="section"/></p>
496
- <div class="WordSection3">
497
- #{IEC_TITLE1}
498
- </div>
499
- </body>
500
- OUTPUT
501
- expect(xmlpp(IsoDoc::Iec::WordConvert.new({})
502
- .convert("test", input, true)
503
- .sub(/^.*<body /m, "<body ")
504
- .sub(%r{</body>.*$}m, "</body>")))
505
- .to be_equivalent_to xmlpp(output)
506
- end
507
-
508
- it "adds boilerplate to foreword" do
509
- input = <<~INPUT
510
- <iso-standard xmlns="http://riboseinc.com/isoxml">
511
- <bibdata>
512
- <ext><doctype>International Standard</doctype></ext>
513
- </bibdata>
514
- <boilerplate>
515
- <legal-statement>
516
- <p>Boilerplate</p>
517
- </legal-statement>
518
- </boilerplate>
519
- <sections/>
520
- </iso-standard>
521
- INPUT
522
- output = <<~OUTPUT
523
- #{HTML_HDR}
524
- <div id="">
525
- <h1 class="ForewordTitle">FOREWORD</h1>
526
- <div class="boilerplate_legal">
527
- <p>Boilerplate</p>
528
- </div>
529
- </div>
530
- #{IEC_TITLE1}
531
- </div>
532
- </body>
533
- </html>
534
- OUTPUT
535
- expect(xmlpp(IsoDoc::Iec::HtmlConvert.new({})
536
- .convert("test", input, true))).to be_equivalent_to xmlpp(output)
537
- end
538
-
539
- it "does not add boilerplate to foreword in amendments" do
540
- input = <<~INPUT
541
- <iso-standard xmlns="http://riboseinc.com/isoxml">
542
- <bibdata>
543
- <ext><doctype>Amendment</doctype></ext>
544
- </bibdata>
545
- <boilerplate>
546
- <legal-statement>
547
- <p>Boilerplate</p>
548
- </legal-statement>
549
- </boilerplate>
550
- <sections/>
551
- </iso-standard>
552
- INPUT
553
- output = <<~OUTPUT
554
- #{HTML_HDR}
555
- <div id="">
556
- <h1 class="ForewordTitle">FOREWORD</h1>
557
- </div>
558
- #{IEC_TITLE1}
559
- </div>
560
- </body>
561
- </html>
562
- OUTPUT
563
- expect(xmlpp(IsoDoc::Iec::HtmlConvert.new({})
564
- .convert("test", input, true))).to be_equivalent_to xmlpp(output)
565
- end
566
- end