metanorma-bsi 0.0.1 → 0.1.0

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.

Potentially problematic release.


This version of metanorma-bsi might be problematic. Click here for more details.

Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +43 -0
  3. data/.github/workflows/release_github_packages.yml +49 -0
  4. data/.hound.yml +3 -1
  5. data/.rubocop.yml +4 -8
  6. data/README.adoc +95 -11
  7. data/lib/asciidoctor/bsi/biblio.rng +1 -0
  8. data/lib/asciidoctor/bsi/bsi.rng +32 -4
  9. data/lib/asciidoctor/bsi/bsi_intro_en.xml +87 -61
  10. data/lib/asciidoctor/bsi/cleanup.rb +15 -8
  11. data/lib/asciidoctor/bsi/cleanup_ref.rb +10 -21
  12. data/lib/asciidoctor/bsi/converter.rb +7 -5
  13. data/lib/asciidoctor/bsi/front.rb +26 -5
  14. data/lib/asciidoctor/bsi/isodoc.rng +191 -3
  15. data/lib/asciidoctor/bsi/isostandard.rng +12 -0
  16. data/lib/asciidoctor/bsi/validate.rb +5 -6
  17. data/lib/asciidoctor/bsi/validate_list.rb +2 -2
  18. data/lib/isodoc/bsi/base_convert.rb +2 -1
  19. data/lib/isodoc/bsi/bsi.international-standard.xsl +3380 -2349
  20. data/lib/isodoc/bsi/html/htmlstyle.css +43 -22
  21. data/lib/isodoc/bsi/html/htmlstyle.scss +46 -22
  22. data/lib/isodoc/bsi/html_convert.rb +2 -2
  23. data/lib/isodoc/bsi/i18n-en.yaml +4 -4
  24. data/lib/isodoc/bsi/metadata.rb +2 -2
  25. data/lib/isodoc/bsi/presentation_xml_convert.rb +26 -5
  26. data/lib/isodoc/bsi/xref.rb +11 -4
  27. data/lib/metanorma/bsi/version.rb +1 -1
  28. data/metanorma-bsi.gemspec +2 -2
  29. data/spec/asciidoctor/base_spec.rb +564 -494
  30. data/spec/asciidoctor/blocks_spec.rb +192 -195
  31. data/spec/asciidoctor/cleanup_spec.rb +361 -361
  32. data/spec/asciidoctor/refs_spec.rb +8 -78
  33. data/spec/asciidoctor/section_spec.rb +227 -227
  34. data/spec/asciidoctor/validate_spec.rb +26 -1
  35. data/spec/isodoc/blocks_spec.rb +56 -21
  36. data/spec/isodoc/i18n_spec.rb +156 -234
  37. data/spec/isodoc/inline_spec.rb +7 -7
  38. data/spec/isodoc/iso_spec.rb +4 -4
  39. data/spec/isodoc/metadata_spec.rb +0 -1
  40. data/spec/isodoc/ref_spec.rb +7 -7
  41. data/spec/isodoc/section_spec.rb +400 -343
  42. data/spec/isodoc/terms_spec.rb +224 -225
  43. data/spec/isodoc/xref_spec.rb +1347 -1360
  44. data/spec/metanorma/processor_spec.rb +37 -40
  45. data/spec/spec_helper.rb +6 -4
  46. data/spec/vcr_cassettes/iso-639.yml +19 -19
  47. data/spec/vcr_cassettes/isobib_get_639_1967.yml +17 -17
  48. data/spec/vcr_cassettes/multistandard.yml +15 -193
  49. metadata +7 -5
@@ -12,11 +12,11 @@ RSpec.describe Asciidoctor::BSI do
12
12
 
13
13
  it "processes a blank document" do
14
14
  expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :bsi, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
15
- #{ASCIIDOC_BLANK_HDR}
15
+ #{ASCIIDOC_BLANK_HDR}
16
16
  INPUT
17
- #{@blank_hdr}
18
- <sections/>
19
- </bsi-standard>
17
+ #{@blank_hdr}
18
+ <sections/>
19
+ </bsi-standard>
20
20
  OUTPUT
21
21
  end
22
22
 
@@ -90,95 +90,107 @@ RSpec.describe Asciidoctor::BSI do
90
90
  :secretary: Fred Nerk
91
91
  :interest-to-committees: TC 6121, SC 12
92
92
  :obsoletes: ABC; DEF
93
+ :bsi-related: Committee reference DEF/1;Draft for comment 20/30387670 DC
93
94
  INPUT
