metanorma-iso 1.8.4 → 1.9.0.1
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.
- checksums.yaml +4 -4
- data/.github/workflows/rake.yml +1 -1
- data/.rubocop.yml +1 -1
- data/lib/asciidoctor/iso/cleanup.rb +0 -1
- data/lib/asciidoctor/iso/isodoc.rng +50 -8
- data/lib/asciidoctor/iso/isostandard.rng +7 -3
- data/lib/asciidoctor/iso/section.rb +3 -0
- data/lib/asciidoctor/iso/validate.rb +4 -17
- data/lib/asciidoctor/iso/validate_section.rb +50 -34
- data/lib/asciidoctor/iso/validate_style.rb +3 -3
- data/lib/isodoc/iso/base_convert.rb +41 -16
- data/lib/isodoc/iso/html/isodoc.css +475 -20
- data/lib/isodoc/iso/html/isodoc.scss +456 -23
- data/lib/isodoc/iso/html/wordstyle.css +202 -31
- data/lib/isodoc/iso/html/wordstyle.scss +194 -32
- data/lib/isodoc/iso/iso.amendment.xsl +480 -388
- data/lib/isodoc/iso/iso.international-standard.xsl +480 -388
- data/lib/isodoc/iso/isosts_convert.rb +12 -13
- data/lib/isodoc/iso/metadata.rb +2 -2
- data/lib/isodoc/iso/presentation_xml_convert.rb +62 -9
- data/lib/isodoc/iso/sts_convert.rb +4 -5
- data/lib/isodoc/iso/word_convert.rb +153 -39
- data/lib/isodoc/iso/xref.rb +17 -1
- data/lib/metanorma/iso/version.rb +1 -1
- data/metanorma-iso.gemspec +4 -4
- data/spec/asciidoctor/section_spec.rb +128 -7
- data/spec/asciidoctor/validate_spec.rb +15 -15
- data/spec/isodoc/amd_spec.rb +193 -201
- data/spec/isodoc/blocks_spec.rb +100 -88
- data/spec/isodoc/i18n_spec.rb +36 -36
- data/spec/isodoc/inline_spec.rb +472 -2
- data/spec/isodoc/iso_spec.rb +86 -138
- data/spec/isodoc/postproc_spec.rb +19 -10
- data/spec/isodoc/ref_spec.rb +6 -6
- data/spec/isodoc/section_spec.rb +394 -276
- data/spec/isodoc/table_spec.rb +166 -231
- data/spec/isodoc/terms_spec.rb +11 -8
- data/spec/isodoc/xref_spec.rb +147 -118
- metadata +8 -8
data/spec/isodoc/table_spec.rb
CHANGED
@@ -1,160 +1,13 @@
|
|
1
1
|
require "spec_helper"
|
2
|
-
|
3
|
-
RSpec.describe IsoDoc do
|
4
|
-
it "processes IsoXML tables (Presentation XML)" do
|
5
|
-
expect(xmlpp(IsoDoc::Iso::PresentationXMLConvert.new({})
|
6
|
-
.convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
7
|
-
<iso-standard xmlns="http://riboseinc.com/isoxml">
|
8
|
-
<preface>
|
9
|
-
<foreword>
|
10
|
-
<table alt="tool tip" id="tableD-1" summary="long desc">
|
11
|
-
<name>Repeatability and reproducibility of
|
12
|
-
<em>husked</em>
|
13
|
-
rice yield</name>
|
14
|
-
<thead>
|
15
|
-
<tr>
|
16
|
-
<td align="left" rowspan="2">Description</td>
|
17
|
-
<td align="center" colspan="4">Rice sample</td>
|
18
|
-
</tr>
|
19
|
-
<tr>
|
20
|
-
<td align="left">Arborio</td>
|
21
|
-
<td align="center">Drago
|
22
|
-
<fn reference="a">
|
23
|
-
<p id="_0fe65e9a-5531-408e-8295-eeff35f41a55">Parboiled rice.</p></fn>
|
24
|
-
</td>
|
25
|
-
<td align="center">Balilla
|
26
|
-
<fn reference="a">
|
27
|
-
<p id="_0fe65e9a-5531-408e-8295-eeff35f41a55">Parboiled rice.</p></fn>
|
28
|
-
</td>
|
29
|
-
<td align="center">Thaibonnet</td>
|
30
|
-
</tr>
|
31
|
-
</thead>
|
32
|
-
<tbody>
|
33
|
-
<tr>
|
34
|
-
<th align="left">Number of laboratories retained after eliminating outliers</th>
|
35
|
-
<td align="center">13</td>
|
36
|
-
<td align="center">11</td>
|
37
|
-
<td align="center">13</td>
|
38
|
-
<td align="center">13</td>
|
39
|
-
</tr>
|
40
|
-
<tr>
|
41
|
-
<td align="left">Mean value, g/100 g</td>
|
42
|
-
<td align="center">81,2</td>
|
43
|
-
<td align="center">82,0</td>
|
44
|
-
<td align="center">81,8</td>
|
45
|
-
<td align="center">77,7</td>
|
46
|
-
</tr>
|
47
|
-
</tbody>
|
48
|
-
<tfoot>
|
49
|
-
<tr>
|
50
|
-
<td align="left">Reproducibility limit,
|
51
|
-
<stem type="AsciiMath">R</stem>
|
52
|
-
(= 2,83
|
53
|
-
<stem type="AsciiMath">s_R</stem>
|
54
|
-
)</td>
|
55
|
-
<td align="center">2,89</td>
|
56
|
-
<td align="center">0,57</td>
|
57
|
-
<td align="center">2,26</td>
|
58
|
-
<td align="center">6,06</td>
|
59
|
-
</tr>
|
60
|
-
</tfoot>
|
61
|
-
<dl>
|
62
|
-
<dt>Drago</dt>
|
63
|
-
<dd>A type of rice</dd>
|
64
|
-
</dl>
|
65
|
-
<note>
|
66
|
-
<p>This is a table about rice</p>
|
67
|
-
</note>
|
68
|
-
</table>
|
69
|
-
</foreword>
|
70
|
-
</preface>
|
71
|
-
</iso-standard>
|
72
|
-
INPUT
|
73
|
-
<?xml version='1.0'?>
|
74
|
-
<iso-standard xmlns='http://riboseinc.com/isoxml' type="presentation">
|
75
|
-
<preface>
|
76
|
-
<foreword>
|
77
|
-
<table id='tableD-1' alt='tool tip' summary='long desc'>
|
78
|
-
<name>
|
79
|
-
Table 1 — Repeatability and reproducibility of
|
80
|
-
<em>husked</em>
|
81
|
-
rice yield
|
82
|
-
</name>
|
83
|
-
<thead>
|
84
|
-
<tr>
|
85
|
-
<td rowspan='2' align='left'>Description</td>
|
86
|
-
<td colspan='4' align='center'>Rice sample</td>
|
87
|
-
</tr>
|
88
|
-
<tr>
|
89
|
-
<td align='left'>Arborio</td>
|
90
|
-
<td align='center'>
|
91
|
-
Drago
|
92
|
-
<fn reference='a'>
|
93
|
-
<p id='_0fe65e9a-5531-408e-8295-eeff35f41a55'>Parboiled rice.</p>
|
94
|
-
</fn>
|
95
|
-
</td>
|
96
|
-
<td align='center'>
|
97
|
-
Balilla
|
98
|
-
<fn reference='a'>
|
99
|
-
<p id='_0fe65e9a-5531-408e-8295-eeff35f41a55'>Parboiled rice.</p>
|
100
|
-
</fn>
|
101
|
-
</td>
|
102
|
-
<td align='center'>Thaibonnet</td>
|
103
|
-
</tr>
|
104
|
-
</thead>
|
105
|
-
<tbody>
|
106
|
-
<tr>
|
107
|
-
<th align='left'>Number of laboratories retained after eliminating outliers</th>
|
108
|
-
<td align='center'>13</td>
|
109
|
-
<td align='center'>11</td>
|
110
|
-
<td align='center'>13</td>
|
111
|
-
<td align='center'>13</td>
|
112
|
-
</tr>
|
113
|
-
<tr>
|
114
|
-
<td align='left'>Mean value, g/100 g</td>
|
115
|
-
<td align='center'>81,2</td>
|
116
|
-
<td align='center'>82,0</td>
|
117
|
-
<td align='center'>81,8</td>
|
118
|
-
<td align='center'>77,7</td>
|
119
|
-
</tr>
|
120
|
-
</tbody>
|
121
|
-
<tfoot>
|
122
|
-
<tr>
|
123
|
-
<td align='left'>
|
124
|
-
Reproducibility limit,
|
125
|
-
<stem type='AsciiMath'>R</stem>
|
126
|
-
(= 2,83
|
127
|
-
<stem type='AsciiMath'>s_R</stem>
|
128
|
-
)
|
129
|
-
</td>
|
130
|
-
<td align='center'>2,89</td>
|
131
|
-
<td align='center'>0,57</td>
|
132
|
-
<td align='center'>2,26</td>
|
133
|
-
<td align='center'>6,06</td>
|
134
|
-
</tr>
|
135
|
-
</tfoot>
|
136
|
-
<dl>
|
137
|
-
<dt>Drago</dt>
|
138
|
-
<dd>A type of rice</dd>
|
139
|
-
</dl>
|
140
|
-
<note>
|
141
|
-
<name>NOTE</name>
|
142
|
-
<p>This is a table about rice</p>
|
143
|
-
</note>
|
144
|
-
</table>
|
145
|
-
</foreword>
|
146
|
-
</preface>
|
147
|
-
</iso-standard>
|
148
|
-
OUTPUT
|
149
|
-
end
|
150
2
|
|
151
|
-
|
152
|
-
|
3
|
+
RSpec.describe IsoDoc do
|
4
|
+
it "processes IsoXML tables" do
|
5
|
+
input = <<~INPUT
|
153
6
|
<iso-standard xmlns="http://riboseinc.com/isoxml">
|
154
7
|
<preface>
|
155
8
|
<foreword>
|
156
9
|
<table alt="tool tip" id="tableD-1" summary="long desc">
|
157
|
-
<name>
|
10
|
+
<name>Repeatability and reproducibility of
|
158
11
|
<em>husked</em>
|
159
12
|
rice yield</name>
|
160
13
|
<thead>
|
@@ -193,9 +46,9 @@ RSpec.describe IsoDoc do
|
|
193
46
|
</tbody>
|
194
47
|
<tfoot>
|
195
48
|
<tr>
|
196
|
-
<td align="left">Reproducibility limit,
|
49
|
+
<td align="left">Reproducibility limit,
|
197
50
|
<stem type="AsciiMath">R</stem>
|
198
|
-
(= 2,83
|
51
|
+
(= 2,83
|
199
52
|
<stem type="AsciiMath">s_R</stem>
|
200
53
|
)</td>
|
201
54
|
<td align="center">2,89</td>
|
@@ -209,17 +62,114 @@ RSpec.describe IsoDoc do
|
|
209
62
|
<dd>A type of rice</dd>
|
210
63
|
</dl>
|
211
64
|
<note>
|
212
|
-
<name>NOTE</name>
|
213
65
|
<p>This is a table about rice</p>
|
214
66
|
</note>
|
215
67
|
</table>
|
216
68
|
</foreword>
|
217
69
|
</preface>
|
70
|
+
<annex id="Annex"><title>Annex</title>
|
71
|
+
<table id="AnnexTable">
|
72
|
+
<name>Another table</name>
|
73
|
+
<tbody><td>?</td></tbody>
|
74
|
+
</table>
|
75
|
+
</annex>
|
218
76
|
</iso-standard>
|
219
77
|
INPUT
|
220
|
-
|
221
|
-
|
222
|
-
|
78
|
+
presxml = <<~OUTPUT
|
79
|
+
<?xml version='1.0'?>
|
80
|
+
<iso-standard xmlns='http://riboseinc.com/isoxml' type="presentation">
|
81
|
+
<preface>
|
82
|
+
<foreword displayorder='1'>
|
83
|
+
<table id='tableD-1' alt='tool tip' summary='long desc'>
|
84
|
+
<name>
|
85
|
+
Table 1 — Repeatability and reproducibility of
|
86
|
+
<em>husked</em>
|
87
|
+
rice yield
|
88
|
+
</name>
|
89
|
+
<thead>
|
90
|
+
<tr>
|
91
|
+
<td rowspan='2' align='left'>Description</td>
|
92
|
+
<td colspan='4' align='center'>Rice sample</td>
|
93
|
+
</tr>
|
94
|
+
<tr>
|
95
|
+
<td align='left'>Arborio</td>
|
96
|
+
<td align='center'>
|
97
|
+
Drago
|
98
|
+
<fn reference='a'>
|
99
|
+
<p id='_0fe65e9a-5531-408e-8295-eeff35f41a55'>Parboiled rice.</p>
|
100
|
+
</fn>
|
101
|
+
</td>
|
102
|
+
<td align='center'>
|
103
|
+
Balilla
|
104
|
+
<fn reference='a'>
|
105
|
+
<p id='_0fe65e9a-5531-408e-8295-eeff35f41a55'>Parboiled rice.</p>
|
106
|
+
</fn>
|
107
|
+
</td>
|
108
|
+
<td align='center'>Thaibonnet</td>
|
109
|
+
</tr>
|
110
|
+
</thead>
|
111
|
+
<tbody>
|
112
|
+
<tr>
|
113
|
+
<th align='left'>Number of laboratories retained after eliminating outliers</th>
|
114
|
+
<td align='center'>13</td>
|
115
|
+
<td align='center'>11</td>
|
116
|
+
<td align='center'>13</td>
|
117
|
+
<td align='center'>13</td>
|
118
|
+
</tr>
|
119
|
+
<tr>
|
120
|
+
<td align='left'>Mean value, g/100 g</td>
|
121
|
+
<td align='center'>81,2</td>
|
122
|
+
<td align='center'>82,0</td>
|
123
|
+
<td align='center'>81,8</td>
|
124
|
+
<td align='center'>77,7</td>
|
125
|
+
</tr>
|
126
|
+
</tbody>
|
127
|
+
<tfoot>
|
128
|
+
<tr>
|
129
|
+
<td align='left'>
|
130
|
+
Reproducibility limit,
|
131
|
+
<stem type='AsciiMath'>R</stem>
|
132
|
+
(= 2,83
|
133
|
+
<stem type='AsciiMath'>s_R</stem>
|
134
|
+
)
|
135
|
+
</td>
|
136
|
+
<td align='center'>2,89</td>
|
137
|
+
<td align='center'>0,57</td>
|
138
|
+
<td align='center'>2,26</td>
|
139
|
+
<td align='center'>6,06</td>
|
140
|
+
</tr>
|
141
|
+
</tfoot>
|
142
|
+
<dl>
|
143
|
+
<dt>Drago</dt>
|
144
|
+
<dd>A type of rice</dd>
|
145
|
+
</dl>
|
146
|
+
<note>
|
147
|
+
<name>NOTE</name>
|
148
|
+
<p>This is a table about rice</p>
|
149
|
+
</note>
|
150
|
+
</table>
|
151
|
+
</foreword>
|
152
|
+
</preface>
|
153
|
+
<annex id='Annex' displayorder='2'>
|
154
|
+
<title>
|
155
|
+
<strong>Annex A</strong>
|
156
|
+
<br/>
|
157
|
+
(informative)
|
158
|
+
<br/>
|
159
|
+
<br/>
|
160
|
+
<strong>Annex</strong>
|
161
|
+
</title>
|
162
|
+
<table id='AnnexTable'>
|
163
|
+
<name>Table A.1 — Another table</name>
|
164
|
+
<tbody>
|
165
|
+
<td>?</td>
|
166
|
+
</tbody>
|
167
|
+
</table>
|
168
|
+
</annex>
|
169
|
+
</iso-standard>
|
170
|
+
OUTPUT
|
171
|
+
|
172
|
+
html = <<~OUTPUT
|
223
173
|
<main class='main-section'>
|
224
174
|
<button onclick='topFunction()' id='myBtn' title='Go to top'>Top</button>
|
225
175
|
<br/>
|
@@ -313,81 +263,27 @@ RSpec.describe IsoDoc do
|
|
313
263
|
</table>
|
314
264
|
</div>
|
315
265
|
<p class='zzSTDTitle1'/>
|
266
|
+
<br/>
|
267
|
+
<div id='Annex' class='Section3'>
|
268
|
+
<h1 class='Annex' id='toc1'>
|
269
|
+
<b>Annex A</b>
|
270
|
+
<br/>
|
271
|
+
(informative)
|
272
|
+
<br/>
|
273
|
+
<br/>
|
274
|
+
<b>Annex</b>
|
275
|
+
</h1>
|
276
|
+
<p class='TableTitle' style='text-align:center;'>Table A.1 — Another table</p>
|
277
|
+
<table id='AnnexTable' class='MsoISOTable' style='border-width:1px;border-spacing:0;'>
|
278
|
+
<tbody>
|
279
|
+
<tr/>
|
280
|
+
</tbody>
|
281
|
+
</table>
|
282
|
+
</div>
|
316
283
|
</main>
|
317
284
|
OUTPUT
|
318
|
-
end
|
319
|
-
|
320
|
-
it "processes IsoXML tables (Word)" do
|
321
|
-
IsoDoc::Iso::WordConvert.new({}).convert("test", <<~"INPUT", false)
|
322
|
-
<iso-standard xmlns="http://riboseinc.com/isoxml">
|
323
|
-
<preface>
|
324
|
-
<foreword>
|
325
|
-
<table alt="tool tip" id="tableD-1" summary="long desc">
|
326
|
-
<name>Table 1 — Repeatability and reproducibility of <em>husked</em> rice yield</name>
|
327
|
-
<thead>
|
328
|
-
<tr>
|
329
|
-
<td align="left" rowspan="2">Description</td>
|
330
|
-
<td align="center" colspan="4">Rice sample</td>
|
331
|
-
</tr>
|
332
|
-
<tr>
|
333
|
-
<td align="left">Arborio</td>
|
334
|
-
<td align="center">Drago
|
335
|
-
<fn reference="a">
|
336
|
-
<p id="_0fe65e9a-5531-408e-8295-eeff35f41a55">Parboiled rice.</p></fn>
|
337
|
-
</td>
|
338
|
-
<td align="center">Balilla
|
339
|
-
<fn reference="a">
|
340
|
-
<p id="_0fe65e9a-5531-408e-8295-eeff35f41a55">Parboiled rice.</p></fn>
|
341
|
-
</td>
|
342
|
-
<td align="center">Thaibonnet</td>
|
343
|
-
</tr>
|
344
|
-
</thead>
|
345
|
-
<tbody>
|
346
|
-
<tr>
|
347
|
-
<th align="left">Number of laboratories retained after eliminating outliers</th>
|
348
|
-
<td align="center">13</td>
|
349
|
-
<td align="center">11</td>
|
350
|
-
<td align="center">13</td>
|
351
|
-
<td align="center">13</td>
|
352
|
-
</tr>
|
353
|
-
<tr>
|
354
|
-
<td align="left">Mean value, g/100 g</td>
|
355
|
-
<td align="center">81,2</td>
|
356
|
-
<td align="center">82,0</td>
|
357
|
-
<td align="center">81,8</td>
|
358
|
-
<td align="center">77,7</td>
|
359
|
-
</tr>
|
360
|
-
</tbody>
|
361
|
-
<tfoot>
|
362
|
-
<tr>
|
363
|
-
<td align="left">Reproducibility limit,
|
364
|
-
<stem type="AsciiMath">R</stem>
|
365
|
-
(= 2,83
|
366
|
-
<stem type="AsciiMath">s_R</stem>
|
367
|
-
)</td>
|
368
|
-
<td align="center">2,89</td>
|
369
|
-
<td align="center">0,57</td>
|
370
|
-
<td align="center">2,26</td>
|
371
|
-
<td align="center">6,06</td>
|
372
|
-
</tr>
|
373
|
-
</tfoot>
|
374
|
-
<dl>
|
375
|
-
<dt>Drago</dt>
|
376
|
-
<dd>A type of rice</dd>
|
377
|
-
</dl>
|
378
|
-
<note>
|
379
|
-
<name>NOTE</name>
|
380
|
-
<p>This is a table about rice</p>
|
381
|
-
</note>
|
382
|
-
</table>
|
383
|
-
</foreword>
|
384
|
-
</preface>
|
385
|
-
</iso-standard>
|
386
|
-
INPUT
|
387
285
|
|
388
|
-
|
389
|
-
html = File.read("test.doc").sub(/^.+?<table /m, '<table xmlns:m="m" ').sub(%r{</div>\s*<p class="MsoNormal">.*$}m, "")
|
390
|
-
expect(xmlpp("<div>#{html}")).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
286
|
+
doc = <<~OUTPUT
|
391
287
|
<div>
|
392
288
|
<table class="MsoISOTable" style="mso-table-anchor-horizontal:column;mso-table-overlap:never;border-spacing:0;border-width:1px;" summary="long desc" title="tool tip" xmlns:m="m">
|
393
289
|
<a id="tableD-1" name="tableD-1"/>
|
@@ -423,13 +319,13 @@ RSpec.describe IsoDoc do
|
|
423
319
|
</tbody>
|
424
320
|
<tfoot>
|
425
321
|
<tr>
|
426
|
-
<td align="left" style="border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:0pt;mso-border-bottom-alt:0pt;">Reproducibility limit,
|
322
|
+
<td align="left" style="border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:0pt;mso-border-bottom-alt:0pt;">Reproducibility limit,
|
427
323
|
<span class="stem">
|
428
324
|
<m:oMath>
|
429
325
|
<m:r>
|
430
326
|
<m:t>R</m:t></m:r>
|
431
327
|
</m:oMath>
|
432
|
-
</span>(= 2,83
|
328
|
+
</span>(= 2,83
|
433
329
|
<span class="stem">
|
434
330
|
<m:oMath>
|
435
331
|
<m:sSub>
|
@@ -483,5 +379,44 @@ RSpec.describe IsoDoc do
|
|
483
379
|
</table>
|
484
380
|
</div>
|
485
381
|
OUTPUT
|
382
|
+
doc2 = <<~OUTPUT
|
383
|
+
<div class='Section3'>
|
384
|
+
<a name='Annex' id='Annex'/>
|
385
|
+
<p class='ANNEX'>
|
386
|
+
<br/>
|
387
|
+
(informative)
|
388
|
+
<br/>
|
389
|
+
<br/>
|
390
|
+
<b>Annex</b>
|
391
|
+
</p>
|
392
|
+
<p class='AnnexTableTitle' style='text-align:center;'>Table A.1 — Another table</p>
|
393
|
+
<div align='center' class='table_container'>
|
394
|
+
<table class='MsoISOTable' style='mso-table-anchor-horizontal:column;mso-table-overlap:never;border-spacing:0;border-width:1px;'>
|
395
|
+
<a name='AnnexTable' id='AnnexTable'/>
|
396
|
+
<tbody>
|
397
|
+
<tr/>
|
398
|
+
</tbody>
|
399
|
+
</table>
|
400
|
+
</div>
|
401
|
+
</div>
|
402
|
+
OUTPUT
|
403
|
+
expect(xmlpp(IsoDoc::Iso::PresentationXMLConvert.new({})
|
404
|
+
.convert("test", input, true))).to be_equivalent_to xmlpp(presxml)
|
405
|
+
IsoDoc::Iso::HtmlConvert.new({}).convert("test", presxml, false)
|
406
|
+
expect(File.exist?("test.html")).to be true
|
407
|
+
out = File.read("test.html")
|
408
|
+
.sub(/^.*<main /m, "<main ")
|
409
|
+
.sub(%r{</main>.*$}m, "</main>")
|
410
|
+
expect(xmlpp(out)).to be_equivalent_to xmlpp(html)
|
411
|
+
IsoDoc::Iso::WordConvert.new({}).convert("test", presxml, false)
|
412
|
+
expect(File.exist?("test.doc")).to be true
|
413
|
+
out = File.read("test.doc")
|
414
|
+
.sub(/^.+?<table /m, '<table xmlns:m="m" ')
|
415
|
+
.sub(%r{</div>\s*<p class="MsoNormal">.*$}m, "")
|
416
|
+
expect(xmlpp("<div>#{out}")).to be_equivalent_to xmlpp(doc)
|
417
|
+
out = File.read("test.doc")
|
418
|
+
.sub(/^.+?<div class="Section3"/m, '<div class="Section3"')
|
419
|
+
.sub(%r{</div>\s*<br[^>]+>\s*<div class="colophon".*$}m, "")
|
420
|
+
expect(xmlpp(out)).to be_equivalent_to xmlpp(doc2)
|
486
421
|
end
|
487
422
|
end
|