metanorma-standoc 1.9.4 → 1.10.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.
- checksums.yaml +4 -4
- data/.github/workflows/rake.yml +1 -1
- data/.rubocop.yml +1 -1
- data/lib/asciidoctor/standoc/cleanup_inline.rb +117 -77
- data/lib/asciidoctor/standoc/cleanup_ref.rb +7 -0
- data/lib/asciidoctor/standoc/cleanup_terms.rb +19 -18
- data/lib/asciidoctor/standoc/inline.rb +20 -17
- data/lib/asciidoctor/standoc/isodoc.rng +18 -1
- data/lib/asciidoctor/standoc/macros_plantuml.rb +19 -21
- data/lib/asciidoctor/standoc/macros_terms.rb +33 -23
- data/lib/asciidoctor/standoc/term_lookup_cleanup.rb +10 -12
- data/lib/asciidoctor/standoc/terms.rb +1 -1
- data/lib/asciidoctor/standoc/validate.rb +21 -8
- data/lib/metanorma/standoc/version.rb +1 -1
- data/metanorma-standoc.gemspec +2 -2
- data/spec/asciidoctor/blocks_spec.rb +6 -6
- data/spec/asciidoctor/cleanup_spec.rb +37 -6
- data/spec/asciidoctor/isobib_cache_spec.rb +4 -6
- data/spec/asciidoctor/lists_spec.rb +147 -135
- data/spec/asciidoctor/macros_spec.rb +505 -181
- data/spec/asciidoctor/refs_spec.rb +12 -12
- data/spec/asciidoctor/validate_spec.rb +66 -20
- data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec.yml +42 -42
- data/spec/vcr_cassettes/isobib_get_123.yml +12 -12
- data/spec/vcr_cassettes/isobib_get_123_1.yml +26 -26
- data/spec/vcr_cassettes/isobib_get_123_1_fr.yml +35 -35
- data/spec/vcr_cassettes/isobib_get_123_2001.yml +13 -13
- data/spec/vcr_cassettes/isobib_get_124.yml +12 -12
- data/spec/vcr_cassettes/rfcbib_get_rfc8341.yml +13 -13
- data/spec/vcr_cassettes/separates_iev_citations_by_top_level_clause.yml +51 -61
- metadata +5 -5
@@ -2,8 +2,6 @@ require "spec_helper"
|
|
2
2
|
require "relaton_iso"
|
3
3
|
require "fileutils"
|
4
4
|
|
5
|
-
OPTIONS = [backend: :standoc, header_footer: true].freeze
|
6
|
-
|
7
5
|
IETF_123_SHORT = <<~XML.freeze
|
8
6
|
<bibitem type="standard" id="IETF123">
|
9
7
|
<title format="text/plain" language="en" script="Latn">Rubber latex -- Sampling</title>
|
@@ -127,7 +125,7 @@ ISO_123_UNDATED = <<~XML.freeze
|
|
127
125
|
<script>Latn</script>
|
128
126
|
<status>
|
129
127
|
<stage>90</stage>
|
130
|
-
<substage>
|
128
|
+
<substage>93</substage>
|
131
129
|
</status>
|
132
130
|
<copyright>
|
133
131
|
<from>2001</from>
|
@@ -168,7 +166,7 @@ ISO_123_UNDATED = <<~XML.freeze
|
|
168
166
|
<script>Latn</script>
|
169
167
|
<status>
|
170
168
|
<stage>90</stage>
|
171
|
-
<substage>
|
169
|
+
<substage>93</substage>
|
172
170
|
</status>
|
173
171
|
<copyright>
|
174
172
|
<from>2001</from>
|
@@ -211,7 +209,7 @@ ISO_123_DATED = <<~XML.freeze
|
|
211
209
|
<uri type="obp">https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
|
212
210
|
<uri type="rss">https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
|
213
211
|
<docidentifier type="ISO">ISO 123:2001</docidentifier>
|
214
|
-
<docidentifier type='URN'>urn:iso:std:iso:123:stage-90.
|
212
|
+
<docidentifier type='URN'>urn:iso:std:iso:123:stage-90.93:ed-3:en</docidentifier>
|
215
213
|
<docnumber>123</docnumber>
|
216
214
|
<date type="published">
|
217
215
|
<on>2001-05</on>
|
@@ -236,7 +234,7 @@ ISO_123_DATED = <<~XML.freeze
|
|
236
234
|
</abstract>
|
237
235
|
<status>
|
238
236
|
<stage>90</stage>
|
239
|
-
<substage>
|
237
|
+
<substage>93</substage>
|
240
238
|
</status>
|
241
239
|
<copyright>
|
242
240
|
<from>2001</from>
|
@@ -21,55 +21,55 @@ RSpec.describe Asciidoctor::Standoc do
|
|
21
21
|
|
22
22
|
INPUT
|
23
23
|
expect(xmlpp(strip_guid(output))).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
</standard-document>
|
24
|
+
#{BLANK_HDR}
|
25
|
+
<sections>
|
26
|
+
<ul id='_'>
|
27
|
+
<li>
|
28
|
+
<p id='_'>List 1</p>
|
29
|
+
</li>
|
30
|
+
<li>
|
31
|
+
<p id='_'>List 2</p>
|
32
|
+
</li>
|
33
|
+
<li>
|
34
|
+
<p id='_'>List 3</p>
|
35
|
+
</li>
|
36
|
+
<li uncheckedcheckbox='false' checkedcheckbox='true'>
|
37
|
+
<p id='_'>checked</p>
|
38
|
+
</li>
|
39
|
+
<li uncheckedcheckbox='false' checkedcheckbox='true'>
|
40
|
+
<p id='_'>also checked</p>
|
41
|
+
</li>
|
42
|
+
<li uncheckedcheckbox='true' checkedcheckbox='false'>
|
43
|
+
<p id='_'>not checked</p>
|
44
|
+
<ol id='_' type='arabic'>
|
45
|
+
<li>
|
46
|
+
<p id='_'>List A</p>
|
47
|
+
</li>
|
48
|
+
<li>
|
49
|
+
<p id='_'>List B</p>
|
50
|
+
</li>
|
51
|
+
<li>
|
52
|
+
<p id='_'>List C</p>
|
53
|
+
<dl id='_'>
|
54
|
+
<dt>List D</dt>
|
55
|
+
<dd>
|
56
|
+
<p id='_'>List E</p>
|
57
|
+
</dd>
|
58
|
+
<dt>List F</dt>
|
59
|
+
<dd>
|
60
|
+
<p id='_'>List G</p>
|
61
|
+
</dd>
|
62
|
+
</dl>
|
63
|
+
</li>
|
64
|
+
</ol>
|
65
|
+
</li>
|
66
|
+
</ul>
|
67
|
+
</sections>
|
68
|
+
</standard-document>
|
69
69
|
OUTPUT
|
70
70
|
end
|
71
71
|
|
72
|
-
|
72
|
+
it "processes complex lists" do
|
73
73
|
output = Asciidoctor.convert(<<~"INPUT", *OPTIONS)
|
74
74
|
#{ASCIIDOC_BLANK_HDR}
|
75
75
|
[[id]]
|
@@ -116,99 +116,111 @@ RSpec.describe Asciidoctor::Standoc do
|
|
116
116
|
|
117
117
|
INPUT
|
118
118
|
expect(xmlpp(strip_guid(output))).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
</
|
186
|
-
</
|
187
|
-
|
188
|
-
|
189
|
-
end
|
119
|
+
#{BLANK_HDR}
|
120
|
+
<sections><ul id="id" keep-with-next="true" keep-lines-together="true">
|
121
|
+
<li>
|
122
|
+
<p id="_">First</p>
|
123
|
+
</li>
|
124
|
+
<li><p id="_">Second</p><p id="_">entry1</p>
|
125
|
+
<p id="_">entry2</p></li>
|
126
|
+
</ul>
|
127
|
+
<ol id="id1" type="alphabet" keep-with-next="true" keep-lines-together="true">
|
128
|
+
<li>
|
129
|
+
<p id="_">First</p>
|
130
|
+
</li>
|
131
|
+
<li>
|
132
|
+
<p id="_">Second</p>
|
133
|
+
<ol id="_" type="alphabet_upper">
|
134
|
+
<li>
|
135
|
+
<p id="_">Third</p>
|
136
|
+
</li>
|
137
|
+
<li>
|
138
|
+
<p id="_">Fourth</p>
|
139
|
+
</li>
|
140
|
+
</ol>
|
141
|
+
</li>
|
142
|
+
<li>
|
143
|
+
<p id="_">Fifth</p>
|
144
|
+
</li>
|
145
|
+
<li>
|
146
|
+
<p id="_">Sixth</p>
|
147
|
+
</li>
|
148
|
+
</ol>
|
149
|
+
<ol id="_" type="roman">
|
150
|
+
<li>
|
151
|
+
<p id="_">A</p>
|
152
|
+
</li>
|
153
|
+
<li>
|
154
|
+
<p id="_">B</p>
|
155
|
+
<ol id="_" type="roman_upper">
|
156
|
+
<li>
|
157
|
+
<p id="_">C</p>
|
158
|
+
</li>
|
159
|
+
<li>
|
160
|
+
<p id="_">D</p>
|
161
|
+
<ol id="_" type="arabic">
|
162
|
+
<li>
|
163
|
+
<p id="_">E</p>
|
164
|
+
</li>
|
165
|
+
<li>
|
166
|
+
<p id="_">F</p>
|
167
|
+
<dl id="_" keep-with-next="true" keep-lines-together="true">
|
168
|
+
<dt>Notes1</dt>
|
169
|
+
<dd/>
|
170
|
+
<dt>Notes</dt>
|
171
|
+
<dd><p id="_">Note 1.</p><p id="_">Note 2.</p>
|
172
|
+
<p id="_">Note 3.</p></dd>
|
173
|
+
</dl>
|
174
|
+
</li>
|
175
|
+
</ol>
|
176
|
+
</li>
|
177
|
+
</ol>
|
178
|
+
</li>
|
179
|
+
</ol><dl id='_' key='true'>
|
180
|
+
<dt>a</dt>
|
181
|
+
<dd>
|
182
|
+
<p id='_'>b</p>
|
183
|
+
</dd>
|
184
|
+
</dl>
|
185
|
+
</sections>
|
186
|
+
</standard-document>
|
187
|
+
OUTPUT
|
188
|
+
end
|
190
189
|
|
191
|
-
|
192
|
-
|
190
|
+
it "anchors lists and list items" do
|
191
|
+
input = <<~INPUT
|
193
192
|
#{ASCIIDOC_BLANK_HDR}
|
194
193
|
[[id1]]
|
195
194
|
* [[id2]] List item
|
196
195
|
* Hello [[id3]] List item
|
197
196
|
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
197
|
+
[[id4]]
|
198
|
+
[[id5]]a:: [[id6]]b
|
199
|
+
INPUT
|
200
|
+
output = <<~OUTPUT
|
201
|
+
#{BLANK_HDR}
|
202
|
+
<sections>
|
203
|
+
<ul id="id1">
|
204
|
+
<li id="id2">
|
205
|
+
<p id="_">List item</p>
|
206
|
+
</li>
|
207
|
+
<li>
|
208
|
+
<p id="_">Hello <bookmark id="id3"/> List item</p>
|
209
|
+
</li>
|
210
|
+
</ul>
|
211
|
+
<dl id='id4'>
|
212
|
+
<dt id='id5'>a</dt>
|
213
|
+
<dd>
|
214
|
+
<p id='_'>
|
215
|
+
<bookmark id='id6'/>
|
216
|
+
b
|
217
|
+
</p>
|
218
|
+
</dd>
|
219
|
+
</dl>
|
220
|
+
</sections>
|
221
|
+
</standard-document>
|
222
|
+
OUTPUT
|
223
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
224
|
+
.to be_equivalent_to xmlpp(output)
|
225
|
+
end
|
214
226
|
end
|
@@ -2,7 +2,7 @@ require "spec_helper"
|
|
2
2
|
|
3
3
|
RSpec.describe Asciidoctor::Standoc do
|
4
4
|
it "processes the Asciidoctor::Standoc inline macros" do
|
5
|
-
|
5
|
+
input = <<~INPUT
|
6
6
|
#{ASCIIDOC_BLANK_HDR}
|
7
7
|
alt:[term1]
|
8
8
|
deprecated:[term1]
|
@@ -15,6 +15,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
15
15
|
== Bibliography
|
16
16
|
* [[[ref1,XYZ 123]]] _Title_
|
17
17
|
INPUT
|
18
|
+
output = <<~OUTPUT
|
18
19
|
#{BLANK_HDR}
|
19
20
|
<preface>
|
20
21
|
<foreword id='_' obligation='informative'>
|
@@ -48,10 +49,12 @@ RSpec.describe Asciidoctor::Standoc do
|
|
48
49
|
</bibliography>
|
49
50
|
</standard-document>
|
50
51
|
OUTPUT
|
52
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
53
|
+
.to be_equivalent_to xmlpp(output)
|
51
54
|
end
|
52
55
|
|
53
56
|
it "processes the Asciidoctor::Standoc index macros" do
|
54
|
-
|
57
|
+
input = <<~INPUT
|
55
58
|
#{ASCIIDOC_BLANK_HDR}
|
56
59
|
index:also[]
|
57
60
|
index:see[A]
|
@@ -67,6 +70,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
67
70
|
|
68
71
|
Text [[id3]]
|
69
72
|
INPUT
|
73
|
+
output = <<~OUTPUT
|
70
74
|
#{BLANK_HDR}
|
71
75
|
<sections>
|
72
76
|
<p id='_'>
|
@@ -117,16 +121,19 @@ RSpec.describe Asciidoctor::Standoc do
|
|
117
121
|
</sections>
|
118
122
|
</standard-document>
|
119
123
|
OUTPUT
|
124
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
125
|
+
.to be_equivalent_to xmlpp(output)
|
120
126
|
end
|
121
127
|
|
122
128
|
it "processes the Asciidoctor::Standoc variant macros" do
|
123
|
-
|
129
|
+
input = <<~INPUT
|
124
130
|
#{ASCIIDOC_BLANK_HDR}
|
125
131
|
== lang:en[English] lang:fr-Latn[Français]
|
126
132
|
|
127
133
|
this lang:en[English] lang:fr-Latn[Français] section is lang:en[silly] lang:fr[fou]
|
128
134
|
|
129
135
|
INPUT
|
136
|
+
output = <<~OUTPUT
|
130
137
|
#{BLANK_HDR}
|
131
138
|
<sections>
|
132
139
|
<clause id='_' inline-header='false' obligation='normative'>
|
@@ -150,134 +157,120 @@ RSpec.describe Asciidoctor::Standoc do
|
|
150
157
|
</sections>
|
151
158
|
</standard-document>
|
152
159
|
OUTPUT
|
160
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
161
|
+
.to be_equivalent_to xmlpp(output)
|
153
162
|
end
|
154
163
|
|
155
164
|
it "processes the Asciidoctor::Standoc concept macros" do
|
156
|
-
|
165
|
+
input = <<~INPUT
|
157
166
|
#{ASCIIDOC_BLANK_HDR}
|
158
167
|
{{clause1}}
|
168
|
+
term:[clause1]
|
159
169
|
{{clause1,w\[o\]rd}}
|
170
|
+
term:[clause1,w[o]rd]
|
160
171
|
{{clause1,w\[o\]rd,term}}
|
161
172
|
{{blah}}
|
173
|
+
term:[blah]
|
162
174
|
{{blah,word}}
|
163
|
-
|
164
|
-
{{blah,
|
165
|
-
{{blah,clause=3.1,word}}
|
166
|
-
{{blah,clause=3.1,word,term}}
|
167
|
-
{{blah,clause=3.1,figure=a}}
|
168
|
-
{{blah,clause=3.1,figure=a,word}}
|
169
|
-
{{blah,clause=3.1,figure=a,word,term}}
|
170
|
-
{{IEV:135-13-13}}
|
171
|
-
{{IEV:135-13-13,word}}
|
172
|
-
{{IEV:135-13-13,word,term}}
|
175
|
+
term:[blah,word]
|
176
|
+
{{blah,term,word}}
|
173
177
|
|
174
178
|
[[clause1]]
|
175
179
|
== Clause
|
176
180
|
Terms are defined here
|
177
|
-
|
178
|
-
[bibliography]
|
179
|
-
== Bibliography
|
180
|
-
* [[[blah,blah]]] _Blah_
|
181
181
|
INPUT
|
182
|
+
output = <<~OUTPUT
|
182
183
|
#{BLANK_HDR}
|
183
184
|
<preface>
|
184
185
|
<foreword id='_' obligation='informative'>
|
185
186
|
<title>Foreword</title>
|
186
187
|
<p id='_'>
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
<
|
236
|
-
|
237
|
-
|
238
|
-
<
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
<
|
251
|
-
</
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
<
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
<termref base='IEV' target='135-13-13'/>
|
274
|
-
</concept>
|
275
|
-
<concept>
|
276
|
-
<termref base='IEV' target='135-13-13'>word</termref>
|
277
|
-
</concept>
|
278
|
-
<concept term='term'>
|
279
|
-
<termref base='IEV' target='135-13-13'>word</termref>
|
280
|
-
</concept>
|
188
|
+
<concept>
|
189
|
+
<strong>
|
190
|
+
term
|
191
|
+
<tt>clause1</tt>
|
192
|
+
not resolved via ID
|
193
|
+
<tt>clause1</tt>
|
194
|
+
</strong>
|
195
|
+
</concept>
|
196
|
+
<concept>
|
197
|
+
<strong>
|
198
|
+
term
|
199
|
+
<tt>clause1</tt>
|
200
|
+
not resolved via ID
|
201
|
+
<tt>clause1</tt>
|
202
|
+
</strong>
|
203
|
+
</concept>
|
204
|
+
<concept>
|
205
|
+
<strong>
|
206
|
+
term
|
207
|
+
<tt>clause1</tt>, display <tt>w[o]rd</tt>
|
208
|
+
not resolved via ID
|
209
|
+
<tt>clause1</tt>
|
210
|
+
</strong>
|
211
|
+
</concept>
|
212
|
+
<concept>
|
213
|
+
<strong>
|
214
|
+
term
|
215
|
+
<tt>clause1</tt>, display <tt>w[o]rd</tt>
|
216
|
+
not resolved via ID
|
217
|
+
<tt>clause1</tt>
|
218
|
+
</strong>
|
219
|
+
</concept>
|
220
|
+
<concept>
|
221
|
+
<strong>
|
222
|
+
term
|
223
|
+
<tt>clause1</tt>, display <tt>w[o]rd</tt>
|
224
|
+
not resolved via ID
|
225
|
+
<tt>clause1</tt>
|
226
|
+
</strong>
|
227
|
+
</concept>
|
228
|
+
<concept>
|
229
|
+
<strong>
|
230
|
+
term
|
231
|
+
<tt>blah</tt>
|
232
|
+
not resolved via ID
|
233
|
+
<tt>blah</tt>
|
234
|
+
</strong>
|
235
|
+
</concept>
|
236
|
+
<concept>
|
237
|
+
<strong>
|
238
|
+
term
|
239
|
+
<tt>blah</tt>
|
240
|
+
not resolved via ID
|
241
|
+
<tt>blah</tt>
|
242
|
+
</strong>
|
243
|
+
</concept>
|
244
|
+
<concept>
|
245
|
+
<strong>
|
246
|
+
term
|
247
|
+
<tt>blah</tt>
|
248
|
+
, display
|
249
|
+
<tt>word</tt>
|
250
|
+
not resolved via ID
|
251
|
+
<tt>blah</tt>
|
252
|
+
</strong>
|
253
|
+
</concept>
|
254
|
+
<concept>
|
255
|
+
<strong>
|
256
|
+
term
|
257
|
+
<tt>blah</tt>
|
258
|
+
, display
|
259
|
+
<tt>word</tt>
|
260
|
+
not resolved via ID
|
261
|
+
<tt>blah</tt>
|
262
|
+
</strong>
|
263
|
+
</concept>
|
264
|
+
<concept>
|
265
|
+
<strong>
|
266
|
+
term
|
267
|
+
<tt>blah</tt>
|
268
|
+
, display
|
269
|
+
<tt>term</tt>
|
270
|
+
not resolved via ID
|
271
|
+
<tt>blah</tt>
|
272
|
+
</strong>
|
273
|
+
</concept>
|
281
274
|
</p>
|
282
275
|
</foreword>
|
283
276
|
</preface>
|
@@ -287,23 +280,238 @@ RSpec.describe Asciidoctor::Standoc do
|
|
287
280
|
<p id='_'>Terms are defined here</p>
|
288
281
|
</clause>
|
289
282
|
</sections>
|
290
|
-
<bibliography>
|
291
|
-
<references id='_' obligation='informative' normative="false">
|
292
|
-
<title>Bibliography</title>
|
293
|
-
<bibitem id='blah'>
|
294
|
-
<formattedref format='application/x-isodoc+xml'>
|
295
|
-
<em>Blah</em>
|
296
|
-
</formattedref>
|
297
|
-
<docidentifier>blah</docidentifier>
|
298
|
-
</bibitem>
|
299
|
-
</references>
|
300
|
-
</bibliography>
|
301
283
|
</standard-document>
|
302
284
|
OUTPUT
|
285
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
286
|
+
.to be_equivalent_to xmlpp(output)
|
287
|
+
end
|
288
|
+
|
289
|
+
it "processes the concept macros with xrefs" do
|
290
|
+
input = <<~INPUT
|
291
|
+
#{ASCIIDOC_BLANK_HDR}
|
292
|
+
{{<<clause1>>}}
|
293
|
+
{{<<clause1>>,w\[o\]rd}}
|
294
|
+
{{<<clause1>>,term,w\[o\]rd}}
|
295
|
+
{{<<clause1>>,term,w\[o\]rd,Clause #1}}
|
296
|
+
|
297
|
+
[[clause1]]
|
298
|
+
== Clause
|
299
|
+
Terms are defined here
|
300
|
+
INPUT
|
301
|
+
output = <<~OUTPUT
|
302
|
+
#{BLANK_HDR}
|
303
|
+
<preface>
|
304
|
+
<foreword id='_' obligation='informative'>
|
305
|
+
<title>Foreword</title>
|
306
|
+
<p id='_'>
|
307
|
+
<concept>
|
308
|
+
<xref target='clause1'/>
|
309
|
+
</concept>
|
310
|
+
<concept>
|
311
|
+
<refterm>w[o]rd</refterm>
|
312
|
+
<renderterm>w[o]rd</renderterm>
|
313
|
+
<xref target='clause1'/>
|
314
|
+
</concept>
|
315
|
+
<concept>
|
316
|
+
<refterm>term</refterm>
|
317
|
+
<renderterm>w[o]rd</renderterm>
|
318
|
+
<xref target='clause1'/>
|
319
|
+
</concept>
|
320
|
+
<concept>
|
321
|
+
<refterm>term</refterm>
|
322
|
+
<renderterm>w[o]rd</renderterm>
|
323
|
+
<xref target='clause1'>Clause #1</xref>
|
324
|
+
</concept>
|
325
|
+
</p>
|
326
|
+
</foreword>
|
327
|
+
</preface>
|
328
|
+
<sections>
|
329
|
+
<clause id='clause1' inline-header='false' obligation='normative'>
|
330
|
+
<title>Clause</title>
|
331
|
+
<p id='_'>Terms are defined here</p>
|
332
|
+
</clause>
|
333
|
+
</sections>
|
334
|
+
</standard-document>
|
335
|
+
OUTPUT
|
336
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
337
|
+
.to be_equivalent_to xmlpp(output)
|
338
|
+
end
|
339
|
+
|
340
|
+
it "processes the concept macros with erefs" do
|
341
|
+
input = <<~INPUT
|
342
|
+
#{ASCIIDOC_BLANK_HDR}
|
343
|
+
{{<<blah>>}}
|
344
|
+
{{<<blah>>,word}}
|
345
|
+
{{<<blah>>,term,word}}
|
346
|
+
{{<<blah>>,term,word,Clause #1}}
|
347
|
+
{{<<blah,clause=3.1>>}}
|
348
|
+
{{<<blah,clause=3.1>>,word}}
|
349
|
+
{{<<blah,clause=3.1>>,term,word}}
|
350
|
+
{{<<blah,clause=3.1,figure=a>>}}
|
351
|
+
{{<<blah,clause=3.1,figure=a>>,word}}
|
352
|
+
{{<<blah,clause=3.1,figure=a>>,term,word,Clause #1}}
|
353
|
+
|
354
|
+
[bibliography]
|
355
|
+
== Bibliography
|
356
|
+
* [[[blah,blah]]] _Blah_
|
357
|
+
INPUT
|
358
|
+
output = <<~OUTPUT
|
359
|
+
#{BLANK_HDR}
|
360
|
+
<preface>
|
361
|
+
<foreword id='_' obligation='informative'>
|
362
|
+
<title>Foreword</title>
|
363
|
+
<p id='_'>
|
364
|
+
<concept>
|
365
|
+
<eref bibitemid='blah'/>
|
366
|
+
</concept>
|
367
|
+
<concept>
|
368
|
+
<refterm>word</refterm>
|
369
|
+
<renderterm>word</renderterm>
|
370
|
+
<eref bibitemid='blah'/>
|
371
|
+
</concept>
|
372
|
+
<concept>
|
373
|
+
<refterm>term</refterm>
|
374
|
+
<renderterm>word</renderterm>
|
375
|
+
<eref bibitemid='blah'/>
|
376
|
+
</concept>
|
377
|
+
<concept>
|
378
|
+
<refterm>term</refterm>
|
379
|
+
<renderterm>word</renderterm>
|
380
|
+
<eref bibitemid='blah'>Clause #1</eref>
|
381
|
+
</concept>
|
382
|
+
<concept>
|
383
|
+
<eref bibitemid='blah'>
|
384
|
+
<localityStack>
|
385
|
+
<locality type='clause'>
|
386
|
+
<referenceFrom>3.1</referenceFrom>
|
387
|
+
</locality>
|
388
|
+
</localityStack>
|
389
|
+
</eref>
|
390
|
+
</concept>
|
391
|
+
<concept>
|
392
|
+
<refterm>word</refterm>
|
393
|
+
<renderterm>word</renderterm>
|
394
|
+
<eref bibitemid='blah'>
|
395
|
+
<localityStack>
|
396
|
+
<locality type='clause'>
|
397
|
+
<referenceFrom>3.1</referenceFrom>
|
398
|
+
</locality>
|
399
|
+
</localityStack>
|
400
|
+
</eref>
|
401
|
+
</concept>
|
402
|
+
<concept>
|
403
|
+
<refterm>term</refterm>
|
404
|
+
<renderterm>word</renderterm>
|
405
|
+
<eref bibitemid='blah'>
|
406
|
+
<localityStack>
|
407
|
+
<locality type='clause'>
|
408
|
+
<referenceFrom>3.1</referenceFrom>
|
409
|
+
</locality>
|
410
|
+
</localityStack>
|
411
|
+
</eref>
|
412
|
+
</concept>
|
413
|
+
<concept>
|
414
|
+
<eref bibitemid='blah'>
|
415
|
+
<localityStack>
|
416
|
+
<locality type='clause'>
|
417
|
+
<referenceFrom>3.1</referenceFrom>
|
418
|
+
</locality>
|
419
|
+
<locality type='figure'>
|
420
|
+
<referenceFrom>a</referenceFrom>
|
421
|
+
</locality>
|
422
|
+
</localityStack>
|
423
|
+
</eref>
|
424
|
+
</concept>
|
425
|
+
<concept>
|
426
|
+
<refterm>word</refterm>
|
427
|
+
<renderterm>word</renderterm>
|
428
|
+
<eref bibitemid='blah'>
|
429
|
+
<localityStack>
|
430
|
+
<locality type='clause'>
|
431
|
+
<referenceFrom>3.1</referenceFrom>
|
432
|
+
</locality>
|
433
|
+
<locality type='figure'>
|
434
|
+
<referenceFrom>a</referenceFrom>
|
435
|
+
</locality>
|
436
|
+
</localityStack>
|
437
|
+
</eref>
|
438
|
+
</concept>
|
439
|
+
<concept>
|
440
|
+
<refterm>term</refterm>
|
441
|
+
<renderterm>word</renderterm>
|
442
|
+
<eref bibitemid='blah'>
|
443
|
+
<localityStack>
|
444
|
+
<locality type='clause'>
|
445
|
+
<referenceFrom>3.1</referenceFrom>
|
446
|
+
</locality>
|
447
|
+
<locality type='figure'>
|
448
|
+
<referenceFrom>a</referenceFrom>
|
449
|
+
</locality>
|
450
|
+
</localityStack>
|
451
|
+
Clause #1
|
452
|
+
</eref>
|
453
|
+
</concept>
|
454
|
+
</p>
|
455
|
+
</foreword>
|
456
|
+
</preface>
|
457
|
+
<sections> </sections>
|
458
|
+
<bibliography>
|
459
|
+
<references id='_' normative='false' obligation='informative'>
|
460
|
+
<title>Bibliography</title>
|
461
|
+
<bibitem id='blah'>
|
462
|
+
<formattedref format='application/x-isodoc+xml'>
|
463
|
+
<em>Blah</em>
|
464
|
+
</formattedref>
|
465
|
+
<docidentifier>blah</docidentifier>
|
466
|
+
</bibitem>
|
467
|
+
</references>
|
468
|
+
</bibliography>
|
469
|
+
</standard-document>
|
470
|
+
OUTPUT
|
471
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
472
|
+
.to be_equivalent_to xmlpp(output)
|
473
|
+
end
|
474
|
+
|
475
|
+
it "processes the concept macros with termbase" do
|
476
|
+
input = <<~INPUT
|
477
|
+
#{ASCIIDOC_BLANK_HDR}
|
478
|
+
{{<<IEV:135-13-13>>}}
|
479
|
+
{{<<IEV:135-13-13>>,word}}
|
480
|
+
{{<<IEV:135-13-13>>,term,word}}
|
481
|
+
{{<<IEV:135-13-13>>,term,word,Clause #1}}
|
482
|
+
INPUT
|
483
|
+
output = <<~OUTPUT
|
484
|
+
#{BLANK_HDR}
|
485
|
+
<sections>
|
486
|
+
<p id='_'>
|
487
|
+
<concept>
|
488
|
+
<termref base='IEV' target='135-13-13'/>
|
489
|
+
</concept>
|
490
|
+
<concept>
|
491
|
+
<refterm>word</refterm>
|
492
|
+
<renderterm>word</renderterm>
|
493
|
+
<termref base='IEV' target='135-13-13'/>
|
494
|
+
</concept>
|
495
|
+
<concept>
|
496
|
+
<refterm>term</refterm>
|
497
|
+
<renderterm>word</renderterm>
|
498
|
+
<termref base='IEV' target='135-13-13'/>
|
499
|
+
</concept>
|
500
|
+
<concept>
|
501
|
+
<refterm>term</refterm>
|
502
|
+
<renderterm>word</renderterm>
|
503
|
+
<termref base='IEV' target='135-13-13'>Clause #1</termref>
|
504
|
+
</concept>
|
505
|
+
</p>
|
506
|
+
</sections>
|
507
|
+
</standard-document>
|
508
|
+
OUTPUT
|
509
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
510
|
+
.to be_equivalent_to xmlpp(output)
|
303
511
|
end
|
304
512
|
|
305
513
|
it "processes the TODO custom admonition" do
|
306
|
-
|
514
|
+
input = <<~INPUT
|
307
515
|
#{ASCIIDOC_BLANK_HDR}
|
308
516
|
TODO: Note1
|
309
517
|
|
@@ -315,6 +523,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
315
523
|
[TODO]
|
316
524
|
Note3
|
317
525
|
INPUT
|
526
|
+
output = <<~OUTPUT
|
318
527
|
#{BLANK_HDR}
|
319
528
|
<sections><review reviewer="(Unknown)" id="_" date="#{Date.today}T00:00:00Z">
|
320
529
|
<p id="_"/>
|
@@ -327,10 +536,12 @@ RSpec.describe Asciidoctor::Standoc do
|
|
327
536
|
</review></sections>
|
328
537
|
</standard-document>
|
329
538
|
OUTPUT
|
539
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
540
|
+
.to be_equivalent_to xmlpp(output)
|
330
541
|
end
|
331
542
|
|
332
543
|
it "generates pseudocode examples, with formatting and initial indentation" do
|
333
|
-
|
544
|
+
input = <<~INPUT
|
334
545
|
#{ASCIIDOC_BLANK_HDR}
|
335
546
|
|
336
547
|
[pseudocode,subsequence="A",number="3",keep-with-next=true,keep-lines-together=true]
|
@@ -342,6 +553,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
342
553
|
_C_
|
343
554
|
====
|
344
555
|
INPUT
|
556
|
+
output = <<~OUTPUT
|
345
557
|
#{BLANK_HDR}
|
346
558
|
<sections>
|
347
559
|
<figure id="_" subsequence='A' class="pseudocode" unnumbered="true" number="3" keep-with-next="true" keep-lines-together="true">
|
@@ -351,10 +563,12 @@ RSpec.describe Asciidoctor::Standoc do
|
|
351
563
|
</sections>
|
352
564
|
</standard-document>
|
353
565
|
OUTPUT
|
566
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
567
|
+
.to be_equivalent_to xmlpp(output)
|
354
568
|
end
|
355
569
|
|
356
570
|
it "supplies line breaks in pseudocode" do
|
357
|
-
|
571
|
+
input = <<~INPUT
|
358
572
|
#{ASCIIDOC_BLANK_HDR}
|
359
573
|
|
360
574
|
[pseudocode]
|
@@ -366,6 +580,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
366
580
|
E
|
367
581
|
====
|
368
582
|
INPUT
|
583
|
+
output = <<~OUTPUT
|
369
584
|
#{BLANK_HDR}
|
370
585
|
<sections>
|
371
586
|
<figure id='_' class='pseudocode'>
|
@@ -383,10 +598,12 @@ RSpec.describe Asciidoctor::Standoc do
|
|
383
598
|
</sections>
|
384
599
|
</standard-document>
|
385
600
|
OUTPUT
|
601
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
602
|
+
.to be_equivalent_to xmlpp(output)
|
386
603
|
end
|
387
604
|
|
388
605
|
it "skips embedded blocks when supplying line breaks in pseudocode" do
|
389
|
-
|
606
|
+
input = <<~INPUT
|
390
607
|
#{ASCIIDOC_BLANK_HDR}
|
391
608
|
|
392
609
|
[pseudocode]
|
@@ -397,6 +614,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
397
614
|
++++
|
398
615
|
====
|
399
616
|
INPUT
|
617
|
+
output = <<~OUTPUT
|
400
618
|
#{BLANK_HDR}
|
401
619
|
<sections>
|
402
620
|
<figure id='_' class='pseudocode'>
|
@@ -449,14 +667,17 @@ RSpec.describe Asciidoctor::Standoc do
|
|
449
667
|
</sections>
|
450
668
|
</standard-document>
|
451
669
|
OUTPUT
|
670
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
671
|
+
.to be_equivalent_to xmlpp(output)
|
452
672
|
end
|
453
673
|
|
454
674
|
it "processes the Ruby markups" do
|
455
|
-
|
675
|
+
input = <<~INPUT
|
456
676
|
#{ASCIIDOC_BLANK_HDR}
|
457
677
|
|
458
678
|
ruby:楽聖少女[がくせいしょうじょ]
|
459
679
|
INPUT
|
680
|
+
output = <<~OUTPUT
|
460
681
|
#{BLANK_HDR}
|
461
682
|
<sections>
|
462
683
|
<p id="_">
|
@@ -465,10 +686,12 @@ RSpec.describe Asciidoctor::Standoc do
|
|
465
686
|
</sections>
|
466
687
|
</standard-document>
|
467
688
|
OUTPUT
|
689
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
690
|
+
.to be_equivalent_to xmlpp(output)
|
468
691
|
end
|
469
692
|
|
470
693
|
it "processes the footnoteblock macro" do
|
471
|
-
|
694
|
+
input = <<~INPUT
|
472
695
|
#{ASCIIDOC_BLANK_HDR}
|
473
696
|
|
474
697
|
footnoteblock:[id1]
|
@@ -487,6 +710,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
487
710
|
* C
|
488
711
|
--
|
489
712
|
INPUT
|
713
|
+
output = <<~OUTPUT
|
490
714
|
#{BLANK_HDR}
|
491
715
|
<sections>
|
492
716
|
<p id="_">
|
@@ -521,10 +745,12 @@ RSpec.describe Asciidoctor::Standoc do
|
|
521
745
|
</sections>
|
522
746
|
</standard-document>
|
523
747
|
OUTPUT
|
748
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
749
|
+
.to be_equivalent_to xmlpp(output)
|
524
750
|
end
|
525
751
|
|
526
752
|
it "processes the footnoteblock macro with failed reference" do
|
527
|
-
|
753
|
+
input = <<~INPUT
|
528
754
|
#{ASCIIDOC_BLANK_HDR}
|
529
755
|
|
530
756
|
footnoteblock:[id1]
|
@@ -543,6 +769,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
543
769
|
* C
|
544
770
|
--
|
545
771
|
INPUT
|
772
|
+
output = <<~OUTPUT
|
546
773
|
#{BLANK_HDR}
|
547
774
|
<sections>
|
548
775
|
<p id='_'>
|
@@ -578,10 +805,12 @@ RSpec.describe Asciidoctor::Standoc do
|
|
578
805
|
</sections>
|
579
806
|
</standard-document>
|
580
807
|
OUTPUT
|
808
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
809
|
+
.to be_equivalent_to xmlpp(output)
|
581
810
|
end
|
582
811
|
|
583
812
|
it "processes input form macros" do
|
584
|
-
|
813
|
+
input = <<~INPUT
|
585
814
|
#{ASCIIDOC_BLANK_HDR}
|
586
815
|
|
587
816
|
[form,id=N0,name=N1,action="/action_page.php"]
|
@@ -619,6 +848,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
619
848
|
input:submit[value="Submit"]
|
620
849
|
--
|
621
850
|
INPUT
|
851
|
+
output = <<~OUTPUT
|
622
852
|
#{BLANK_HDR}
|
623
853
|
<sections>
|
624
854
|
<form id='_' name='N1' action='/action_page.php'>
|
@@ -675,6 +905,8 @@ RSpec.describe Asciidoctor::Standoc do
|
|
675
905
|
</sections>
|
676
906
|
</standard-document>
|
677
907
|
OUTPUT
|
908
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
909
|
+
.to be_equivalent_to xmlpp(output)
|
678
910
|
end
|
679
911
|
|
680
912
|
describe "term inline macros" do
|
@@ -683,8 +915,8 @@ RSpec.describe Asciidoctor::Standoc do
|
|
683
915
|
strip_guid(
|
684
916
|
Asciidoctor.convert(
|
685
917
|
input, *OPTIONS
|
686
|
-
)
|
687
|
-
)
|
918
|
+
),
|
919
|
+
),
|
688
920
|
)
|
689
921
|
end
|
690
922
|
let(:input) do
|
@@ -692,11 +924,13 @@ RSpec.describe Asciidoctor::Standoc do
|
|
692
924
|
#{ASCIIDOC_BLANK_HDR}
|
693
925
|
== Terms and Definitions
|
694
926
|
|
695
|
-
===
|
927
|
+
=== name
|
696
928
|
|
697
929
|
== Main
|
698
930
|
|
699
931
|
term:[name,name2] is a term
|
932
|
+
|
933
|
+
{{name,name2}} is a term
|
700
934
|
XML
|
701
935
|
end
|
702
936
|
let(:output) do
|
@@ -706,17 +940,27 @@ RSpec.describe Asciidoctor::Standoc do
|
|
706
940
|
<terms id='_' obligation='normative'>
|
707
941
|
<title>Terms and definitions</title>
|
708
942
|
<p id='_'>For the purposes of this document, the following terms and definitions apply.</p>
|
709
|
-
<term id='term-
|
710
|
-
<preferred>
|
943
|
+
<term id='term-name'>
|
944
|
+
<preferred>name</preferred>
|
711
945
|
</term>
|
712
946
|
</terms>
|
713
947
|
<clause id='_' inline-header='false' obligation='normative'>
|
714
948
|
<title>Main</title>
|
715
949
|
<p id='_'>
|
716
|
-
|
717
|
-
|
718
|
-
<
|
719
|
-
|
950
|
+
<concept>
|
951
|
+
<refterm>name</refterm>
|
952
|
+
<renderterm>name2</renderterm>
|
953
|
+
<xref target='term-name'/>
|
954
|
+
</concept>
|
955
|
+
is a term
|
956
|
+
</p>
|
957
|
+
<p id='_'>
|
958
|
+
<concept>
|
959
|
+
<refterm>name</refterm>
|
960
|
+
<renderterm>name2</renderterm>
|
961
|
+
<xref target='term-name'/>
|
962
|
+
</concept>
|
963
|
+
is a term
|
720
964
|
</p>
|
721
965
|
</clause>
|
722
966
|
</sections>
|
@@ -740,6 +984,8 @@ RSpec.describe Asciidoctor::Standoc do
|
|
740
984
|
== Main
|
741
985
|
|
742
986
|
term:[name] is a term
|
987
|
+
|
988
|
+
{{name}} is a term
|
743
989
|
XML
|
744
990
|
end
|
745
991
|
let(:output) do
|
@@ -756,10 +1002,20 @@ RSpec.describe Asciidoctor::Standoc do
|
|
756
1002
|
<clause id='_' inline-header='false' obligation='normative'>
|
757
1003
|
<title>Main</title>
|
758
1004
|
<p id='_'>
|
759
|
-
|
760
|
-
|
761
|
-
|
762
|
-
|
1005
|
+
<concept>
|
1006
|
+
<refterm>name</refterm>
|
1007
|
+
<renderterm>name</renderterm>
|
1008
|
+
<xref target='term-name'/>
|
1009
|
+
</concept>
|
1010
|
+
is a term
|
1011
|
+
</p>
|
1012
|
+
<p id='_'>
|
1013
|
+
<concept>
|
1014
|
+
<refterm>name</refterm>
|
1015
|
+
<renderterm>name</renderterm>
|
1016
|
+
<xref target='term-name'/>
|
1017
|
+
</concept>
|
1018
|
+
is a term
|
763
1019
|
</p>
|
764
1020
|
</clause>
|
765
1021
|
</sections>
|
@@ -792,6 +1048,8 @@ RSpec.describe Asciidoctor::Standoc do
|
|
792
1048
|
|
793
1049
|
term:[name] is a term
|
794
1050
|
term:[name2] is a term
|
1051
|
+
{{name}} is a term
|
1052
|
+
{{name2}} is a term
|
795
1053
|
XML
|
796
1054
|
end
|
797
1055
|
let(:output) do
|
@@ -815,14 +1073,30 @@ RSpec.describe Asciidoctor::Standoc do
|
|
815
1073
|
<clause id='term-name2' inline-header='false' obligation='normative'>
|
816
1074
|
<title>Second</title>
|
817
1075
|
<p id='_'>
|
818
|
-
|
819
|
-
|
820
|
-
|
821
|
-
|
822
|
-
|
823
|
-
|
824
|
-
|
825
|
-
|
1076
|
+
<concept>
|
1077
|
+
<refterm>name</refterm>
|
1078
|
+
<renderterm>name</renderterm>
|
1079
|
+
<xref target='term-name-1'/>
|
1080
|
+
</concept>
|
1081
|
+
is a term
|
1082
|
+
<concept>
|
1083
|
+
<refterm>name2</refterm>
|
1084
|
+
<renderterm>name2</renderterm>
|
1085
|
+
<xref target='term-name2-1'/>
|
1086
|
+
</concept>
|
1087
|
+
is a term
|
1088
|
+
<concept>
|
1089
|
+
<refterm>name</refterm>
|
1090
|
+
<renderterm>name</renderterm>
|
1091
|
+
<xref target='term-name-1'/>
|
1092
|
+
</concept>
|
1093
|
+
is a term
|
1094
|
+
<concept>
|
1095
|
+
<refterm>name2</refterm>
|
1096
|
+
<renderterm>name2</renderterm>
|
1097
|
+
<xref target='term-name2-1'/>
|
1098
|
+
</concept>
|
1099
|
+
is a term
|
826
1100
|
</p>
|
827
1101
|
</clause>
|
828
1102
|
</sections>
|
@@ -854,40 +1128,90 @@ RSpec.describe Asciidoctor::Standoc do
|
|
854
1128
|
term:[name identity] is a term
|
855
1129
|
|
856
1130
|
Moreover, term:[missing] is a term
|
1131
|
+
|
1132
|
+
|
1133
|
+
{{name check}} is a term
|
1134
|
+
|
1135
|
+
{{name identity}} is a term
|
1136
|
+
|
1137
|
+
Moreover, {{missing}} is a term
|
857
1138
|
XML
|
858
1139
|
end
|
859
1140
|
let(:output) do
|
860
1141
|
<<~XML
|
861
1142
|
#{BLANK_HDR}
|
862
|
-
|
863
|
-
|
864
|
-
|
865
|
-
|
866
|
-
|
867
|
-
|
868
|
-
|
869
|
-
|
870
|
-
|
871
|
-
|
872
|
-
|
873
|
-
|
874
|
-
|
875
|
-
|
876
|
-
|
877
|
-
|
878
|
-
|
879
|
-
|
880
|
-
|
881
|
-
|
882
|
-
|
883
|
-
|
884
|
-
|
885
|
-
|
886
|
-
|
887
|
-
|
888
|
-
|
889
|
-
|
890
|
-
|
1143
|
+
<sections>
|
1144
|
+
<terms id='_' obligation='normative'>
|
1145
|
+
<title>Terms and definitions</title>
|
1146
|
+
<p id='_'>For the purposes of this document, the following terms and definitions apply.</p>
|
1147
|
+
<term id='term-name-identity'>
|
1148
|
+
<preferred>name identity</preferred>
|
1149
|
+
</term>
|
1150
|
+
<term id='name-check'>
|
1151
|
+
<preferred>name check</preferred>
|
1152
|
+
<definition>
|
1153
|
+
<p id='_'>paragraph</p>
|
1154
|
+
<p id='_'>
|
1155
|
+
<concept>
|
1156
|
+
<refterm>name check</refterm>
|
1157
|
+
<renderterm>name check</renderterm>
|
1158
|
+
<xref target='name-check'/>
|
1159
|
+
</concept>
|
1160
|
+
is a term
|
1161
|
+
</p>
|
1162
|
+
<p id='_'>
|
1163
|
+
<concept>
|
1164
|
+
<refterm>name identity</refterm>
|
1165
|
+
<renderterm>name identity</renderterm>
|
1166
|
+
<xref target='term-name-identity'/>
|
1167
|
+
</concept>
|
1168
|
+
is a term
|
1169
|
+
</p>
|
1170
|
+
<p id='_'>
|
1171
|
+
Moreover,
|
1172
|
+
<concept>
|
1173
|
+
<strong>
|
1174
|
+
term
|
1175
|
+
<tt>missing</tt>
|
1176
|
+
not resolved via ID
|
1177
|
+
<tt>missing</tt>
|
1178
|
+
</strong>
|
1179
|
+
</concept>
|
1180
|
+
is a term
|
1181
|
+
</p>
|
1182
|
+
<p id='_'>
|
1183
|
+
<concept>
|
1184
|
+
<refterm>name check</refterm>
|
1185
|
+
<renderterm>name check</renderterm>
|
1186
|
+
<xref target='name-check'/>
|
1187
|
+
</concept>
|
1188
|
+
is a term
|
1189
|
+
</p>
|
1190
|
+
<p id='_'>
|
1191
|
+
<concept>
|
1192
|
+
<refterm>name identity</refterm>
|
1193
|
+
<renderterm>name identity</renderterm>
|
1194
|
+
<xref target='term-name-identity'/>
|
1195
|
+
</concept>
|
1196
|
+
is a term
|
1197
|
+
</p>
|
1198
|
+
<p id='_'>
|
1199
|
+
Moreover,
|
1200
|
+
<concept>
|
1201
|
+
<strong>
|
1202
|
+
term
|
1203
|
+
<tt>missing</tt>
|
1204
|
+
not resolved via ID
|
1205
|
+
<tt>missing</tt>
|
1206
|
+
</strong>
|
1207
|
+
</concept>
|
1208
|
+
is a term
|
1209
|
+
</p>
|
1210
|
+
</definition>
|
1211
|
+
</term>
|
1212
|
+
</terms>
|
1213
|
+
</sections>
|
1214
|
+
</standard-document>
|
891
1215
|
XML
|
892
1216
|
end
|
893
1217
|
|