94
- <bibdata type="standard">
95
- <title language="en" format="text/plain" type="main">Introduction — Main Title — Title — Title Part</title>
96
- <title language="en" format="text/plain" type="title-intro">Introduction</title>
97
- <title language="en" format="text/plain" type="title-main">Main Title — Title</title>
98
- <title language="en" format="text/plain" type="title-part">Title Part</title>
99
- <title language="fr" format="text/plain" type="main">Introduction Française — Titre Principal — Part du Titre</title>
100
- <title language="fr" format="text/plain" type="title-intro">Introduction Française</title>
101
- <title language="fr" format="text/plain" type="title-main">Titre Principal</title>
102
- <title language="fr" format="text/plain" type="title-part">Part du Titre</title>
103
- <docidentifier type="BS">BS/PreNP 1000-1</docidentifier>
104
- <docnumber>1000</docnumber>
105
- <contributor>
106
- <role type="author"/>
107
- <organization>
108
- <name>British Standards Institute</name>
109
- <abbreviation>BSI</abbreviation>
110
- </organization>
111
- </contributor>
112
- <contributor>
113
- <role type="publisher"/>
114
- <organization>
115
- <name>British Standards Institute</name>
116
- <abbreviation>BSI</abbreviation>
117
- </organization>
118
- </contributor>
119
- <edition>2</edition>
120
- <version>
121
- <revision-date>2000-01-01</revision-date>
122
- <draft>0.3.4</draft>
123
- </version>
124
- <language>en</language>
125
- <script>Latn</script>
126
- <status>
127
- <stage abbreviation="NP">10</stage>
128
- <substage>20</substage>
129
- <iteration>3</iteration>
130
- </status>
131
- <copyright>
132
- <from>#{Date.today.year}</from>
133
- <owner>
134
- <organization>
135
- <name>British Standards Institute</name>
136
- <abbreviation>BSI</abbreviation>
137
- </organization>
138
- </owner>
139
- </copyright>
140
- <relation type='obsoletes'>
141
- <bibitem>
142
- <title>--</title>
143
- <docidentifier>ABC</docidentifier>
144
- </bibitem>
145
- </relation>
146
- <relation type='obsoletes'>
147
- <bibitem>
148
- <title>--</title>
149
- <docidentifier>DEF</docidentifier>
150
- </bibitem>
151
- </relation>
152
- <ext>
153
- <doctype>article</doctype>
154
- <editorialgroup>
155
- <technical-committee number="1" type="A">TC</technical-committee>
156
- <technical-committee number="11" type="A1">TC1</technical-committee>
157
- <subcommittee number="2" type="B">SC</subcommittee>
158
- <subcommittee number="21" type="B1">SC1</subcommittee>
159
- <workgroup number="3" type="C">WG</workgroup>
160
- <workgroup number="31" type="C1">WG1</workgroup>
161
- <secretariat>SECRETARIAT</secretariat>
162
- </editorialgroup>
163
- <ics>
164
- <code>1</code>
165
- </ics>
166
- <ics>
167
- <code>2</code>
168
- </ics>
169
- <ics>
170
- <code>3</code>
171
- </ics>
172
- <structuredidentifier>
173
- <project-number part="1">BS 1000</project-number>
174
- </structuredidentifier>
175
- <stagename>New work item proposal</stagename>
176
- </ext>
177
- </bibdata>
95
+ <bibdata type="standard">
96
+ <title language="en" format="text/plain" type="main">Introduction — Main Title — Title — Title Part</title>
97
+ <title language="en" format="text/plain" type="title-intro">Introduction</title>
98
+ <title language="en" format="text/plain" type="title-main">Main Title — Title</title>
99
+ <title language="en" format="text/plain" type="title-part">Title Part</title>
100
+ <title language="fr" format="text/plain" type="main">Introduction Française — Titre Principal — Part du Titre</title>
101
+ <title language="fr" format="text/plain" type="title-intro">Introduction Française</title>
102
+ <title language="fr" format="text/plain" type="title-main">Titre Principal</title>
103
+ <title language="fr" format="text/plain" type="title-part">Part du Titre</title>
104
+ <docidentifier type="BS">BS/PreNP 1000-1</docidentifier>
105
+ <docnumber>1000</docnumber>
106
+ <contributor>
107
+ <role type="author"/>
108
+ <organization>
109
+ <name>British Standards Institution</name>
110
+ <abbreviation>BSI</abbreviation>
111
+ </organization>
112
+ </contributor>
113
+ <contributor>
114
+ <role type="publisher"/>
115
+ <organization>
116
+ <name>British Standards Institution</name>
117
+ <abbreviation>BSI</abbreviation>
118
+ </organization>
119
+ </contributor>
120
+ <edition>2</edition>
121
+ <version>
122
+ <revision-date>2000-01-01</revision-date>
123
+ <draft>0.3.4</draft>
124
+ </version>
125
+ <language>en</language>
126
+ <script>Latn</script>
127
+ <status>
128
+ <stage abbreviation="NP">10</stage>
129
+ <substage>20</substage>
130
+ <iteration>3</iteration>
131
+ </status>
132
+ <copyright>
133
+ <from>#{Date.today.year}</from>
134
+ <owner>
135
+ <organization>
136
+ <name>British Standards Institution</name>
137
+ <abbreviation>BSI</abbreviation>
138
+ </organization>
139
+ </owner>
140
+ </copyright>
141
+ <relation type='obsoletes'>
142
+ <bibitem>
143
+ <title>--</title>
144
+ <docidentifier>ABC</docidentifier>
145
+ </bibitem>
146
+ </relation>
147
+ <relation type='obsoletes'>
148
+ <bibitem>
149
+ <title>--</title>
150
+ <docidentifier>DEF</docidentifier>
151
+ </bibitem>
152
+ </relation>
153
+ <relation type='related'>
154
+ <bibitem>
155
+ <title>--</title>
156
+ <docidentifier>Committee reference DEF/1</docidentifier>
157
+ </bibitem>
158
+ </relation>
159
+ <relation type='related'>
160
+ <bibitem>
161
+ <title>--</title>
162
+ <docidentifier>Draft for comment 20/30387670 DC</docidentifier>
163
+ </bibitem>
164
+ </relation>
165
+ <ext>
166
+ <doctype>article</doctype>
167
+ <editorialgroup>
168
+ <technical-committee number="1" type="A">TC</technical-committee>
169
+ <technical-committee number="11" type="A1">TC1</technical-committee>
170
+ <subcommittee number="2" type="B">SC</subcommittee>
171
+ <subcommittee number="21" type="B1">SC1</subcommittee>
172
+ <workgroup number="3" type="C">WG</workgroup>
173
+ <workgroup number="31" type="C1">WG1</workgroup>
174
+ <secretariat>SECRETARIAT</secretariat>
175
+ </editorialgroup>
176
+ <ics>
177
+ <code>1</code>
178
+ </ics>
179
+ <ics>
180
+ <code>2</code>
181
+ </ics>
182
+ <ics>
183
+ <code>3</code>
184
+ </ics>
185
+ <structuredidentifier>
186
+ <project-number part="1">BS 1000</project-number>
187
+ </structuredidentifier>
188
+ <stagename>New work item proposal</stagename>
189
+ </ext>
190
+ </bibdata>
178
191
  OUTPUT
179
192
  end
180
193
 
181
-
182
194
  it "processes complex metadata" do
183
195
  expect(xmlpp(strip_guid(Nokogiri::XML(Asciidoctor.convert(<<~"INPUT", backend: :bsi, header_footer: true)).at("//xmlns:bibdata").to_xml))).to be_equivalent_to xmlpp(<<~"OUTPUT")
184
196
  = Document title
@@ -199,289 +211,353 @@ RSpec.describe Asciidoctor::BSI do
199
211
  :function: emc
200
212
  :horizontal: true
201
213
  INPUT
