metanorma-standoc 1.10.4.1 → 1.10.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.adoc +19 -23
- data/lib/asciidoctor/standoc/base.rb +11 -13
- data/lib/asciidoctor/standoc/basicdoc.rng +21 -4
- data/lib/asciidoctor/standoc/blocks.rb +27 -22
- data/lib/asciidoctor/standoc/blocks_notes.rb +17 -22
- data/lib/asciidoctor/standoc/cleanup.rb +38 -71
- data/lib/asciidoctor/standoc/cleanup_block.rb +5 -70
- data/lib/asciidoctor/standoc/cleanup_image.rb +6 -7
- data/lib/asciidoctor/standoc/cleanup_inline.rb +27 -98
- data/lib/asciidoctor/standoc/cleanup_maths.rb +113 -21
- data/lib/asciidoctor/standoc/cleanup_ref.rb +5 -0
- data/lib/asciidoctor/standoc/cleanup_reqt.rb +56 -18
- data/lib/asciidoctor/standoc/cleanup_section.rb +1 -0
- data/lib/asciidoctor/standoc/cleanup_section_names.rb +31 -14
- data/lib/asciidoctor/standoc/cleanup_table.rb +68 -0
- data/lib/asciidoctor/standoc/cleanup_terms.rb +1 -1
- data/lib/asciidoctor/standoc/cleanup_text.rb +73 -0
- data/lib/asciidoctor/standoc/cleanup_xref.rb +107 -0
- data/lib/asciidoctor/standoc/converter.rb +13 -0
- data/lib/asciidoctor/standoc/isodoc.rng +241 -61
- data/lib/asciidoctor/standoc/lists.rb +15 -15
- data/lib/asciidoctor/standoc/macros.rb +14 -43
- data/lib/asciidoctor/standoc/macros_note.rb +45 -0
- data/lib/asciidoctor/standoc/macros_terms.rb +33 -15
- data/lib/asciidoctor/standoc/reqt.rb +2 -2
- data/lib/asciidoctor/standoc/reqt.rng +23 -2
- data/lib/asciidoctor/standoc/table.rb +22 -20
- data/lib/asciidoctor/standoc/terms.rb +9 -1
- data/lib/asciidoctor/standoc/validate.rb +23 -14
- data/lib/asciidoctor/standoc/validate_section.rb +5 -2
- data/lib/metanorma/standoc/version.rb +1 -1
- data/metanorma-standoc.gemspec +1 -1
- data/spec/asciidoctor/base_spec.rb +0 -33
- data/spec/asciidoctor/blank_spec.rb +37 -0
- data/spec/asciidoctor/blocks_spec.rb +151 -30
- data/spec/asciidoctor/cleanup_blocks_spec.rb +1018 -0
- data/spec/asciidoctor/cleanup_sections_spec.rb +207 -0
- data/spec/asciidoctor/cleanup_spec.rb +193 -1078
- data/spec/asciidoctor/inline_spec.rb +36 -0
- data/spec/asciidoctor/isobib_cache_spec.rb +8 -8
- data/spec/asciidoctor/lists_spec.rb +6 -6
- data/spec/asciidoctor/macros_plantuml_spec.rb +1 -1
- data/spec/asciidoctor/macros_spec.rb +41 -26
- data/spec/asciidoctor/refs_dl_spec.rb +1 -1
- data/spec/asciidoctor/refs_spec.rb +220 -444
- data/spec/asciidoctor/section_spec.rb +1 -1
- data/spec/asciidoctor/validate_spec.rb +51 -0
- data/spec/assets/xref_error.adoc +1 -0
- data/spec/fixtures/datamodel_description_sections_tree.xml +24 -24
- data/spec/spec_helper.rb +5 -7
- data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec.yml +231 -143
- data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec1.yml +152 -0
- data/spec/vcr_cassettes/isobib_get_123.yml +52 -36
- data/spec/vcr_cassettes/isobib_get_123_1.yml +103 -71
- data/spec/vcr_cassettes/isobib_get_123_1_fr.yml +112 -80
- data/spec/vcr_cassettes/isobib_get_123_2001.yml +50 -34
- data/spec/vcr_cassettes/isobib_get_124.yml +51 -35
- data/spec/vcr_cassettes/rfcbib_get_rfc8341.yml +16 -16
- data/spec/vcr_cassettes/separates_iev_citations_by_top_level_clause.yml +70 -46
- metadata +11 -4
@@ -1202,7 +1202,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
1202
1202
|
</annex>
|
1203
1203
|
<annex id='_' obligation='' language='' script=''>
|
1204
1204
|
<references id='app' obligation='informative' normative="false">
|
1205
|
-
<title>
|
1205
|
+
<title>Normative Reference</title>
|
1206
1206
|
</references>
|
1207
1207
|
</annex>
|
1208
1208
|
</standard-document>
|
@@ -340,6 +340,29 @@ RSpec.describe Asciidoctor::Standoc do
|
|
340
340
|
# INPUT
|
341
341
|
# end
|
342
342
|
|
343
|
+
it "warns and aborts if concept attributes are malformed" do
|
344
|
+
FileUtils.rm_f "test.xml"
|
345
|
+
FileUtils.rm_f "test.err"
|
346
|
+
begin
|
347
|
+
input = <<~INPUT
|
348
|
+
= Document title
|
349
|
+
Author
|
350
|
+
:docfile: test.adoc
|
351
|
+
:nodoc:
|
352
|
+
|
353
|
+
== Symbols and Abbreviated Terms
|
354
|
+
[[def]]DEF:: def
|
355
|
+
|
356
|
+
{{<<def>>,term,option="noital"}}
|
357
|
+
INPUT
|
358
|
+
expect { Asciidoctor.convert(input, *OPTIONS) }.to raise_error(RuntimeError)
|
359
|
+
rescue SystemExit, RuntimeError
|
360
|
+
end
|
361
|
+
expect(File.read("test.err"))
|
362
|
+
.to include 'processing {{<<def>>,term,option="noital"}}: error processing ,term,option="noital" as CSV'
|
363
|
+
expect(File.exist?("test.xml")).to be false
|
364
|
+
end
|
365
|
+
|
343
366
|
it "warns and aborts if concept/xref does not point to term or definition" do
|
344
367
|
FileUtils.rm_f "test.xml"
|
345
368
|
FileUtils.rm_f "test.err"
|
@@ -467,4 +490,32 @@ RSpec.describe Asciidoctor::Standoc do
|
|
467
490
|
expect(File.read("test.err"))
|
468
491
|
.to include "Could not resolve footnoteblock:[id1]"
|
469
492
|
end
|
493
|
+
|
494
|
+
it "Warning if xref/@target does not point to a real identifier" do
|
495
|
+
FileUtils.rm_f "test.err"
|
496
|
+
Asciidoctor.convert(<<~"INPUT", *OPTIONS)
|
497
|
+
= Document title
|
498
|
+
Author
|
499
|
+
:docfile: test.adoc
|
500
|
+
:no-pdf:
|
501
|
+
|
502
|
+
<<id1>>
|
503
|
+
|
504
|
+
[[id2]]
|
505
|
+
[NOTE]
|
506
|
+
--
|
507
|
+
|===
|
508
|
+
|a |b
|
509
|
+
|
510
|
+
|c |d
|
511
|
+
|===
|
512
|
+
|
513
|
+
* A
|
514
|
+
* B
|
515
|
+
* C
|
516
|
+
--
|
517
|
+
INPUT
|
518
|
+
expect(File.read("test.err"))
|
519
|
+
.to include "Crossreference target id1 is undefined"
|
520
|
+
end
|
470
521
|
end
|
data/spec/assets/xref_error.adoc
CHANGED
@@ -1,13 +1,13 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
1
|
+
<preface>
|
2
|
+
<foreword id='_' obligation='informative'>
|
3
|
+
<title>Foreword</title>
|
4
|
+
<p id='_'>mine text</p>
|
5
|
+
</foreword>
|
6
|
+
</preface>
|
7
7
|
<sections>
|
8
8
|
<clause id='_' inline-header='false' obligation='normative'>
|
9
9
|
<title>Wrapper nested package package</title>
|
10
|
-
<clause id='
|
10
|
+
<clause id='section-EAPK_9C96A88B_E98B_490b_8A9C_24AEDAC64293' inline-header='false' obligation='normative'>
|
11
11
|
<title>Wrapper nested package overview</title>
|
12
12
|
<p id='_'>Diagram text</p>
|
13
13
|
<figure id='figure-EAID_0E029ABF_C35A_49e3_9EEA_FFD4F32780A8'>
|
@@ -24,7 +24,7 @@
|
|
24
24
|
</clause>
|
25
25
|
<clause id='_' inline-header='false' obligation='normative'>
|
26
26
|
<title>ISO 19135 Procedures for item registration XML package</title>
|
27
|
-
<clause id='
|
27
|
+
<clause id='section-EAPK_9C96A88B_E98B_490b_8A9C_24AEDAC64293' inline-header='false' obligation='normative'>
|
28
28
|
<title>ISO 19135 Procedures for item registration XML overview</title>
|
29
29
|
<p id='_'>Diagram text</p>
|
30
30
|
<figure id='figure-EAID_0E029ABF_C35A_49e3_9EEA_FFD4F32780A8'>
|
@@ -34,8 +34,11 @@
|
|
34
34
|
</clause>
|
35
35
|
<clause id='_' inline-header='false' obligation='normative'>
|
36
36
|
<title>Defining tables</title>
|
37
|
-
<table id='
|
38
|
-
<name>
|
37
|
+
<table id='section-EAID_82206E96_8D23_48dd_AC2F_31939C484AF2' width='100%'>
|
38
|
+
<name>
|
39
|
+
Elements of “ISO 19135 Procedures for item registration
|
40
|
+
XML::RE_Register” (interface)
|
41
|
+
</name>
|
39
42
|
<tbody>
|
40
43
|
<tr>
|
41
44
|
<th valign='top' align='left'>Name:</th>
|
@@ -74,14 +77,14 @@
|
|
74
77
|
<tr>
|
75
78
|
<th valign='top' align='left'>Abstract:</th>
|
76
79
|
<td colspan='7' valign='top' align='left'>
|
77
|
-
<p id='_'>
|
80
|
+
<p id='_'>True</p>
|
78
81
|
</td>
|
79
82
|
</tr>
|
80
83
|
<tr>
|
81
84
|
<th valign='top' rowspan='2' align='left'>Associations:</th>
|
82
85
|
<td colspan='4' valign='top' align='left'>
|
83
86
|
<p id='_'>
|
84
|
-
<em>Association with
|
87
|
+
<em>Association with</em>
|
85
88
|
</p>
|
86
89
|
</td>
|
87
90
|
<td valign='top' align='left'>
|
@@ -96,7 +99,7 @@
|
|
96
99
|
</td>
|
97
100
|
<td valign='top' align='left'>
|
98
101
|
<p id='_'>
|
99
|
-
<em>Provides
|
102
|
+
<em>Provides</em>
|
100
103
|
</p>
|
101
104
|
</td>
|
102
105
|
</tr>
|
@@ -159,14 +162,14 @@
|
|
159
162
|
languages other than the operating language of the register.
|
160
163
|
The attribute
|
161
164
|
<em>alternativeLanguages</em>
|
162
|
-
|
165
|
+
shall be represented as a set of instances of RE_Locale,
|
163
166
|
each specifying an additional unique locale used by items in
|
164
167
|
the register. Every member of the set shall be used by at
|
165
168
|
least one item in the register. The
|
166
169
|
<em>locale</em>
|
167
|
-
|
170
|
+
of every
|
168
171
|
<em>alternativeExpression</em>
|
169
|
-
|
172
|
+
used by any item in the register shall be included in this
|
170
173
|
set of RE_Locales. This attribute provides a summary of
|
171
174
|
alternative locales used by items in a register. Register
|
172
175
|
owners shall specify and publish their policy as to whether
|
@@ -226,7 +229,7 @@
|
|
226
229
|
within the set of registers maintained by the register
|
227
230
|
owner. In the case of a hierarchical register, the “
|
228
231
|
<em>name”</em>
|
229
|
-
|
232
|
+
of a subregister shall uniquely identify that subregister
|
230
233
|
within the scope EXAMPLE �ISO/TC 211
|
231
234
|
Register of Feature Data Dictionaries and Feature
|
232
235
|
Catalogues� might be the name of the
|
@@ -285,9 +288,9 @@
|
|
285
288
|
as its value a set of URI’s, each referencing
|
286
289
|
information about online resources associated with the
|
287
290
|
register. EXAMPLE
|
288
|
-
�http://www.digest.org/Navigate2.htm� and �http://www.epa.gov/opppmsd1/PPISdata/index.html� are sample valuescorresponding value of the attribute
|
291
|
+
�http://www.digest.org/Navigate2.htm� and �http://www.epa.gov/opppmsd1/PPISdata/index.html� are sample valuescorresponding value of the attribute
|
289
292
|
<em>OnLineResource.linkage</em>
|
290
|
-
|
293
|
+
specifies a resource providing access to the complete
|
291
294
|
content of the register. EXAMPLE
|
292
295
|
�http://www.digest.org/Navigate2.htm� and �http://www.epa.gov/opppmsd1/PPISdata/index.html� are sample values of
|
293
296
|
<em>OnLineResource.linkage</em>
|
@@ -306,14 +309,11 @@
|
|
306
309
|
</td>
|
307
310
|
</tr>
|
308
311
|
<tr>
|
309
|
-
<
|
310
|
-
<p id='_'>
|
311
|
-
<strong>Constraints:</strong>
|
312
|
-
</p>
|
313
|
-
</td>
|
312
|
+
<th valign='top' align='left'>Constraints:</th>
|
314
313
|
<td colspan='7' valign='top' align='left'>
|
315
314
|
<p id='_'>
|
316
315
|
<tt>count(self.version +self.dateOfLastChange) >= 1</tt>
|
316
|
+
: ``
|
317
317
|
</p>
|
318
318
|
</td>
|
319
319
|
</tr>
|
data/spec/spec_helper.rb
CHANGED
@@ -40,11 +40,9 @@ RSpec.configure do |config|
|
|
40
40
|
end
|
41
41
|
|
42
42
|
config.around :each do |example|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
fail "Unexpected exit encountered"
|
47
|
-
end
|
43
|
+
example.run
|
44
|
+
rescue SystemExit
|
45
|
+
fail "Unexpected exit encountered"
|
48
46
|
end
|
49
47
|
end
|
50
48
|
|
@@ -231,7 +229,7 @@ def stub_fetch_ref(**opts)
|
|
231
229
|
xml = ""
|
232
230
|
|
233
231
|
hit = double("hit")
|
234
|
-
expect(hit).to receive(:
|
232
|
+
expect(hit).to receive(:[]).with("title") do
|
235
233
|
Nokogiri::XML(xml).at("//docidentifier").content
|
236
234
|
end.at_least(:once)
|
237
235
|
|
@@ -261,7 +259,7 @@ end
|
|
261
259
|
private
|
262
260
|
|
263
261
|
def get_xml(search, code, opts)
|
264
|
-
c = code.gsub(%r{[
|
262
|
+
c = code.gsub(%r{[/\s:-]}, "_").sub(%r{_+$}, "").downcase
|
265
263
|
o = opts.keys.join "_"
|
266
264
|
file = examples_path("#{[c, o].join '_'}.xml")
|
267
265
|
if File.exist? file
|