metanorma-iec 1.3.2 → 1.3.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.
- checksums.yaml +4 -4
- data/lib/asciidoctor/iec/biblio.rng +1 -0
- data/lib/asciidoctor/iec/isodoc.rng +1 -3
- data/lib/isodoc/iec/iec.international-standard.xsl +83 -20
- data/lib/metanorma/iec/version.rb +1 -1
- data/spec/asciidoctor/base_spec.rb +723 -696
- data/spec/asciidoctor/blocks_spec.rb +214 -154
- metadata +2 -2
@@ -1,12 +1,14 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
|
3
|
+
OPTIONS = [backend: :iec, header_footer: true].freeze
|
4
|
+
|
3
5
|
RSpec.describe Asciidoctor::Iec do
|
4
6
|
before(:all) do
|
5
|
-
|
6
|
-
end
|
7
|
+
@blank_hdr = blank_hdr_gen
|
8
|
+
end
|
7
9
|
|
8
10
|
it "processes open blocks" do
|
9
|
-
|
11
|
+
input = <<~INPUT
|
10
12
|
#{ASCIIDOC_BLANK_HDR}
|
11
13
|
--
|
12
14
|
x
|
@@ -16,21 +18,24 @@ end
|
|
16
18
|
z
|
17
19
|
--
|
18
20
|
INPUT
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
21
|
+
output = <<~OUTPUT
|
22
|
+
#{@blank_hdr}
|
23
|
+
<sections><p id="_">x</p>
|
24
|
+
<p id="_">y</p>
|
25
|
+
<p id="_">z</p></sections>
|
26
|
+
</iec-standard>
|
24
27
|
OUTPUT
|
28
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
29
|
+
.to be_equivalent_to xmlpp(output)
|
25
30
|
end
|
26
31
|
|
27
32
|
it "processes stem blocks" do
|
28
|
-
|
33
|
+
input = <<~INPUT
|
29
34
|
#{ASCIIDOC_BLANK_HDR}
|
30
35
|
[stem]
|
31
36
|
++++
|
32
|
-
r = 1
|
33
|
-
r = 1
|
37
|
+
r = 1 %#{' '}
|
38
|
+
r = 1 %#{' '}
|
34
39
|
++++
|
35
40
|
|
36
41
|
[stem]
|
@@ -38,22 +43,25 @@ end
|
|
38
43
|
<mml:math><mml:msub xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math"> <mml:mrow> <mml:mrow> <mml:mi mathvariant="bold-italic">F</mml:mi> </mml:mrow> </mml:mrow> <mml:mrow> <mml:mrow> <mml:mi mathvariant="bold-italic">Α</mml:mi> </mml:mrow> </mml:mrow> </mml:msub> </mml:math>
|
39
44
|
++++
|
40
45
|
INPUT
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
46
|
+
output = <<~OUTPUT
|
47
|
+
#{@blank_hdr}
|
48
|
+
<sections>
|
49
|
+
<formula id="_">
|
50
|
+
<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>
|
51
|
+
</formula>
|
52
|
+
|
53
|
+
<formula id="_">
|
54
|
+
<stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub> <mrow> <mrow> <mi mathvariant="bold-italic">F</mi> </mrow> </mrow> <mrow> <mrow> <mi mathvariant="bold-italic">Α</mi> </mrow> </mrow> </msub> </math></stem>
|
55
|
+
</formula>
|
56
|
+
</sections>
|
57
|
+
</iec-standard>
|
52
58
|
OUTPUT
|
59
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
60
|
+
.to be_equivalent_to xmlpp(output)
|
53
61
|
end
|
54
62
|
|
55
|
-
|
56
|
-
|
63
|
+
it "ignores review blocks unless document is in draft mode" do
|
64
|
+
input = <<~INPUT
|
57
65
|
#{ASCIIDOC_BLANK_HDR}
|
58
66
|
[[foreword]]
|
59
67
|
.Foreword
|
@@ -65,16 +73,19 @@ end
|
|
65
73
|
|
66
74
|
For further information on the Foreword, see *ISO/IEC Directives, Part 2, 2016, Clause 12.*
|
67
75
|
****
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
76
|
+
INPUT
|
77
|
+
output = <<~OUTPUT
|
78
|
+
#{@blank_hdr}
|
79
|
+
<sections><p id="foreword">Foreword</p>
|
80
|
+
</sections>
|
81
|
+
</iec-standard>
|
82
|
+
OUTPUT
|
83
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
84
|
+
.to be_equivalent_to xmlpp(output)
|
85
|
+
end
|
75
86
|
|
76
87
|
it "processes review blocks if document is in draft mode" do
|
77
|
-
|
88
|
+
input = <<~INPUT
|
78
89
|
= Document title
|
79
90
|
Author
|
80
91
|
:docfile: test.adoc
|
@@ -93,80 +104,94 @@ end
|
|
93
104
|
|
94
105
|
For further information on the Foreword, see *ISO/IEC Directives, Part 2, 2016, Clause 12.*
|
95
106
|
****
|
96
|
-
|
107
|
+
INPUT
|
108
|
+
output = <<~OUTPUT
|
97
109
|
<sections>
|
98
110
|
<p id="foreword">Foreword</p>
|
99
111
|
<review reviewer="ISO" id="_" date="20170101T00:00:00Z" from="foreword" to="foreword"><p id="_">A Foreword shall appear in each document. The generic text is shown here. It does not contain requirements, recommendations or permissions.</p>
|
100
112
|
<p id="_">For further information on the Foreword, see <strong>ISO/IEC Directives, Part 2, 2016, Clause 12.</strong></p></review></sections>
|
101
113
|
|
102
|
-
|
114
|
+
OUTPUT
|
115
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))
|
116
|
+
.sub(/^.+<sections>/m, "<sections>")
|
117
|
+
.sub(%r{</sections>.*$}m, "</sections>")))
|
118
|
+
.to be_equivalent_to xmlpp(output)
|
103
119
|
end
|
104
120
|
|
105
121
|
it "processes term notes" do
|
106
|
-
|
122
|
+
input = <<~INPUT
|
107
123
|
#{ASCIIDOC_BLANK_HDR}
|
108
124
|
== Terms and Definitions
|
109
125
|
|
110
126
|
=== Term1
|
111
127
|
|
112
128
|
NOTE: This is a note
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
129
|
+
INPUT
|
130
|
+
output = <<~OUTPUT
|
131
|
+
#{@blank_hdr}
|
132
|
+
<sections>
|
133
|
+
<terms id="_" obligation="normative">
|
134
|
+
<title>Terms and definitions</title>
|
135
|
+
<p id="_">For the purposes of this document, the following terms and definitions apply.</p>
|
136
|
+
#{TERMS_BOILERPLATE}
|
137
|
+
<term id="term-term1">
|
138
|
+
<preferred>Term1</preferred>
|
139
|
+
<termnote id="_">
|
140
|
+
<p id="_">This is a note</p>
|
141
|
+
</termnote>
|
142
|
+
</term>
|
143
|
+
</terms>
|
144
|
+
</sections>
|
145
|
+
</iec-standard>
|
146
|
+
OUTPUT
|
147
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
148
|
+
.to be_equivalent_to xmlpp(output)
|
130
149
|
end
|
131
150
|
|
132
|
-
|
133
|
-
|
151
|
+
it "processes notes" do
|
152
|
+
input = <<~INPUT
|
134
153
|
#{ASCIIDOC_BLANK_HDR}
|
135
154
|
NOTE: This is a note
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
155
|
+
INPUT
|
156
|
+
output = <<~OUTPUT
|
157
|
+
#{@blank_hdr}
|
158
|
+
<sections>
|
159
|
+
<note id="_">
|
160
|
+
<p id="_">This is a note</p>
|
161
|
+
</note>
|
162
|
+
</sections>
|
163
|
+
</iec-standard>
|
164
|
+
OUTPUT
|
165
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
166
|
+
.to be_equivalent_to xmlpp(output)
|
167
|
+
end
|
147
168
|
|
148
|
-
|
149
|
-
|
169
|
+
it "processes literals" do
|
170
|
+
input = <<~INPUT
|
150
171
|
#{ASCIIDOC_BLANK_HDR}
|
151
172
|
....
|
152
173
|
LITERAL
|
153
174
|
....
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
</
|
160
|
-
</
|
161
|
-
</
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
175
|
+
INPUT
|
176
|
+
output = <<~OUTPUT
|
177
|
+
#{@blank_hdr}
|
178
|
+
<sections>
|
179
|
+
<figure id="_">
|
180
|
+
<pre id="_">LITERAL</pre>
|
181
|
+
</figure>
|
182
|
+
</sections>
|
183
|
+
</iec-standard>
|
184
|
+
OUTPUT
|
185
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
186
|
+
.to be_equivalent_to xmlpp(output)
|
187
|
+
end
|
188
|
+
|
189
|
+
it "processes simple admonitions with Asciidoc names" do
|
190
|
+
input = <<~INPUT
|
167
191
|
#{ASCIIDOC_BLANK_HDR}
|
168
192
|
CAUTION: Only use paddy or parboiled rice for the determination of husked rice yield.
|
169
|
-
|
193
|
+
INPUT
|
194
|
+
output = <<~OUTPUT
|
170
195
|
#{@blank_hdr}
|
171
196
|
<sections>
|
172
197
|
<admonition id="_" type="caution">
|
@@ -174,13 +199,13 @@ end
|
|
174
199
|
</admonition>
|
175
200
|
</sections>
|
176
201
|
</iec-standard>
|
202
|
+
OUTPUT
|
203
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
204
|
+
.to be_equivalent_to xmlpp(output)
|
205
|
+
end
|
177
206
|
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
it "processes complex admonitions with non-Asciidoc names" do
|
183
|
-
expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iec, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
207
|
+
it "processes complex admonitions with non-Asciidoc names" do
|
208
|
+
input = <<~INPUT
|
184
209
|
#{ASCIIDOC_BLANK_HDR}
|
185
210
|
[CAUTION,type=Safety Precautions]
|
186
211
|
.Safety Precautions
|
@@ -191,7 +216,8 @@ end
|
|
191
216
|
. More than two glasses of orange juice in 24 hours makes them howl in harmony with alarms and sirens.
|
192
217
|
. Celery makes them sad.
|
193
218
|
====
|
194
|
-
|
219
|
+
INPUT
|
220
|
+
output = <<~OUTPUT
|
195
221
|
#{@blank_hdr}
|
196
222
|
<sections>
|
197
223
|
<admonition id="_" type="safety precautions"><name>Safety Precautions</name><p id="_">While werewolves are hardy community members, keep in mind the following dietary concerns:</p>
|
@@ -208,12 +234,13 @@ end
|
|
208
234
|
</ol></admonition>
|
209
235
|
</sections>
|
210
236
|
</iec-standard>
|
237
|
+
OUTPUT
|
238
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
239
|
+
.to be_equivalent_to xmlpp(output)
|
240
|
+
end
|
211
241
|
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
it "processes term examples" do
|
216
|
-
expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iec, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
242
|
+
it "processes term examples" do
|
243
|
+
input = <<~INPUT
|
217
244
|
#{ASCIIDOC_BLANK_HDR}
|
218
245
|
== Terms and Definitions
|
219
246
|
|
@@ -221,7 +248,8 @@ end
|
|
221
248
|
|
222
249
|
[example]
|
223
250
|
This is an example
|
224
|
-
|
251
|
+
INPUT
|
252
|
+
output = <<~OUTPUT
|
225
253
|
#{@blank_hdr}
|
226
254
|
<sections>
|
227
255
|
<terms id="_" obligation="normative">
|
@@ -237,12 +265,13 @@ end
|
|
237
265
|
</terms>
|
238
266
|
</sections>
|
239
267
|
</iec-standard>
|
268
|
+
OUTPUT
|
269
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
270
|
+
.to be_equivalent_to xmlpp(output)
|
271
|
+
end
|
240
272
|
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
it "processes examples" do
|
245
|
-
expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iec, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
273
|
+
it "processes examples" do
|
274
|
+
input = <<~INPUT
|
246
275
|
#{ASCIIDOC_BLANK_HDR}
|
247
276
|
[example]
|
248
277
|
====
|
@@ -250,23 +279,27 @@ end
|
|
250
279
|
|
251
280
|
Amen
|
252
281
|
====
|
253
|
-
|
282
|
+
INPUT
|
283
|
+
output = <<~OUTPUT
|
254
284
|
#{@blank_hdr}
|
255
285
|
<sections>
|
256
286
|
<example id="_"><p id="_">This is an example</p>
|
257
287
|
<p id="_">Amen</p></example>
|
258
288
|
</sections>
|
259
289
|
</iec-standard>
|
260
|
-
|
261
|
-
|
290
|
+
OUTPUT
|
291
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
292
|
+
.to be_equivalent_to xmlpp(output)
|
293
|
+
end
|
262
294
|
|
263
|
-
|
264
|
-
|
295
|
+
it "processes preambles" do
|
296
|
+
input = <<~INPUT
|
265
297
|
#{ASCIIDOC_BLANK_HDR}
|
266
298
|
This is a preamble
|
267
299
|
|
268
300
|
== Section 1
|
269
|
-
|
301
|
+
INPUT
|
302
|
+
output = <<~OUTPUT
|
270
303
|
#{@blank_hdr}
|
271
304
|
<preface><foreword id="_" obligation="informative">
|
272
305
|
<title>FOREWORD</title>
|
@@ -276,16 +309,19 @@ end
|
|
276
309
|
<title>Section 1</title>
|
277
310
|
</clause></sections>
|
278
311
|
</iec-standard>
|
279
|
-
|
280
|
-
|
312
|
+
OUTPUT
|
313
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
314
|
+
.to be_equivalent_to xmlpp(output)
|
315
|
+
end
|
281
316
|
|
282
|
-
|
283
|
-
|
317
|
+
it "processes images" do
|
318
|
+
input = <<~INPUT
|
284
319
|
#{ASCIIDOC_BLANK_HDR}
|
285
320
|
.Split-it-right sample divider
|
286
321
|
image::spec/examples/rice_images/rice_image1.png[]
|
287
322
|
|
288
|
-
|
323
|
+
INPUT
|
324
|
+
output = <<~OUTPUT
|
289
325
|
#{@blank_hdr}
|
290
326
|
<sections>
|
291
327
|
<figure id="_">
|
@@ -294,16 +330,19 @@ end
|
|
294
330
|
</figure>
|
295
331
|
</sections>
|
296
332
|
</iec-standard>
|
297
|
-
|
298
|
-
|
333
|
+
OUTPUT
|
334
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
335
|
+
.to be_equivalent_to xmlpp(output)
|
336
|
+
end
|
299
337
|
|
300
|
-
|
301
|
-
|
338
|
+
it "accepts width and height attributes on images" do
|
339
|
+
input = <<~INPUT
|
302
340
|
#{ASCIIDOC_BLANK_HDR}
|
303
341
|
[height=4,width=3]
|
304
342
|
image::spec/examples/rice_images/rice_image1.png[]
|
305
343
|
|
306
|
-
|
344
|
+
INPUT
|
345
|
+
output = <<~OUTPUT
|
307
346
|
#{@blank_hdr}
|
308
347
|
<sections>
|
309
348
|
<figure id="_">
|
@@ -311,16 +350,19 @@ end
|
|
311
350
|
</figure>
|
312
351
|
</sections>
|
313
352
|
</iec-standard>
|
314
|
-
|
315
|
-
|
353
|
+
OUTPUT
|
354
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
355
|
+
.to be_equivalent_to xmlpp(output)
|
356
|
+
end
|
316
357
|
|
317
|
-
|
318
|
-
|
358
|
+
it "accepts auto for width and height attributes on images" do
|
359
|
+
input = <<~INPUT
|
319
360
|
#{ASCIIDOC_BLANK_HDR}
|
320
361
|
[height=4,width=auto]
|
321
362
|
image::spec/examples/rice_images/rice_image1.png[]
|
322
363
|
|
323
|
-
|
364
|
+
INPUT
|
365
|
+
output = <<~OUTPUT
|
324
366
|
#{@blank_hdr}
|
325
367
|
<sections>
|
326
368
|
<figure id="_">
|
@@ -328,31 +370,37 @@ end
|
|
328
370
|
</figure>
|
329
371
|
</sections>
|
330
372
|
</iec-standard>
|
331
|
-
|
332
|
-
|
373
|
+
OUTPUT
|
374
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
375
|
+
.to be_equivalent_to xmlpp(output)
|
376
|
+
end
|
333
377
|
|
334
|
-
|
335
|
-
|
378
|
+
it "accepts alignment attribute on paragraphs" do
|
379
|
+
input = <<~INPUT
|
336
380
|
#{ASCIIDOC_BLANK_HDR}
|
337
381
|
[align=right]
|
338
382
|
This para is right-aligned.
|
339
|
-
|
383
|
+
INPUT
|
384
|
+
output = <<~OUTPUT
|
340
385
|
#{@blank_hdr}
|
341
386
|
<sections>
|
342
387
|
<p align="right" id="_">This para is right-aligned.</p>
|
343
388
|
</sections>
|
344
389
|
</iec-standard>
|
345
|
-
|
346
|
-
|
390
|
+
OUTPUT
|
391
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
392
|
+
.to be_equivalent_to xmlpp(output)
|
393
|
+
end
|
347
394
|
|
348
|
-
|
349
|
-
|
395
|
+
it "processes blockquotes" do
|
396
|
+
input = <<~INPUT
|
350
397
|
#{ASCIIDOC_BLANK_HDR}
|
351
398
|
[quote, ISO, "ISO7301,section 1"]
|
352
399
|
____
|
353
400
|
Block quotation
|
354
401
|
____
|
355
|
-
|
402
|
+
INPUT
|
403
|
+
output = <<~OUTPUT
|
356
404
|
#{@blank_hdr}
|
357
405
|
<sections>
|
358
406
|
<quote id="_">
|
@@ -362,11 +410,13 @@ end
|
|
362
410
|
</quote>
|
363
411
|
</sections>
|
364
412
|
</iec-standard>
|
365
|
-
|
366
|
-
|
413
|
+
OUTPUT
|
414
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
415
|
+
.to be_equivalent_to xmlpp(output)
|
416
|
+
end
|
367
417
|
|
368
|
-
|
369
|
-
|
418
|
+
it "processes source code" do
|
419
|
+
input = <<~INPUT
|
370
420
|
#{ASCIIDOC_BLANK_HDR}
|
371
421
|
[source,ruby]
|
372
422
|
--
|
@@ -375,7 +425,8 @@ end
|
|
375
425
|
puts x
|
376
426
|
end
|
377
427
|
--
|
378
|
-
|
428
|
+
INPUT
|
429
|
+
output = <<~OUTPUT
|
379
430
|
#{@blank_hdr}
|
380
431
|
<sections>
|
381
432
|
<sourcecode lang="ruby" id="_">puts "Hello, world."
|
@@ -384,11 +435,13 @@ end
|
|
384
435
|
end</sourcecode>
|
385
436
|
</sections>
|
386
437
|
</iec-standard>
|
387
|
-
|
388
|
-
|
438
|
+
OUTPUT
|
439
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
440
|
+
.to be_equivalent_to xmlpp(output)
|
441
|
+
end
|
389
442
|
|
390
|
-
|
391
|
-
|
443
|
+
it "processes callouts" do
|
444
|
+
input = <<~INPUT
|
392
445
|
#{ASCIIDOC_BLANK_HDR}
|
393
446
|
[source,ruby]
|
394
447
|
--
|
@@ -399,7 +452,8 @@ end
|
|
399
452
|
--
|
400
453
|
<1> This is one callout
|
401
454
|
<2> This is another callout
|
402
|
-
|
455
|
+
INPUT
|
456
|
+
output = <<~OUTPUT
|
403
457
|
#{@blank_hdr}
|
404
458
|
<sections><sourcecode lang="ruby" id="_">puts "Hello, world." <callout target="_">1</callout>
|
405
459
|
%w{a b c}.each do |x|
|
@@ -411,11 +465,13 @@ end
|
|
411
465
|
</annotation></sourcecode>
|
412
466
|
</sections>
|
413
467
|
</iec-standard>
|
414
|
-
|
415
|
-
|
468
|
+
OUTPUT
|
469
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
470
|
+
.to be_equivalent_to xmlpp(output)
|
471
|
+
end
|
416
472
|
|
417
|
-
|
418
|
-
|
473
|
+
it "processes unmodified term sources" do
|
474
|
+
input = <<~INPUT
|
419
475
|
#{ASCIIDOC_BLANK_HDR}
|
420
476
|
== Terms and Definitions
|
421
477
|
|
@@ -423,7 +479,8 @@ end
|
|
423
479
|
|
424
480
|
[.source]
|
425
481
|
<<ISO2191,section=1>>
|
426
|
-
|
482
|
+
INPUT
|
483
|
+
output = <<~OUTPUT
|
427
484
|
#{@blank_hdr}
|
428
485
|
<sections>
|
429
486
|
<terms id="_" obligation="normative">
|
@@ -443,11 +500,13 @@ end
|
|
443
500
|
</terms>
|
444
501
|
</sections>
|
445
502
|
</iec-standard>
|
446
|
-
|
447
|
-
|
503
|
+
OUTPUT
|
504
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
505
|
+
.to be_equivalent_to xmlpp(output)
|
506
|
+
end
|
448
507
|
|
449
|
-
|
450
|
-
|
508
|
+
it "processes modified term sources" do
|
509
|
+
input = <<~INPUT
|
451
510
|
#{ASCIIDOC_BLANK_HDR}
|
452
511
|
== Terms and Definitions
|
453
512
|
|
@@ -455,7 +514,8 @@ end
|
|
455
514
|
|
456
515
|
[.source]
|
457
516
|
<<ISO2191,section=1>>, with adjustments
|
458
|
-
|
517
|
+
INPUT
|
518
|
+
output = <<~OUTPUT
|
459
519
|
#{@blank_hdr}
|
460
520
|
<sections>
|
461
521
|
<terms id="_" obligation="normative">
|
@@ -478,8 +538,8 @@ end
|
|
478
538
|
</terms>
|
479
539
|
</sections>
|
480
540
|
</iec-standard>
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
541
|
+
OUTPUT
|
542
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
543
|
+
.to be_equivalent_to xmlpp(output)
|
544
|
+
end
|
485
545
|
end
|