202
- <bibdata type="standard">
203
- <docidentifier type="BS">BS/IETF/ISO/FDTS TS 1000-1-1</docidentifier>
204
- <docidentifier type="iso-tc">2000</docidentifier>
205
- <docnumber>1000</docnumber>
206
- <contributor>
207
- <role type="author"/>
208
- <organization>
209
- <name>British Standards Institute</name>
210
- <abbreviation>BSI</abbreviation>
211
- </organization>
212
- </contributor>
213
- <contributor>
214
- <role type="author"/>
215
- <organization>
216
- <name>IETF</name>
217
- </organization>
218
- </contributor>
219
- <contributor>
220
- <role type="author"/>
221
- <organization>
222
- <name>International Organization for Standardization</name>
223
- <abbreviation>ISO</abbreviation>
224
- </organization>
225
- </contributor>
226
- <contributor>
227
- <role type="publisher"/>
228
- <organization>
229
- <name>British Standards Institute</name>
230
- <abbreviation>BSI</abbreviation>
231
- </organization>
232
- </contributor>
233
- <contributor>
234
- <role type="publisher"/>
235
- <organization>
236
- <name>IETF</name>
237
- </organization>
238
- </contributor>
239
- <contributor>
240
- <role type="publisher"/>
241
- <organization>
242
- <name>International Organization for Standardization</name>
243
- <abbreviation>ISO</abbreviation>
244
- </organization>
245
- </contributor>
246
- <language>el</language>
247
- <script>Grek</script>
248
- <status>
249
- <stage abbreviation="FDTS TS">50</stage>
250
- <substage>00</substage>
251
- </status>
252
- <copyright>
253
- <from>2001</from>
254
- <owner>
255
- <organization>
256
- <name>British Standards Institute</name>
257
- <abbreviation>BSI</abbreviation>
258
- </organization>
259
- </owner>
260
- </copyright>
261
- <copyright>
262
- <from>2001</from>
263
- <owner>
264
- <organization>
265
- <name>IETF</name>
266
- </organization>
267
- </owner>
268
- </copyright>
269
- <copyright>
270
- <from>2001</from>
271
- <owner>
272
- <organization>
273
- <name>International Organization for Standardization</name>
274
- <abbreviation>ISO</abbreviation>
275
- </organization>
276
- </owner>
277
- </copyright>
278
- <ext>
279
- <doctype>technical-specification</doctype>
280
- <editorialgroup>
281
- <technical-committee/>
282
- <subcommittee/>
283
- <workgroup/>
284
- </editorialgroup>
285
- <structuredidentifier>
286
- <project-number part="1" subpart="1">BS/IETF/ISO 1000</project-number>
287
- </structuredidentifier>
288
- <stagename>Final draft</stagename>
289
- </ext>
290
- </bibdata>
214
+ <bibdata type="standard">
215
+ <docidentifier type="BS">BS/IETF/ISO/FDTS TS 1000-1-1</docidentifier>
216
+ <docidentifier type="iso-tc">2000</docidentifier>
217
+ <docnumber>1000</docnumber>
218
+ <contributor>
219
+ <role type="author"/>
220
+ <organization>
221
+ <name>British Standards Institution</name>
222
+ <abbreviation>BSI</abbreviation>
223
+ </organization>
224
+ </contributor>
225
+ <contributor>
226
+ <role type="author"/>
227
+ <organization>
228
+ <name>IETF</name>
229
+ </organization>
230
+ </contributor>
231
+ <contributor>
232
+ <role type="author"/>
233
+ <organization>
234
+ <name>International Organization for Standardization</name>
235
+ <abbreviation>ISO</abbreviation>
236
+ </organization>
237
+ </contributor>
238
+ <contributor>
239
+ <role type="publisher"/>
240
+ <organization>
241
+ <name>British Standards Institution</name>
242
+ <abbreviation>BSI</abbreviation>
243
+ </organization>
244
+ </contributor>
245
+ <contributor>
246
+ <role type="publisher"/>
247
+ <organization>
248
+ <name>IETF</name>
249
+ </organization>
250
+ </contributor>
251
+ <contributor>
252
+ <role type="publisher"/>
253
+ <organization>
254
+ <name>International Organization for Standardization</name>
255
+ <abbreviation>ISO</abbreviation>
256
+ </organization>
257
+ </contributor>
258
+ <language>el</language>
259
+ <script>Grek</script>
260
+ <status>
261
+ <stage abbreviation="FDTS TS">50</stage>
262
+ <substage>00</substage>
263
+ </status>
264
+ <copyright>
265
+ <from>2001</from>
266
+ <owner>
267
+ <organization>
268
+ <name>British Standards Institution</name>
269
+ <abbreviation>BSI</abbreviation>
270
+ </organization>
271
+ </owner>
272
+ </copyright>
273
+ <copyright>
274
+ <from>2001</from>
275
+ <owner>
276
+ <organization>
277
+ <name>IETF</name>
278
+ </organization>
279
+ </owner>
280
+ </copyright>
281
+ <copyright>
282
+ <from>2001</from>
283
+ <owner>
284
+ <organization>
285
+ <name>International Organization for Standardization</name>
286
+ <abbreviation>ISO</abbreviation>
287
+ </organization>
288
+ </owner>
289
+ </copyright>
290
+ <ext>
291
+ <doctype>technical-specification</doctype>
292
+ <editorialgroup>
293
+ <technical-committee/>
294
+ <subcommittee/>
295
+ <workgroup/>
296
+ </editorialgroup>
297
+ <structuredidentifier>
298
+ <project-number part="1" subpart="1">BS/IETF/ISO 1000</project-number>
299
+ </structuredidentifier>
300
+ <stagename>Final draft</stagename>
301
+ </ext>
302
+ </bibdata>
291
303
  OUTPUT
292
304
  end
293
305
 
294
- it "processes adoption of ISO standards" do
295
- VCR.use_cassette "iso-639" do
306
+ it "processes PAS metadata" do
296
307
  expect(xmlpp(strip_guid(Nokogiri::XML(Asciidoctor.convert(<<~"INPUT", backend: :bsi, header_footer: true)).at("//xmlns:bibdata").to_xml))).to be_equivalent_to xmlpp(<<~"OUTPUT")
297
308
  = Document title
298
309
  Author
299
310
  :docfile: test.adoc
300
- :docnumber: ISO 639
301
- :partnumber: 2
302
311
  :nodoc:
303
312
  :novalid:
304
- :adopted-from: ISO 639-2
313
+ :no-isobib:
314
+ :docnumber: 1000
315
+ :partnumber: 1-1
316
+ :tc-docnumber: 2000
317
+ :language: el
318
+ :script: Grek
305
319
  :copyright-year: 2001
320
+ :docstage: 50
321
+ :doctype: publicly-available-specification
306
322
  INPUT
307
- <bibdata type='standard'>
308
- <docidentifier type='BS'>BS ISO 639-2:2001</docidentifier>
309
- <docnumber>ISO 639</docnumber>
310
- <contributor>
311
- <role type='author'/>
312
- <organization>
313
- <name>British Standards Institute</name>
314
- <abbreviation>BSI</abbreviation>
315
- </organization>
316
- </contributor>
317
- <contributor>
318
- <role type='publisher'/>
319
- <organization>
320
- <name>British Standards Institute</name>
321
- <abbreviation>BSI</abbreviation>
322
- </organization>
323
- </contributor>
324
- <language>en</language>
325
- <script>Latn</script>
326
- <status>
327
- <stage abbreviation='IS'>60</stage>
328
- <substage>60</substage>
329
- </status>
330
- <copyright>
331
- <from>2001</from>
332
- <owner>
333
- <organization>
334
- <name>British Standards Institute</name>
335
- <abbreviation>BSI</abbreviation>
336
- </organization>
337
- </owner>
338
- </copyright>
339
- <relation type='adoptedFrom'>
340
- <bibitem type='standard'>
341
- <fetched>2021-04-25</fetched>
342
- <title type='title-main' format='text/plain' language='en' script='Latn'>Codes for the representation of names of languages</title>
343
- <title type='title-part' format='text/plain' language='en' script='Latn'>Part 2: Alpha-3 code</title>
344
- <title type='main' format='text/plain' language='en' script='Latn'>
345
- Codes for the representation of names of
346
- languages&#8201;&#8212;&#8201;Part 2: Alpha-3 code
347
- </title>
348
- <title type='title-main' format='text/plain' language='fr' script='Latn'>Codes pour la repr&#233;sentation des noms de langue</title>
349
- <title type='title-part' format='text/plain' language='fr' script='Latn'>Partie 2: Code alpha-3</title>
350
- <title type='main' format='text/plain' language='fr' script='Latn'>
351
- Codes pour la repr&#233;sentation des noms de
352
- langue&#8201;&#8212;&#8201;Partie 2: Code alpha-3
353
- </title>
354
- <uri type='src'>https://www.iso.org/standard/4767.html</uri>
355
- <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:4767:en</uri>
356
- <uri type='rss'>https://www.iso.org/contents/data/standard/00/47/4767.detail.rss</uri>
357
- <docidentifier type='ISO'>ISO 639-2</docidentifier>
358
- <docidentifier type='URN'>urn:iso:std:iso:639:-2:stage-90.20:ed-1:en,fr</docidentifier>
359
- <docnumber>639</docnumber>
360
- <contributor>
361
- <role type='publisher'/>
362
- <organization>
363
- <name>International Organization for Standardization</name>
364
- <abbreviation>ISO</abbreviation>
365
- <uri>www.iso.org</uri>
366
- </organization>
367
- </contributor>
368
- <edition>1</edition>
369
- <language>en</language>
370
- <language>fr</language>
371
- <script>Latn</script>
372
- <status>
373
- <stage>90</stage>
374
- <substage>20</substage>
375
- </status>
376
- <copyright>
377
- <from>1998</from>
378
- <owner>
323
+ <bibdata type='standard'>
324
+ <docidentifier type='BS'>BS/FDIS PAS 1000-1-1</docidentifier>
325
+ <docidentifier type='iso-tc'>2000</docidentifier>
326
+ <docnumber>1000</docnumber>
327
+ <contributor>
328
+ <role type='author'/>
329
+ <organization>
330
+ <name>British Standards Institution</name>
331
+ <abbreviation>BSI</abbreviation>
332
+ </organization>
333
+ </contributor>
334
+ <contributor>
335
+ <role type='publisher'/>
379
336
  <organization>
380
- <name>ISO</name>
337
+ <name>British Standards Institution</name>
338
+ <abbreviation>BSI</abbreviation>
381
339
  </organization>
382
- </owner>
383
- </copyright>
384
- <relation type='instance'>
385
- <bibitem type='standard'>
386
- <fetched>2021-04-25</fetched>
387
- <title type='title-main' format='text/plain' language='en' script='Latn'>Codes for the representation of names of languages</title>
388
- <title type='title-part' format='text/plain' language='en' script='Latn'>Part 2: Alpha-3 code</title>
389
- <title type='main' format='text/plain' language='en' script='Latn'>
390
- Codes for the representation of names of
391
- languages&#8201;&#8212;&#8201;Part 2: Alpha-3 code
392
- </title>
393
- <title type='title-main' format='text/plain' language='fr' script='Latn'>Codes pour la repr&#233;sentation des noms de langue</title>
394
- <title type='title-part' format='text/plain' language='fr' script='Latn'>Partie 2: Code alpha-3</title>
395
- <title type='main' format='text/plain' language='fr' script='Latn'>
396
- Codes pour la repr&#233;sentation des noms de
397
- langue&#8201;&#8212;&#8201;Partie 2: Code alpha-3
398
- </title>
399
- <uri type='src'>https://www.iso.org/standard/4767.html</uri>
400
- <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:4767:en</uri>
401
- <uri type='rss'>https://www.iso.org/contents/data/standard/00/47/4767.detail.rss</uri>
402
- <docidentifier type='ISO'>ISO 639-2:1998</docidentifier>
403
- <docidentifier type='URN'>urn:iso:std:iso:639:-2:stage-90.20:ed-1:en,fr</docidentifier>
404
- <docnumber>639</docnumber>
405
- <date type='published'>
406
- <on>1998-11</on>
407
- </date>
340
+ </contributor>
341
+ <language>el</language>
342
+ <script>Grek</script>
343
+ <status>
344
+ <stage abbreviation='FDIS PAS'>50</stage>
345
+ <substage>00</substage>
346
+ </status>
347
+ <copyright>
348
+ <from>2001</from>
349
+ <owner>
350
+ <organization>
351
+ <name>British Standards Institution</name>
352
+ <abbreviation>BSI</abbreviation>
353
+ </organization>
354
+ </owner>
355
+ </copyright>
356
+ <ext>
357
+ <doctype>publicly-available-specification</doctype>
358
+ <editorialgroup>
359
+ <technical-committee/>
360
+ <subcommittee/>
361
+ <workgroup/>
362
+ </editorialgroup>
363
+ <structuredidentifier>
364
+ <project-number part='1' subpart='1'>BS 1000</project-number>
365
+ </structuredidentifier>
366
+ <stagename>Final draft</stagename>
367
+ </ext>
368
+ </bibdata>
369
+ OUTPUT
370
+ end
371
+
372
+ it "processes adoption of ISO standards" do
373
+ VCR.use_cassette "iso-639" do
374
+ expect(xmlpp(strip_guid(Nokogiri::XML(Asciidoctor.convert(<<~"INPUT", backend: :bsi, header_footer: true)).at("//xmlns:bibdata").to_xml.gsub(%r{<fetched>[^<]+</fetched>}, "")))).to be_equivalent_to xmlpp(<<~"OUTPUT")
375
+ = Document title
376
+ Author
377
+ :docfile: test.adoc
378
+ :docnumber: ISO 639
379
+ :partnumber: 2
380
+ :nodoc:
381
+ :novalid:
382
+ :adopted-from: ISO 639-2
383
+ :copyright-year: 2001
384
+ INPUT
385
+ <bibdata type='standard'>
386
+ <docidentifier type='BS'>BS ISO 639-2:2001</docidentifier>
387
+ <docnumber>ISO 639</docnumber>
388
+ <contributor>
389
+ <role type='author'/>
390
+ <organization>
391
+ <name>British Standards Institution</name>
392
+ <abbreviation>BSI</abbreviation>
393
+ </organization>
394
+ </contributor>
408
395
  <contributor>
409
396
  <role type='publisher'/>
410
397
  <organization>
411
- <name>International Organization for Standardization</name>
412
- <abbreviation>ISO</abbreviation>
413
- <uri>www.iso.org</uri>
398
+ <name>British Standards Institution</name>
399
+ <abbreviation>BSI</abbreviation>
414
400
  </organization>
415
401
  </contributor>
416
- <edition>1</edition>
417
402
  <language>en</language>
418
- <language>fr</language>
419
403
  <script>Latn</script>
420
- <abstract format='text/plain' language='fr' script='Latn'>
421
- La pr&#233;sente partie de l&#8217;ISO 639 fournit deux jeux de
422
- codets &#224; trois caract&#232;res pour la repr&#233;sentation des
423
- noms de langue, l&#8217;un destin&#233; &#224; des applications en
424
- terminologie, l&#8217;autre destin&#233; &#224; des applications
425
- bibliographiques. Les deux jeux de codets sont les m&#234;mes,
426
- except&#233; pour vingt-cinq langues qui ont des codets
427
- diff&#233;rents &#224; cause du crit&#232;re utilis&#233; pour les
428
- former . &#192; l&#8217;origine, des codets de langues ont
429
- &#233;t&#233; cr&#233;&#233;s &#224; l&#8217;usage des
430
- biblioth&#232;ques, des services documentaires et des &#233;diteurs,
431
- pour indiquer la langue dans l&#8217;&#233;change
432
- d&#8217;information, particuli&#232;rement entre des syst&#232;mes
433
- informatis&#233;s. Ces codets ont &#233;t&#233; utilis&#233;s
434
- largement &#224; l&#8217;int&#233;rieur de la communaut&#233; des
435
- biblioth&#232;ques, et ils peuvent &#234;tre adopt&#233;s pour toute
436
- application qui requiert l&#8217;expression de la langue sous forme
437
- cod&#233;e, en terminologie ou en lexicographie. Le code alpha-2 a
438
- &#233;t&#233; cr&#233;&#233; pour un usage pratique pour la plupart
439
- des grandes langues du monde, langues qui sont les plus souvent
440
- repr&#233;sent&#233;es dans le corpus de la litt&#233;rature
441
- mondiale. De nouveaux codets sont cr&#233;&#233;s quand il devient
442
- &#233;vident qu&#8217;il existe un corpus significatif de
443
- litt&#233;rature dans une langue particuli&#232;re. Les langages
444
- cr&#233;&#233;s pour &#234;tre utilis&#233;s exclusivement par des
445
- machines, comme les langages de programmation, ne sont pas inclus
446
- dans le pr&#233;sent code.
447
- </abstract>
448
404
  <status>
449
- <stage>90</stage>
450
- <substage>20</substage>
405
+ <stage abbreviation='IS'>60</stage>
406
+ <substage>60</substage>
451
407
  </status>
452
408
  <copyright>
453
- <from>1998</from>
409
+ <from>2001</from>
454
410
  <owner>
455
411
  <organization>
456
- <name>ISO</name>
412
+ <name>British Standards Institution</name>
413
+ <abbreviation>BSI</abbreviation>
457
414
  </organization>
458
415
  </owner>
459
416
  </copyright>
460
- <place>Geneva</place>
461
- </bibitem>
462
- </relation>
463
- <place>Geneva</place>
464
- </bibitem>
465
- </relation>
466
- <ext>
467
- <doctype>article</doctype>
468
- <editorialgroup>
469
- <technical-committee/>
470
- <subcommittee/>
471
- <workgroup/>
472
- </editorialgroup>
473
- <structuredidentifier>
474
- <project-number part='2'>BS ISO 639</project-number>
475
- </structuredidentifier>
476
- <stagename>International standard</stagename>
477
- </ext>
478
- </bibdata>
479
- OUTPUT
480
- end
417
+ <relation type='adoptedFrom'>
418
+ <bibitem type='standard'>
419
+ <title type='title-main' format='text/plain' language='en' script='Latn'>Codes for the representation of names of languages</title>
420
+ <title type='title-part' format='text/plain' language='en' script='Latn'>Part 2: Alpha-3 code</title>
421
+ <title type='main' format='text/plain' language='en' script='Latn'>
422
+ Codes for the representation of names of
423
+ languages&#8201;&#8212;&#8201;Part 2: Alpha-3 code
424
+ </title>
425
+ <title type='title-main' format='text/plain' language='fr' script='Latn'>Codes pour la repr&#233;sentation des noms de langue</title>
426
+ <title type='title-part' format='text/plain' language='fr' script='Latn'>Partie 2: Code alpha-3</title>
427
+ <title type='main' format='text/plain' language='fr' script='Latn'>
428
+ Codes pour la repr&#233;sentation des noms de
429
+ langue&#8201;&#8212;&#8201;Partie 2: Code alpha-3
430
+ </title>
431
+ <uri type='src'>https://www.iso.org/standard/4767.html</uri>
432
+ <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:4767:en</uri>
433
+ <uri type='rss'>https://www.iso.org/contents/data/standard/00/47/4767.detail.rss</uri>
434
+ <docidentifier type='ISO'>ISO 639-2</docidentifier>
435
+ <docidentifier type='URN'>urn:iso:std:iso:639:-2:stage-90.20:ed-1:en,fr</docidentifier>
436
+ <docnumber>639</docnumber>
437
+ <contributor>
438
+ <role type='publisher'/>
439
+ <organization>
440
+ <name>International Organization for Standardization</name>
441
+ <abbreviation>ISO</abbreviation>
442
+ <uri>www.iso.org</uri>
443
+ </organization>
444
+ </contributor>
445
+ <edition>1</edition>
446
+ <language>en</language>
447
+ <language>fr</language>
448
+ <script>Latn</script>
449
+ <status>
450
+ <stage>90</stage>
451
+ <substage>20</substage>
452
+ </status>
453
+ <copyright>
454
+ <from>1998</from>
455
+ <owner>
456
+ <organization>
457
+ <name>ISO</name>
458
+ </organization>
459
+ </owner>
460
+ </copyright>
461
+ <relation type='instance'>
462
+ <bibitem type='standard'>
463
+ <title type='title-main' format='text/plain' language='en' script='Latn'>Codes for the representation of names of languages</title>
464
+ <title type='title-part' format='text/plain' language='en' script='Latn'>Part 2: Alpha-3 code</title>
465
+ <title type='main' format='text/plain' language='en' script='Latn'>
466
+ Codes for the representation of names of
467
+ languages&#8201;&#8212;&#8201;Part 2: Alpha-3 code
468
+ </title>
469
+ <title type='title-main' format='text/plain' language='fr' script='Latn'>Codes pour la repr&#233;sentation des noms de langue</title>
470
+ <title type='title-part' format='text/plain' language='fr' script='Latn'>Partie 2: Code alpha-3</title>
471
+ <title type='main' format='text/plain' language='fr' script='Latn'>
472
+ Codes pour la repr&#233;sentation des noms de
473
+ langue&#8201;&#8212;&#8201;Partie 2: Code alpha-3
474
+ </title>
475
+ <uri type='src'>https://www.iso.org/standard/4767.html</uri>
476
+ <uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:4767:en</uri>
477
+ <uri type='rss'>https://www.iso.org/contents/data/standard/00/47/4767.detail.rss</uri>
478
+ <docidentifier type='ISO'>ISO 639-2:1998</docidentifier>
479
+ <docidentifier type='URN'>urn:iso:std:iso:639:-2:stage-90.20:ed-1:en,fr</docidentifier>
480
+ <docnumber>639</docnumber>
481
+ <date type='published'>
482
+ <on>1998-11</on>
483
+ </date>
484
+ <contributor>
485
+ <role type='publisher'/>
486
+ <organization>
487
+ <name>International Organization for Standardization</name>
488
+ <abbreviation>ISO</abbreviation>
489
+ <uri>www.iso.org</uri>
490
+ </organization>
491
+ </contributor>
492
+ <edition>1</edition>
493
+ <language>en</language>
494
+ <language>fr</language>
495
+ <script>Latn</script>
496
+ <abstract format='text/plain' language='fr' script='Latn'>
497
+ La pr&#233;sente partie de l&#8217;ISO 639 fournit deux jeux de
498
+ codets &#224; trois caract&#232;res pour la repr&#233;sentation des
499
+ noms de langue, l&#8217;un destin&#233; &#224; des applications en
500
+ terminologie, l&#8217;autre destin&#233; &#224; des applications
501
+ bibliographiques. Les deux jeux de codets sont les m&#234;mes,
502
+ except&#233; pour vingt-cinq langues qui ont des codets
503
+ diff&#233;rents &#224; cause du crit&#232;re utilis&#233; pour les
504
+ former . &#192; l&#8217;origine, des codets de langues ont
505
+ &#233;t&#233; cr&#233;&#233;s &#224; l&#8217;usage des
506
+ biblioth&#232;ques, des services documentaires et des &#233;diteurs,
507
+ pour indiquer la langue dans l&#8217;&#233;change
508
+ d&#8217;information, particuli&#232;rement entre des syst&#232;mes
509
+ informatis&#233;s. Ces codets ont &#233;t&#233; utilis&#233;s
510
+ largement &#224; l&#8217;int&#233;rieur de la communaut&#233; des
511
+ biblioth&#232;ques, et ils peuvent &#234;tre adopt&#233;s pour toute
512
+ application qui requiert l&#8217;expression de la langue sous forme
513
+ cod&#233;e, en terminologie ou en lexicographie. Le code alpha-2 a
514
+ &#233;t&#233; cr&#233;&#233; pour un usage pratique pour la plupart
515
+ des grandes langues du monde, langues qui sont les plus souvent
516
+ repr&#233;sent&#233;es dans le corpus de la litt&#233;rature
517
+ mondiale. De nouveaux codets sont cr&#233;&#233;s quand il devient
518
+ &#233;vident qu&#8217;il existe un corpus significatif de
519
+ litt&#233;rature dans une langue particuli&#232;re. Les langages
520
+ cr&#233;&#233;s pour &#234;tre utilis&#233;s exclusivement par des
521
+ machines, comme les langages de programmation, ne sont pas inclus
522
+ dans le pr&#233;sent code.
523
+ </abstract>
524
+ <status>
525
+ <stage>90</stage>
526
+ <substage>20</substage>
527
+ </status>
528
+ <copyright>
529
+ <from>1998</from>
530
+ <owner>
531
+ <organization>
532
+ <name>ISO</name>
533
+ </organization>
534
+ </owner>
535
+ </copyright>
536
+ <place>Geneva</place>
537
+ </bibitem>
538
+ </relation>
539
+ <place>Geneva</place>
540
+ </bibitem>
541
+ </relation>
542
+ <ext>
543
+ <doctype>article</doctype>
544
+ <editorialgroup>
545
+ <technical-committee/>
546
+ <subcommittee/>
547
+ <workgroup/>
548
+ </editorialgroup>
549
+ <structuredidentifier>
550
+ <project-number part='2'>BS ISO 639</project-number>
551
+ </structuredidentifier>
552
+ <stagename>International standard</stagename>
553
+ </ext>
554
+ </bibdata>
555
+ OUTPUT
556
+ end
481
557
  end
482
558
 
483
559
  it "processes boilerplate in English" do
484
- doc = (strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :bsi, header_footer: true)))
560
+ doc = strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :bsi, header_footer: true))
485
561
  = Document title
486
562
  Author
487
563
  :docfile: test.adoc
@@ -496,10 +572,10 @@ RSpec.describe Asciidoctor::BSI do
496
572
  :publisher: IEC,IETF,ISO
497
573
  :copyright-year: 2001
498
574
  INPUT
499
- expect(doc).to include "Unless otherwise specified"
500
- end
575
+ expect(doc).to include "BSI is the national body responsible for preparing British Standards"
576
+ end
501
577
 
502
- it "defaults substage" do
578
+ it "defaults substage" do
503
579
  expect(xmlpp(strip_guid(Nokogiri::XML(Asciidoctor.convert(<<~"INPUT", backend: :bsi, header_footer: true)).at("//xmlns:bibdata").to_xml))).to be_equivalent_to xmlpp(<<~"OUTPUT")
504
580
  = Document title
505
581
  Author
@@ -510,56 +586,55 @@ RSpec.describe Asciidoctor::BSI do
510
586
  :docnumber: 1000
511
587
  :docstage: 50
512
588
  INPUT
513
- <bibdata type="standard">
514
- <docidentifier type="BS">BS/FDIS 1000</docidentifier>
515
- <docnumber>1000</docnumber>
516
- <contributor>
517
- <role type="author"/>
518
- <organization>
519
- <name>British Standards Institute</name>
520
- <abbreviation>BSI</abbreviation>
521
- </organization>
522
- </contributor>
523
- <contributor>
524
- <role type="publisher"/>
525
- <organization>
526
- <name>British Standards Institute</name>
527
- <abbreviation>BSI</abbreviation>
528
- </organization>
529
- </contributor>
530
-
531
- <language>en</language>
532
- <script>Latn</script>
533
- <status>
534
- <stage abbreviation="FDIS">50</stage>
535
- <substage>00</substage>
536
- </status>
537
- <copyright>
538
- <from>#{Date.today.year}</from>
539
- <owner>
540
- <organization>
541
- <name>British Standards Institute</name>
542
- <abbreviation>BSI</abbreviation>
543
- </organization>
544
- </owner>
545
- </copyright>
546
- <ext>
547
- <doctype>article</doctype>
548
- <editorialgroup>
549
- <technical-committee/>
550
- <subcommittee/>
551
- <workgroup/>
552
- </editorialgroup>
553
- <structuredidentifier>
554
- <project-number>BS 1000</project-number>
555
- </structuredidentifier>
556
- <stagename>Final draft</stagename>
557
- </ext>
558
- </bibdata>
559
- OUTPUT
560
- end
589
+ <bibdata type="standard">
590
+ <docidentifier type="BS">BS/FDIS 1000</docidentifier>
591
+ <docnumber>1000</docnumber>
592
+ <contributor>
593
+ <role type="author"/>
594
+ <organization>
595
+ <name>British Standards Institution</name>
596
+ <abbreviation>BSI</abbreviation>
597
+ </organization>
598
+ </contributor>
599
+ <contributor>
600
+ <role type="publisher"/>
601
+ <organization>
602
+ <name>British Standards Institution</name>
603
+ <abbreviation>BSI</abbreviation>
604
+ </organization>
605
+ </contributor>
606
+ <language>en</language>
607
+ <script>Latn</script>
608
+ <status>
609
+ <stage abbreviation="FDIS">50</stage>
610
+ <substage>00</substage>
611
+ </status>
612
+ <copyright>
613
+ <from>#{Date.today.year}</from>
614
+ <owner>
615
+ <organization>
616
+ <name>British Standards Institution</name>
617
+ <abbreviation>BSI</abbreviation>
618
+ </organization>
619
+ </owner>
620
+ </copyright>
621
+ <ext>
622
+ <doctype>article</doctype>
623
+ <editorialgroup>
624
+ <technical-committee/>
625
+ <subcommittee/>
626
+ <workgroup/>
627
+ </editorialgroup>
628
+ <structuredidentifier>
629
+ <project-number>BS 1000</project-number>
630
+ </structuredidentifier>
631
+ <stagename>Final draft</stagename>
632
+ </ext>
633
+ </bibdata>
634
+ OUTPUT
635
+ end
561
636
 
562
- it "defaults substage for stage 60" do
637
+ it "defaults substage for stage 60" do
563
638
  expect(xmlpp(strip_guid(Nokogiri::XML(Asciidoctor.convert(<<~"INPUT", backend: :bsi, header_footer: true)).at("//xmlns:bibdata").to_xml))).to be_equivalent_to xmlpp(<<~"OUTPUT")
564
639
  = Document title
565
640
  Author
@@ -570,54 +645,53 @@ OUTPUT
570
645
  :docnumber: 1000
571
646
  :docstage: 60
572
647
  INPUT
573
- <bibdata type="standard">
574
- <docidentifier type="BS">BS 1000</docidentifier>
575
- <docnumber>1000</docnumber>
576
- <contributor>
577
- <role type="author"/>
578
- <organization>
579
- <name>British Standards Institute</name>
580
- <abbreviation>BSI</abbreviation>
581
- </organization>
582
- </contributor>
583
- <contributor>
584
- <role type="publisher"/>
585
- <organization>
586
- <name>British Standards Institute</name>
587
- <abbreviation>BSI</abbreviation>
588
- </organization>
589
- </contributor>
590
-
591
- <language>en</language>
592
- <script>Latn</script>
593
- <status>
594
- <stage abbreviation='IS'>60</stage>
595
- <substage>60</substage>
596
- </status>
597
- <copyright>
598
- <from>#{Date.today.year}</from>
599
- <owner>
600
- <organization>
601
- <name>British Standards Institute</name>
602
- <abbreviation>BSI</abbreviation>
603
- </organization>
604
- </owner>
605
- </copyright>
606
- <ext>
607
- <doctype>article</doctype>
608
- <editorialgroup>
609
- <technical-committee/>
610
- <subcommittee/>
611
- <workgroup/>
612
- </editorialgroup>
613
- <structuredidentifier>
614
- <project-number>BS 1000</project-number>
615
- </structuredidentifier>
616
- <stagename>International standard</stagename>
617
- </ext>
618
- </bibdata>
619
- OUTPUT
620
- end
648
+ <bibdata type="standard">
649
+ <docidentifier type="BS">BS 1000</docidentifier>
650
+ <docnumber>1000</docnumber>
651
+ <contributor>
652
+ <role type="author"/>
653
+ <organization>
654
+ <name>British Standards Institution</name>
655
+ <abbreviation>BSI</abbreviation>
656
+ </organization>
657
+ </contributor>
658
+ <contributor>
659
+ <role type="publisher"/>
660
+ <organization>
661
+ <name>British Standards Institution</name>
662
+ <abbreviation>BSI</abbreviation>
663
+ </organization>
664
+ </contributor>
665
+ <language>en</language>
666
+ <script>Latn</script>
667
+ <status>
668
+ <stage abbreviation='IS'>60</stage>
669
+ <substage>60</substage>
670
+ </status>
671
+ <copyright>
672
+ <from>#{Date.today.year}</from>
673
+ <owner>
674
+ <organization>
675
+ <name>British Standards Institution</name>
676
+ <abbreviation>BSI</abbreviation>
677
+ </organization>
678
+ </owner>
679
+ </copyright>
680
+ <ext>
681
+ <doctype>article</doctype>
682
+ <editorialgroup>
683
+ <technical-committee/>
684
+ <subcommittee/>
685
+ <workgroup/>
686
+ </editorialgroup>
687
+ <structuredidentifier>
688
+ <project-number>BS 1000</project-number>
689
+ </structuredidentifier>
690
+ <stagename>International standard</stagename>
691
+ </ext>
692
+ </bibdata>
693
+ OUTPUT
694
+ end
621
695
 
622
696
  it "populates metadata for PRF" do
623
697
  expect(xmlpp(strip_guid(Nokogiri::XML(Asciidoctor.convert(<<~"INPUT", backend: :bsi, header_footer: true)).at("//xmlns:bibdata").to_xml))).to be_equivalent_to xmlpp(<<~"OUTPUT")
@@ -631,55 +705,53 @@ OUTPUT
631
705
  :docstage: 60
632
706
  :docsubstage: 00
633
707
  INPUT
634
- <bibdata type="standard">
635
- <docidentifier type="BS">BS 1000</docidentifier>
636
- <docnumber>1000</docnumber>
637
- <contributor>
638
- <role type="author"/>
639
- <organization>
640
- <name>British Standards Institute</name>
641
- <abbreviation>BSI</abbreviation>
642
- </organization>
643
- </contributor>
644
- <contributor>
645
- <role type="publisher"/>
646
- <organization>
647
- <name>British Standards Institute</name>
648
- <abbreviation>BSI</abbreviation>
649
- </organization>
650
- </contributor>
651
-
652
- <language>en</language>
653
- <script>Latn</script>
654
- <status>
655
- <stage abbreviation='PRF'>60</stage>
656
- <substage>00</substage>
657
- </status>
658
- <copyright>
659
- <from>#{Date.today.year}</from>
660
- <owner>
661
- <organization>
662
- <name>British Standards Institute</name>
663
- <abbreviation>BSI</abbreviation>
664
- </organization>
665
- </owner>
666
- </copyright>
667
- <ext>
668
- <doctype>article</doctype>
669
- <editorialgroup>
670
- <technical-committee/>
671
- <subcommittee/>
672
- <workgroup/>
673
- </editorialgroup>
674
- <structuredidentifier>
675
- <project-number>BS 1000</project-number>
676
- </structuredidentifier>
677
- <stagename>Proof</stagename>
678
- </ext>
679
- </bibdata>
680
- OUTPUT
681
- end
682
-
708
+ <bibdata type="standard">
709
+ <docidentifier type="BS">BS 1000</docidentifier>
710
+ <docnumber>1000</docnumber>
711
+ <contributor>
712
+ <role type="author"/>
713
+ <organization>
714
+ <name>British Standards Institution</name>
715
+ <abbreviation>BSI</abbreviation>
716
+ </organization>
717
+ </contributor>
718
+ <contributor>
719
+ <role type="publisher"/>
720
+ <organization>
721
+ <name>British Standards Institution</name>
722
+ <abbreviation>BSI</abbreviation>
723
+ </organization>
724
+ </contributor>
725
+ <language>en</language>
726
+ <script>Latn</script>
727
+ <status>
728
+ <stage abbreviation='PRF'>60</stage>
729
+ <substage>00</substage>
730
+ </status>
731
+ <copyright>
732
+ <from>#{Date.today.year}</from>
733
+ <owner>
734
+ <organization>
735
+ <name>British Standards Institution</name>
736
+ <abbreviation>BSI</abbreviation>
737
+ </organization>
738
+ </owner>
739
+ </copyright>
740
+ <ext>
741
+ <doctype>article</doctype>
742
+ <editorialgroup>
743
+ <technical-committee/>
744
+ <subcommittee/>
745
+ <workgroup/>
746
+ </editorialgroup>
747
+ <structuredidentifier>
748
+ <project-number>BS 1000</project-number>
749
+ </structuredidentifier>
750
+ <stagename>Proof</stagename>
751
+ </ext>
752
+ </bibdata>
753
+ OUTPUT
754
+ end
683
755
 
684
756
  it "reads scripts into blank HTML document" do
685
757
  FileUtils.rm_f "test.html"
@@ -709,9 +781,9 @@ OUTPUT
709
781
  expect(html)
710
782
  .to match(%r[\bpre[^{]+\{[^{]+font-family: "Courier New", monospace;]m)
711
783
  expect(html)
712
- .to match(%r[blockquote[^{]+\{[^{]+font-family: "Tahoma", sans-serif;]m)
784
+ .to match(%r[blockquote[^{]+\{[^{]+font-family: "Gesta", "Tahoma", sans-serif;]m)
713
785
  expect(html)
714
- .to match(%r[\.h2Annex[^{]+\{[^{]+font-family: "Tahoma", sans-serif;]m)
786
+ .to match(%r[\.h2Annex[^{]+\{[^{]+font-family: "Gesta", "Tahoma", sans-serif;]m)
715
787
  end
716
788
 
717
789
  it "uses Chinese fonts" do
@@ -773,6 +845,4 @@ OUTPUT
773
845
  expect(word).to match(%r[mso-style-name: "Intro Title";]m)
774
846
  expect(html).not_to match(%r[mso-style-name: "Intro Title";]m)
775
847
  end
776
-
777
-
778
848
  end