asciidoctor-iso 0.9.9 → 0.10.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +7 -0
- data/README.adoc +49 -9
- data/asciidoctor-iso.gemspec +3 -3
- data/lib/asciidoctor-iso.rb +2 -0
- data/lib/asciidoctor/iso/base.rb +14 -0
- data/lib/asciidoctor/iso/blocks.rb +1 -1
- data/lib/asciidoctor/iso/cleanup.rb +2 -2
- data/lib/asciidoctor/iso/cleanup_ref.rb +1 -1
- data/lib/asciidoctor/iso/inline.rb +1 -1
- data/lib/asciidoctor/iso/macros.rb +54 -0
- data/lib/asciidoctor/iso/ref.rb +7 -2
- data/lib/asciidoctor/iso/validate.rb +8 -8
- data/lib/asciidoctor/iso/validate_requirements.rb +5 -5
- data/lib/asciidoctor/iso/version.rb +1 -1
- data/lib/isodoc/iso/html/header.html +206 -0
- data/lib/isodoc/iso/html/html_iso_intro.html +34 -0
- data/lib/isodoc/iso/html/html_iso_titlepage.html +34 -0
- data/lib/isodoc/iso/html/htmlstyle.scss +46 -0
- data/lib/isodoc/iso/html/isodoc.scss +696 -0
- data/lib/isodoc/iso/html/scripts.html +174 -0
- data/lib/isodoc/iso/html/style-human.scss +1277 -0
- data/lib/isodoc/iso/html/style-iso.scss +1257 -0
- data/lib/isodoc/iso/html/word_iso_intro.html +72 -0
- data/lib/isodoc/iso/html/word_iso_titlepage.html +62 -0
- data/lib/isodoc/iso/html/wordstyle.scss +1175 -0
- data/lib/isodoc/iso/html_convert.rb +136 -0
- data/lib/isodoc/iso/metadata.rb +107 -0
- data/lib/isodoc/iso/word_convert.rb +139 -0
- data/spec/asciidoctor-iso/isobib_cache_spec.rb +18 -4
- data/spec/asciidoctor-iso/macros_spec.rb +92 -1
- data/spec/asciidoctor-iso/validate_spec.rb +173 -144
- data/spec/assets/header.html +7 -0
- data/spec/assets/html.css +2 -0
- data/spec/assets/htmlcover.html +4 -0
- data/spec/assets/htmlintro.html +5 -0
- data/spec/assets/i18n.yaml +2 -0
- data/spec/assets/iso.doc +2312 -0
- data/spec/assets/iso.headless.html +33 -0
- data/spec/assets/iso.html +1388 -0
- data/spec/assets/iso.xml +8 -0
- data/spec/assets/rice_image1.png +0 -0
- data/spec/assets/scripts.html +3 -0
- data/spec/assets/std.css +2 -0
- data/spec/assets/word.css +2 -0
- data/spec/assets/wordcover.html +3 -0
- data/spec/assets/wordintro.html +4 -0
- data/spec/examples/103_01_02.html +247 -0
- data/spec/isodoc/i18n_spec.rb +642 -0
- data/spec/isodoc/iso_spec.rb +168 -0
- data/spec/isodoc/metadata_spec.rb +152 -0
- data/spec/isodoc/postproc_spec.rb +409 -0
- data/spec/isodoc/section_spec.rb +522 -0
- data/spec/isodoc/xref_spec.rb +1337 -0
- data/spec/spec_helper.rb +45 -0
- metadata +45 -9
@@ -1,7 +1,7 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
|
3
3
|
RSpec.describe Asciidoctor::ISO do
|
4
|
-
it "processes the Asciidoctor::ISO macros" do
|
4
|
+
it "processes the Asciidoctor::ISO inline macros" do
|
5
5
|
expect(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true)).to be_equivalent_to <<~"OUTPUT"
|
6
6
|
#{ASCIIDOC_BLANK_HDR}
|
7
7
|
alt:[term1]
|
@@ -17,4 +17,95 @@ RSpec.describe Asciidoctor::ISO do
|
|
17
17
|
</iso-standard>
|
18
18
|
OUTPUT
|
19
19
|
end
|
20
|
+
|
21
|
+
it "processes the PlantUML macro" do
|
22
|
+
expect(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true))).to be_equivalent_to <<~"OUTPUT"
|
23
|
+
#{ASCIIDOC_BLANK_HDR}
|
24
|
+
|
25
|
+
[plantuml]
|
26
|
+
....
|
27
|
+
@startuml
|
28
|
+
Alice -> Bob: Authentication Request
|
29
|
+
Bob --> Alice: Authentication Response
|
30
|
+
|
31
|
+
Alice -> Bob: Another authentication Request
|
32
|
+
Alice <-- Bob: another authentication Response
|
33
|
+
@enduml
|
34
|
+
....
|
35
|
+
|
36
|
+
[plantuml]
|
37
|
+
....
|
38
|
+
Alice -> Bob: Authentication Request
|
39
|
+
Bob --> Alice: Authentication Response
|
40
|
+
|
41
|
+
Alice -> Bob: Another authentication Request
|
42
|
+
Alice <-- Bob: another authentication Response
|
43
|
+
....
|
44
|
+
INPUT
|
45
|
+
#{BLANK_HDR}
|
46
|
+
<sections><figure id="_">
|
47
|
+
<image src="plantuml/20.png" id="_" imagetype="PNG" height="auto" width="auto"/>
|
48
|
+
</figure>
|
49
|
+
<figure id="_">
|
50
|
+
<image src="plantuml/29.png" id="_" imagetype="PNG" height="auto" width="auto"/>
|
51
|
+
</figure></sections>
|
52
|
+
|
53
|
+
</iso-standard>
|
54
|
+
OUTPUT
|
55
|
+
end
|
56
|
+
|
57
|
+
it "processes the PlantUML macro with PlantUML disabled" do
|
58
|
+
mock_plantuml_disabled
|
59
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{PlantUML not installed}).to_stderr
|
60
|
+
#{ASCIIDOC_BLANK_HDR}
|
61
|
+
|
62
|
+
[plantuml]
|
63
|
+
....
|
64
|
+
@startuml
|
65
|
+
Alice -> Bob: Authentication Request
|
66
|
+
Bob --> Alice: Authentication Response
|
67
|
+
|
68
|
+
Alice -> Bob: Another authentication Request
|
69
|
+
Alice <-- Bob: another authentication Response
|
70
|
+
@enduml
|
71
|
+
....
|
72
|
+
INPUT
|
73
|
+
|
74
|
+
mock_plantuml_disabled
|
75
|
+
expect(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true))).to be_equivalent_to <<~"OUTPUT"
|
76
|
+
#{ASCIIDOC_BLANK_HDR}
|
77
|
+
|
78
|
+
[plantuml]
|
79
|
+
....
|
80
|
+
@startuml
|
81
|
+
Alice -> Bob: Authentication Request
|
82
|
+
Bob --> Alice: Authentication Response
|
83
|
+
|
84
|
+
Alice -> Bob: Another authentication Request
|
85
|
+
Alice <-- Bob: another authentication Response
|
86
|
+
@enduml
|
87
|
+
....
|
88
|
+
INPUT
|
89
|
+
#{BLANK_HDR}
|
90
|
+
<sections>
|
91
|
+
<sourcecode id="_">@startuml
|
92
|
+
Alice -> Bob: Authentication Request
|
93
|
+
Bob --> Alice: Authentication Response
|
94
|
+
|
95
|
+
Alice -> Bob: Another authentication Request
|
96
|
+
Alice <-- Bob: another authentication Response
|
97
|
+
@enduml</sourcecode>
|
98
|
+
</sourcecode>
|
99
|
+
</iso-standard>
|
100
|
+
OUTPUT
|
101
|
+
end
|
102
|
+
|
103
|
+
|
104
|
+
private
|
105
|
+
|
106
|
+
def mock_plantuml_disabled
|
107
|
+
expect(Asciidoctor::ISO::PlantUMLBlockMacroBackend).to receive(:plantuml_installed?) do
|
108
|
+
false
|
109
|
+
end
|
110
|
+
end
|
20
111
|
end
|
@@ -1,7 +1,8 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
|
3
|
-
RSpec.describe
|
4
|
-
|
3
|
+
RSpec.describe Asciidoctor::ISO do
|
4
|
+
it "warns when missing a title" do
|
5
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(/Table should have title/).to_stderr
|
5
6
|
#{VALIDATING_BLANK_HDR}
|
6
7
|
|===
|
7
8
|
|A |B |C
|
@@ -12,8 +13,8 @@ RSpec.describe "warns when missing a title" do
|
|
12
13
|
end
|
13
14
|
|
14
15
|
|
15
|
-
|
16
|
-
|
16
|
+
it "warns that introduction may contain requirement" do
|
17
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(/Introduction may contain requirement/).to_stderr
|
17
18
|
#{VALIDATING_BLANK_HDR}
|
18
19
|
== Introduction
|
19
20
|
|
@@ -21,8 +22,8 @@ RSpec.describe "warn that introduction may contain requirement" do
|
|
21
22
|
INPUT
|
22
23
|
end
|
23
24
|
|
24
|
-
|
25
|
-
|
25
|
+
it "warns that foreword may contain recommendation" do
|
26
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(/Foreword may contain recommendation/).to_stderr
|
26
27
|
#{VALIDATING_BLANK_HDR}
|
27
28
|
|
28
29
|
It is not recommended that widgets should be larger than 15 cm.
|
@@ -31,8 +32,8 @@ RSpec.describe "warn that foreword may contain recommendation" do
|
|
31
32
|
INPUT
|
32
33
|
end
|
33
34
|
|
34
|
-
|
35
|
-
|
35
|
+
it "warns that foreword may contain permission" do
|
36
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(/Foreword may contain permission/).to_stderr
|
36
37
|
#{VALIDATING_BLANK_HDR}
|
37
38
|
|
38
39
|
No widget is required to be larger than 15 cm.
|
@@ -41,8 +42,8 @@ RSpec.describe "warn that foreword may contain permission" do
|
|
41
42
|
INPUT
|
42
43
|
end
|
43
44
|
|
44
|
-
|
45
|
-
|
45
|
+
it "warns that scope may contain recommendation" do
|
46
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(/Scope may contain recommendation/).to_stderr
|
46
47
|
#{VALIDATING_BLANK_HDR}
|
47
48
|
|
48
49
|
== Scope
|
@@ -50,8 +51,8 @@ RSpec.describe "warn that scope may contain recommendation" do
|
|
50
51
|
INPUT
|
51
52
|
end
|
52
53
|
|
53
|
-
|
54
|
-
|
54
|
+
it "warns that definition may contain requirement" do
|
55
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(/Definition may contain requirement/).to_stderr
|
55
56
|
#{VALIDATING_BLANK_HDR}
|
56
57
|
|
57
58
|
== Terms and Definitions
|
@@ -63,8 +64,8 @@ RSpec.describe "warn that definition may contain requirement" do
|
|
63
64
|
INPUT
|
64
65
|
end
|
65
66
|
|
66
|
-
|
67
|
-
|
67
|
+
it "warns that term example may contain recommendation" do
|
68
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(/Term Example may contain recommendation/).to_stderr
|
68
69
|
#{VALIDATING_BLANK_HDR}
|
69
70
|
|
70
71
|
== Terms and Definitions
|
@@ -76,24 +77,24 @@ RSpec.describe "warn that term example may contain recommendation" do
|
|
76
77
|
INPUT
|
77
78
|
end
|
78
79
|
|
79
|
-
|
80
|
-
|
80
|
+
it "warns that note may contain recommendation" do
|
81
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(/Note may contain recommendation/).to_stderr
|
81
82
|
#{VALIDATING_BLANK_HDR}
|
82
83
|
|
83
84
|
NOTE: It is not recommended that widgets should be larger than 15 cm.
|
84
85
|
INPUT
|
85
86
|
end
|
86
87
|
|
87
|
-
|
88
|
-
|
88
|
+
it "warns that footnote may contain recommendation" do
|
89
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(/Footnote may contain recommendation/).to_stderr
|
89
90
|
#{VALIDATING_BLANK_HDR}
|
90
91
|
|
91
92
|
footnote:[It is not recommended that widgets should be larger than 15 cm.]
|
92
93
|
INPUT
|
93
94
|
end
|
94
95
|
|
95
|
-
|
96
|
-
|
96
|
+
it "warns that term source is not in expected format" do
|
97
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(/term reference not in expected format/).to_stderr
|
97
98
|
#{VALIDATING_BLANK_HDR}
|
98
99
|
|
99
100
|
[.source]
|
@@ -101,16 +102,16 @@ RSpec.describe "warn that term source is not in expected format" do
|
|
101
102
|
INPUT
|
102
103
|
end
|
103
104
|
|
104
|
-
|
105
|
-
|
105
|
+
it "warns that figure does not have title" do
|
106
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(/Figure should have title/).to_stderr
|
106
107
|
#{VALIDATING_BLANK_HDR}
|
107
108
|
|
108
109
|
image::spec/examples/rice_images/rice_image1.png[]
|
109
110
|
INPUT
|
110
111
|
end
|
111
112
|
|
112
|
-
|
113
|
-
|
113
|
+
it "warns that callouts do not match annotations" do
|
114
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(/mismatch of callouts and annotations/).to_stderr
|
114
115
|
#{VALIDATING_BLANK_HDR}
|
115
116
|
[source,ruby]
|
116
117
|
--
|
@@ -124,8 +125,8 @@ RSpec.describe "warn that callouts do not match annotations" do
|
|
124
125
|
INPUT
|
125
126
|
end
|
126
127
|
|
127
|
-
|
128
|
-
|
128
|
+
it "warns that term source is not a real reference" do
|
129
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(/iso123 is not a real reference/).to_stderr
|
129
130
|
#{VALIDATING_BLANK_HDR}
|
130
131
|
|
131
132
|
[.source]
|
@@ -133,8 +134,8 @@ RSpec.describe "term source is not a real reference" do
|
|
133
134
|
INPUT
|
134
135
|
end
|
135
136
|
|
136
|
-
|
137
|
-
|
137
|
+
it "warns that ndated reference has locality" do
|
138
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(/undated reference ISO 123 should not contain specific elements/).to_stderr
|
138
139
|
#{VALIDATING_BLANK_HDR}
|
139
140
|
|
140
141
|
== Scope
|
@@ -146,8 +147,8 @@ RSpec.describe "undated reference has locality" do
|
|
146
147
|
INPUT
|
147
148
|
end
|
148
149
|
|
149
|
-
|
150
|
-
|
150
|
+
it "warns of Non-reference in bibliography" do
|
151
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(/no anchor on reference/).to_stderr
|
151
152
|
#{VALIDATING_BLANK_HDR}
|
152
153
|
|
153
154
|
== Normative References
|
@@ -155,8 +156,8 @@ RSpec.describe "Non-reference in bibliography" do
|
|
155
156
|
INPUT
|
156
157
|
end
|
157
158
|
|
158
|
-
|
159
|
-
|
159
|
+
it "warns of Non-ISO reference in Normative References" do
|
160
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{non-ISO/IEC reference not expected as normative}).to_stderr
|
160
161
|
#{VALIDATING_BLANK_HDR}
|
161
162
|
|
162
163
|
[bibliography]
|
@@ -165,8 +166,8 @@ RSpec.describe "Non-ISO reference in Normative References" do
|
|
165
166
|
INPUT
|
166
167
|
end
|
167
168
|
|
168
|
-
|
169
|
-
|
169
|
+
it "warns that Scope contains subclauses" do
|
170
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{Scope contains subclauses: should be succint}).to_stderr
|
170
171
|
#{VALIDATING_BLANK_HDR}
|
171
172
|
|
172
173
|
== Scope
|
@@ -176,8 +177,8 @@ RSpec.describe "Scope contains subclauses" do
|
|
176
177
|
end
|
177
178
|
|
178
179
|
|
179
|
-
|
180
|
-
|
180
|
+
it "warns that Table should have title" do
|
181
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{Table should have title}).to_stderr
|
181
182
|
#{VALIDATING_BLANK_HDR}
|
182
183
|
|
183
184
|
|===
|
@@ -186,8 +187,8 @@ RSpec.describe "Table should have title" do
|
|
186
187
|
INPUT
|
187
188
|
end
|
188
189
|
|
189
|
-
|
190
|
-
|
190
|
+
it "gives Style warning if number not broken up in threes" do
|
191
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{number not broken up in threes}).to_stderr
|
191
192
|
#{VALIDATING_BLANK_HDR}
|
192
193
|
|
193
194
|
== Clause
|
@@ -195,8 +196,8 @@ RSpec.describe "Style warning if number not broken up in threes" do
|
|
195
196
|
INPUT
|
196
197
|
end
|
197
198
|
|
198
|
-
|
199
|
-
|
199
|
+
it "gives No style warning if number not broken up in threes is ISO reference" do
|
200
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to_not output(%r{number not broken up in threes}).to_stderr
|
200
201
|
#{VALIDATING_BLANK_HDR}
|
201
202
|
|
202
203
|
== Clause
|
@@ -204,8 +205,8 @@ RSpec.describe "No style warning if number not broken up in threes is ISO refere
|
|
204
205
|
INPUT
|
205
206
|
end
|
206
207
|
|
207
|
-
|
208
|
-
|
208
|
+
it "Style warning if decimal point" do
|
209
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{possible decimal point}).to_stderr
|
209
210
|
#{VALIDATING_BLANK_HDR}
|
210
211
|
|
211
212
|
== Clause
|
@@ -213,8 +214,8 @@ RSpec.describe "Style warning if decimal point" do
|
|
213
214
|
INPUT
|
214
215
|
end
|
215
216
|
|
216
|
-
|
217
|
-
|
217
|
+
it "Style warning if billion used" do
|
218
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{ambiguous number}).to_stderr
|
218
219
|
#{VALIDATING_BLANK_HDR}
|
219
220
|
|
220
221
|
== Clause
|
@@ -222,8 +223,8 @@ RSpec.describe "Style warning if billion used" do
|
|
222
223
|
INPUT
|
223
224
|
end
|
224
225
|
|
225
|
-
|
226
|
-
|
226
|
+
it "Style warning if no space before percent sign" do
|
227
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{no space before percent sign}).to_stderr
|
227
228
|
#{VALIDATING_BLANK_HDR}
|
228
229
|
|
229
230
|
== Clause
|
@@ -231,8 +232,8 @@ RSpec.describe "Style warning if no space before percent sign" do
|
|
231
232
|
INPUT
|
232
233
|
end
|
233
234
|
|
234
|
-
|
235
|
-
|
235
|
+
it "Style warning if unbracketed tolerance before percent sign" do
|
236
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{unbracketed tolerance before percent sign}).to_stderr
|
236
237
|
#{VALIDATING_BLANK_HDR}
|
237
238
|
|
238
239
|
== Clause
|
@@ -240,8 +241,8 @@ RSpec.describe "Style warning if unbracketed tolerance before percent sign" do
|
|
240
241
|
INPUT
|
241
242
|
end
|
242
243
|
|
243
|
-
|
244
|
-
|
244
|
+
it "Style warning if dots in abbreviation" do
|
245
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{no dots in abbreviation}).to_stderr
|
245
246
|
#{VALIDATING_BLANK_HDR}
|
246
247
|
|
247
248
|
== Clause
|
@@ -249,8 +250,8 @@ RSpec.describe "Style warning if dots in abbreviation" do
|
|
249
250
|
INPUT
|
250
251
|
end
|
251
252
|
|
252
|
-
|
253
|
-
|
253
|
+
it "No Style warning if dots in abbreviation are e.g." do
|
254
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to_not output(%r{no dots in abbreviation}).to_stderr
|
254
255
|
#{VALIDATING_BLANK_HDR}
|
255
256
|
|
256
257
|
== Clause
|
@@ -258,8 +259,8 @@ RSpec.describe "No Style warning if dots in abbreviation are e.g." do
|
|
258
259
|
INPUT
|
259
260
|
end
|
260
261
|
|
261
|
-
|
262
|
-
|
262
|
+
it "Style warning if ppm used" do
|
263
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{language-specific abbreviation}).to_stderr
|
263
264
|
#{VALIDATING_BLANK_HDR}
|
264
265
|
|
265
266
|
== Clause
|
@@ -267,8 +268,8 @@ RSpec.describe "Style warning if ppm used" do
|
|
267
268
|
INPUT
|
268
269
|
end
|
269
270
|
|
270
|
-
|
271
|
-
|
271
|
+
it "Style warning if space between number and degree" do
|
272
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{space between number and degrees/minutes/seconds}).to_stderr
|
272
273
|
#{VALIDATING_BLANK_HDR}
|
273
274
|
|
274
275
|
== Clause
|
@@ -276,8 +277,8 @@ RSpec.describe "Style warning if space between number and degree" do
|
|
276
277
|
INPUT
|
277
278
|
end
|
278
279
|
|
279
|
-
|
280
|
-
|
280
|
+
it "Style warning if no space between number and SI unit" do
|
281
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{no space between number and SI unit}).to_stderr
|
281
282
|
#{VALIDATING_BLANK_HDR}
|
282
283
|
|
283
284
|
== Clause
|
@@ -285,8 +286,8 @@ RSpec.describe "Style warning if no space between number and SI unit" do
|
|
285
286
|
INPUT
|
286
287
|
end
|
287
288
|
|
288
|
-
|
289
|
-
|
289
|
+
it "Style warning if mins used" do
|
290
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{non-standard unit}).to_stderr
|
290
291
|
#{VALIDATING_BLANK_HDR}
|
291
292
|
|
292
293
|
== Clause
|
@@ -295,16 +296,16 @@ RSpec.describe "Style warning if mins used" do
|
|
295
296
|
end
|
296
297
|
|
297
298
|
# can't test: our asciidoc template won't allow this to be generated
|
298
|
-
#
|
299
|
-
#
|
299
|
+
# it "Style warning if foreword contains subclauses" do
|
300
|
+
# expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{non-standard unit}).to_stderr
|
300
301
|
# #{VALIDATING_BLANK_HDR}
|
301
302
|
#
|
302
303
|
# INPUT
|
303
304
|
# end
|
304
305
|
|
305
306
|
# can't test: we strip out any such content from Normative references preemptively
|
306
|
-
#
|
307
|
-
#
|
307
|
+
#it "Style warning if Normative References contains subclauses" do
|
308
|
+
#expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{normative references contains subclauses}).to_stderr
|
308
309
|
##{VALIDATING_BLANK_HDR}
|
309
310
|
#
|
310
311
|
#[bibliography]
|
@@ -314,8 +315,8 @@ end
|
|
314
315
|
#INPUT
|
315
316
|
#end
|
316
317
|
|
317
|
-
|
318
|
-
|
318
|
+
it "Style warning if two Symbols and Abbreviated Terms sections" do
|
319
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{only one Symbols and Abbreviated Terms section in the standard}).to_stderr
|
319
320
|
#{VALIDATING_BLANK_HDR}
|
320
321
|
|
321
322
|
== Terms and Abbreviations
|
@@ -326,8 +327,8 @@ RSpec.describe "Style warning if two Symbols and Abbreviated Terms sections" do
|
|
326
327
|
INPUT
|
327
328
|
end
|
328
329
|
|
329
|
-
|
330
|
-
|
330
|
+
it "Style warning if Symbols and Abbreviated Terms contains extraneous matter" do
|
331
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{Symbols and Abbreviated Terms can only contain a definition list}).to_stderr
|
331
332
|
#{VALIDATING_BLANK_HDR}
|
332
333
|
|
333
334
|
== Symbols and Abbreviated Terms
|
@@ -336,8 +337,8 @@ RSpec.describe "Style warning if Symbols and Abbreviated Terms contains extraneo
|
|
336
337
|
INPUT
|
337
338
|
end
|
338
339
|
|
339
|
-
|
340
|
-
|
340
|
+
it "Warning if do not start with scope or introduction" do
|
341
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{Prefatory material must be followed by \(clause\) Scope}).to_stderr
|
341
342
|
#{VALIDATING_BLANK_HDR}
|
342
343
|
|
343
344
|
== Symbols and Abbreviated Terms
|
@@ -346,8 +347,8 @@ RSpec.describe "Warning if do not start with scope or introduction" do
|
|
346
347
|
INPUT
|
347
348
|
end
|
348
349
|
|
349
|
-
|
350
|
-
|
350
|
+
it "Warning if introduction not followed by scope" do
|
351
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{Prefatory material must be followed by \(clause\) Scope}).to_stderr
|
351
352
|
#{VALIDATING_BLANK_HDR}
|
352
353
|
|
353
354
|
.Foreword
|
@@ -361,8 +362,8 @@ RSpec.describe "Warning if introduction not followed by scope" do
|
|
361
362
|
INPUT
|
362
363
|
end
|
363
364
|
|
364
|
-
|
365
|
-
|
365
|
+
it "Warning if normative references not followed by terms and definitions" do
|
366
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{Normative References must be followed by Terms and Definitions}).to_stderr
|
366
367
|
#{VALIDATING_BLANK_HDR}
|
367
368
|
|
368
369
|
.Foreword
|
@@ -379,8 +380,8 @@ RSpec.describe "Warning if normative references not followed by terms and defini
|
|
379
380
|
INPUT
|
380
381
|
end
|
381
382
|
|
382
|
-
|
383
|
-
|
383
|
+
it "Warning if there are no clauses in the document" do
|
384
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{Document must contain clause after Terms and Definitions}).to_stderr
|
384
385
|
#{VALIDATING_BLANK_HDR}
|
385
386
|
|
386
387
|
.Foreword
|
@@ -398,8 +399,8 @@ RSpec.describe "Warning if there are no clauses in the document" do
|
|
398
399
|
INPUT
|
399
400
|
end
|
400
401
|
|
401
|
-
|
402
|
-
|
402
|
+
it "Warning if scope occurs after Terms and Definitions" do
|
403
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{Scope must occur before Terms and Definitions}).to_stderr
|
403
404
|
#{VALIDATING_BLANK_HDR}
|
404
405
|
|
405
406
|
.Foreword
|
@@ -417,8 +418,8 @@ RSpec.describe "Warning if scope occurs after Terms and Definitions" do
|
|
417
418
|
INPUT
|
418
419
|
end
|
419
420
|
|
420
|
-
|
421
|
-
|
421
|
+
it "Warning if scope occurs after Terms and Definitions" do
|
422
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{Scope must occur before Terms and Definitions}).to_stderr
|
422
423
|
#{VALIDATING_BLANK_HDR}
|
423
424
|
|
424
425
|
.Foreword
|
@@ -438,8 +439,8 @@ RSpec.describe "Warning if scope occurs after Terms and Definitions" do
|
|
438
439
|
INPUT
|
439
440
|
end
|
440
441
|
|
441
|
-
|
442
|
-
|
442
|
+
it "Warning if Symbols and Abbreviated Terms does not occur immediately after Terms and Definitions" do
|
443
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{Only annexes and references can follow clauses}).to_stderr
|
443
444
|
#{VALIDATING_BLANK_HDR}
|
444
445
|
|
445
446
|
.Foreword
|
@@ -459,8 +460,8 @@ RSpec.describe "Warning if Symbols and Abbreviated Terms does not occur immediat
|
|
459
460
|
INPUT
|
460
461
|
end
|
461
462
|
|
462
|
-
|
463
|
-
|
463
|
+
it "Warning if no normative references" do
|
464
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{Document must include \(references\) Normative References}).to_stderr
|
464
465
|
#{VALIDATING_BLANK_HDR}
|
465
466
|
|
466
467
|
.Foreword
|
@@ -484,8 +485,8 @@ RSpec.describe "Warning if no normative references" do
|
|
484
485
|
INPUT
|
485
486
|
end
|
486
487
|
|
487
|
-
|
488
|
-
|
488
|
+
it "Warning if final section is not named Bibliography" do
|
489
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{There are sections after the final Bibliography}).to_stderr
|
489
490
|
#{VALIDATING_BLANK_HDR}
|
490
491
|
|
491
492
|
.Foreword
|
@@ -515,8 +516,8 @@ RSpec.describe "Warning if final section is not named Bibliography" do
|
|
515
516
|
INPUT
|
516
517
|
end
|
517
518
|
|
518
|
-
|
519
|
-
|
519
|
+
it "Warning if final section is not styled Bibliography" do
|
520
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{Section not marked up as \[bibliography\]!}).to_stderr
|
520
521
|
#{VALIDATING_BLANK_HDR}
|
521
522
|
|
522
523
|
.Foreword
|
@@ -542,121 +543,131 @@ RSpec.describe "Warning if final section is not styled Bibliography" do
|
|
542
543
|
INPUT
|
543
544
|
end
|
544
545
|
|
545
|
-
|
546
|
-
|
546
|
+
it "Warning if English title intro and no French title intro" do
|
547
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{No French Title Intro!}).to_stderr
|
547
548
|
= Document title
|
548
549
|
Author
|
549
550
|
:docfile: test.adoc
|
550
551
|
:nodoc:
|
551
552
|
:title-intro-en: Title
|
553
|
+
:no-isobib:
|
552
554
|
|
553
555
|
INPUT
|
554
556
|
end
|
555
557
|
|
556
|
-
|
557
|
-
|
558
|
+
it "Warning if French title intro and no English title intro" do
|
559
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{No English Title Intro!}).to_stderr
|
558
560
|
= Document title
|
559
561
|
Author
|
560
562
|
:docfile: test.adoc
|
561
563
|
:nodoc:
|
562
564
|
:title-intro-fr: Title
|
565
|
+
:no-isobib:
|
563
566
|
|
564
567
|
INPUT
|
565
568
|
end
|
566
569
|
|
567
570
|
|
568
|
-
|
569
|
-
|
571
|
+
it "Warning if English title and no French intro" do
|
572
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{No French Title!}).to_stderr
|
570
573
|
= Document title
|
571
574
|
Author
|
572
575
|
:docfile: test.adoc
|
573
576
|
:nodoc:
|
574
577
|
:title-main-en: Title
|
578
|
+
:no-isobib:
|
575
579
|
|
576
580
|
INPUT
|
577
581
|
end
|
578
582
|
|
579
|
-
|
580
|
-
|
583
|
+
it "Warning if French title and no English title" do
|
584
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{No English Title!}).to_stderr
|
581
585
|
= Document title
|
582
586
|
Author
|
583
587
|
:docfile: test.adoc
|
584
588
|
:nodoc:
|
585
589
|
:title-main-fr: Title
|
590
|
+
:no-isobib:
|
586
591
|
|
587
592
|
INPUT
|
588
593
|
end
|
589
594
|
|
590
|
-
|
591
|
-
|
595
|
+
it "Warning if English title part and no French title part" do
|
596
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{No French Title Part!}).to_stderr
|
592
597
|
= Document title
|
593
598
|
Author
|
594
599
|
:docfile: test.adoc
|
595
600
|
:nodoc:
|
596
601
|
:title-part-en: Title
|
602
|
+
:no-isobib:
|
597
603
|
|
598
604
|
INPUT
|
599
605
|
end
|
600
606
|
|
601
|
-
|
602
|
-
|
607
|
+
it "Warning if French title part and no English title part" do
|
608
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{No English Title Part!}).to_stderr
|
603
609
|
= Document title
|
604
610
|
Author
|
605
611
|
:docfile: test.adoc
|
606
612
|
:nodoc:
|
607
613
|
:title-part-fr: Title
|
614
|
+
:no-isobib:
|
608
615
|
|
609
616
|
INPUT
|
610
617
|
end
|
611
618
|
|
612
|
-
|
613
|
-
|
619
|
+
it "Warning if non-IEC document with subpart" do
|
620
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{Subpart defined on non-IEC document!}).to_stderr
|
614
621
|
= Document title
|
615
622
|
Author
|
616
623
|
:docfile: test.adoc
|
617
624
|
:nodoc:
|
618
625
|
:partnumber: 1-1
|
619
626
|
:publisher: ISO
|
627
|
+
:no-isobib:
|
620
628
|
|
621
629
|
INPUT
|
622
630
|
end
|
623
631
|
|
624
|
-
|
625
|
-
|
632
|
+
it "No warning if joint IEC/non-IEC document with subpart" do
|
633
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.not_to output(%r{Subpart defined on non-IEC document!}).to_stderr
|
626
634
|
= Document title
|
627
635
|
Author
|
628
636
|
:docfile: test.adoc
|
629
637
|
:nodoc:
|
630
638
|
:partnumber: 1-1
|
631
639
|
:publisher: ISO,IEC
|
640
|
+
:no-isobib:
|
632
641
|
|
633
642
|
INPUT
|
634
643
|
end
|
635
644
|
|
636
|
-
|
637
|
-
|
645
|
+
it "Warning if main title contains document type" do
|
646
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{Main Title may name document type}).to_stderr
|
638
647
|
= Document title
|
639
648
|
Author
|
640
649
|
:docfile: test.adoc
|
641
650
|
:nodoc:
|
642
651
|
:title-main-en: A Technical Specification on Widgets
|
652
|
+
:no-isobib:
|
643
653
|
|
644
654
|
INPUT
|
645
655
|
end
|
646
656
|
|
647
|
-
|
648
|
-
|
657
|
+
it "Warning if intro title contains document type" do
|
658
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{Title Intro may name document type}).to_stderr
|
649
659
|
= Document title
|
650
660
|
Author
|
651
661
|
:docfile: test.adoc
|
652
662
|
:nodoc:
|
653
663
|
:title-intro-en: A Technical Specification on Widgets
|
664
|
+
:no-isobib:
|
654
665
|
|
655
666
|
INPUT
|
656
667
|
end
|
657
668
|
|
658
|
-
|
659
|
-
|
669
|
+
it "Each first-level subclause must have a title" do
|
670
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{each first-level subclause must have a title}).to_stderr
|
660
671
|
#{VALIDATING_BLANK_HDR}
|
661
672
|
== Clause
|
662
673
|
|
@@ -664,8 +675,8 @@ RSpec.describe "Each first-level subclause must have a title" do
|
|
664
675
|
INPUT
|
665
676
|
end
|
666
677
|
|
667
|
-
|
668
|
-
|
678
|
+
it "All subclauses must have a title, or none" do
|
679
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{all subclauses must have a title, or none}).to_stderr
|
669
680
|
#{VALIDATING_BLANK_HDR}
|
670
681
|
== Clause
|
671
682
|
|
@@ -677,8 +688,8 @@ RSpec.describe "All subclauses must have a title, or none" do
|
|
677
688
|
INPUT
|
678
689
|
end
|
679
690
|
|
680
|
-
|
681
|
-
|
691
|
+
it "Warning if subclause is only child of its parent, or none" do
|
692
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{subclause is only child}).to_stderr
|
682
693
|
#{VALIDATING_BLANK_HDR}
|
683
694
|
== Clause
|
684
695
|
|
@@ -687,41 +698,44 @@ RSpec.describe "Warning if subclause is only child of its parent, or none" do
|
|
687
698
|
INPUT
|
688
699
|
end
|
689
700
|
|
690
|
-
|
691
|
-
|
701
|
+
it "Warning if invalid technical committee type" do
|
702
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{invalid technical committee type}).to_stderr
|
692
703
|
= Document title
|
693
704
|
Author
|
694
705
|
:docfile: test.adoc
|
695
706
|
:nodoc:
|
696
707
|
:technical-committee-type: X
|
708
|
+
:no-isobib:
|
697
709
|
|
698
710
|
INPUT
|
699
711
|
end
|
700
712
|
|
701
|
-
|
702
|
-
|
713
|
+
it "Warning if invalid subcommittee type" do
|
714
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{invalid subcommittee type}).to_stderr
|
703
715
|
= Document title
|
704
716
|
Author
|
705
717
|
:docfile: test.adoc
|
706
718
|
:nodoc:
|
707
719
|
:subcommittee-type: X
|
720
|
+
:no-isobib:
|
708
721
|
|
709
722
|
INPUT
|
710
723
|
end
|
711
724
|
|
712
|
-
|
713
|
-
|
725
|
+
it "Warning if invalid subcommittee type" do
|
726
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{invalid subcommittee type}).to_stderr
|
714
727
|
= Document title
|
715
728
|
Author
|
716
729
|
:docfile: test.adoc
|
717
730
|
:nodoc:
|
718
731
|
:subcommittee-type: X
|
732
|
+
:no-isobib:
|
719
733
|
|
720
734
|
INPUT
|
721
735
|
end
|
722
736
|
|
723
|
-
|
724
|
-
|
737
|
+
it "Warning if 'see' crossreference points to normative section" do
|
738
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{'see terms' is pointing to a normative section}).to_stderr
|
725
739
|
#{VALIDATING_BLANK_HDR}
|
726
740
|
[[terms]]
|
727
741
|
== Terms and Definitions
|
@@ -731,8 +745,8 @@ RSpec.describe "Warning if 'see' crossreference points to normative section" do
|
|
731
745
|
INPUT
|
732
746
|
end
|
733
747
|
|
734
|
-
|
735
|
-
|
748
|
+
it "Warning if 'see' reference points to normative reference" do
|
749
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{is pointing to a normative reference}).to_stderr
|
736
750
|
#{VALIDATING_BLANK_HDR}
|
737
751
|
[bibliography]
|
738
752
|
== Normative References
|
@@ -743,8 +757,8 @@ RSpec.describe "Warning if 'see' reference points to normative reference" do
|
|
743
757
|
INPUT
|
744
758
|
end
|
745
759
|
|
746
|
-
|
747
|
-
|
760
|
+
it "Warning if term definition starts with article" do
|
761
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{term definition starts with article}).to_stderr
|
748
762
|
#{VALIDATING_BLANK_HDR}
|
749
763
|
== Terms and Definitions
|
750
764
|
|
@@ -754,8 +768,8 @@ RSpec.describe "Warning if term definition starts with article" do
|
|
754
768
|
INPUT
|
755
769
|
end
|
756
770
|
|
757
|
-
|
758
|
-
|
771
|
+
it "Warning if term definition ends with period" do
|
772
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{term definition ends with period}).to_stderr
|
759
773
|
#{VALIDATING_BLANK_HDR}
|
760
774
|
== Terms and Definitions
|
761
775
|
|
@@ -765,8 +779,8 @@ RSpec.describe "Warning if term definition ends with period" do
|
|
765
779
|
INPUT
|
766
780
|
end
|
767
781
|
|
768
|
-
|
769
|
-
|
782
|
+
it "validates document against ISO XML schema" do
|
783
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{value of attribute "align" is invalid; must be equal to}).to_stderr
|
770
784
|
#{VALIDATING_BLANK_HDR}
|
771
785
|
|
772
786
|
[align=mid-air]
|
@@ -775,9 +789,14 @@ RSpec.describe "validates document against ISO XML schema" do
|
|
775
789
|
end
|
776
790
|
|
777
791
|
|
778
|
-
|
779
|
-
|
780
|
-
|
792
|
+
it "Warning if terms mismatches IEV" do
|
793
|
+
system "mv ~/.iev.pstore ~/.iev.pstore1"
|
794
|
+
system "rm test.iev.pstore"
|
795
|
+
mock_open_uri('103-01-02')
|
796
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{Term "automation" does not match IEV 103-01-02 "functional"}).to_stderr
|
797
|
+
= Document title
|
798
|
+
Author
|
799
|
+
:docfile: test.adoc
|
781
800
|
|
782
801
|
[bibliography]
|
783
802
|
== Normative References
|
@@ -789,11 +808,17 @@ RSpec.describe "Warning if terms mismatches IEV" do
|
|
789
808
|
[.source]
|
790
809
|
<<iev,clause="103-01-02">>
|
791
810
|
INPUT
|
811
|
+
system "mv ~/.iev.pstore1 ~/.iev.pstore"
|
792
812
|
end
|
793
813
|
|
794
|
-
|
795
|
-
|
796
|
-
|
814
|
+
it "No warning if English term matches IEV" do
|
815
|
+
system "mv ~/.iev.pstore ~/.iev.pstore1"
|
816
|
+
system "rm test.iev.pstore"
|
817
|
+
mock_open_uri('103-01-02')
|
818
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.not_to output(%r{does not match IEV 103-01-02}).to_stderr
|
819
|
+
= Document title
|
820
|
+
Author
|
821
|
+
:docfile: test.adoc
|
797
822
|
|
798
823
|
[bibliography]
|
799
824
|
== Normative References
|
@@ -805,15 +830,18 @@ RSpec.describe "No warning if English term matches IEV" do
|
|
805
830
|
[.source]
|
806
831
|
<<iev,clause="103-01-02">>
|
807
832
|
INPUT
|
833
|
+
system "mv ~/.iev.pstore1 ~/.iev.pstore"
|
808
834
|
end
|
809
835
|
|
810
|
-
|
811
|
-
|
836
|
+
it "No warning if French term matches IEV" do
|
837
|
+
system "mv ~/.iev.pstore ~/.iev.pstore1"
|
838
|
+
system "rm test.iev.pstore"
|
839
|
+
mock_open_uri('103-01-02')
|
840
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.not_to output(%r{does not match IEV 103-01-02}).to_stderr
|
812
841
|
= Document title
|
813
842
|
Author
|
814
843
|
:docfile: test.adoc
|
815
844
|
:nodoc:
|
816
|
-
:no-isobib:
|
817
845
|
:language: fr
|
818
846
|
|
819
847
|
[bibliography]
|
@@ -826,10 +854,11 @@ RSpec.describe "No warning if French term matches IEV" do
|
|
826
854
|
[.source]
|
827
855
|
<<iev,clause="103-01-02">>
|
828
856
|
INPUT
|
857
|
+
system "mv ~/.iev.pstore1 ~/.iev.pstore"
|
829
858
|
end
|
830
859
|
|
831
|
-
|
832
|
-
|
860
|
+
it "Warn if more than 7 levels of subclause" do
|
861
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.to output(%r{Exceeds the maximum clause depth of 7}).to_stderr
|
833
862
|
= Document title
|
834
863
|
Author
|
835
864
|
:docfile: test.adoc
|
@@ -859,8 +888,8 @@ RSpec.describe "Warn if more than 7 levels of subclause" do
|
|
859
888
|
INPUT
|
860
889
|
end
|
861
890
|
|
862
|
-
|
863
|
-
|
891
|
+
it "Do not warn if not more than 7 levels of subclause" do
|
892
|
+
expect { Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true) }.not_to output(%r{exceeds the maximum clause depth of 7}).to_stderr
|
864
893
|
= Document title
|
865
894
|
Author
|
866
895
|
:docfile: test.adoc
|
@@ -886,4 +915,4 @@ RSpec.describe "Do not warn if not more than 7 levels of subclause" do
|
|
886
915
|
|
887
916
|
INPUT
|
888
917
|
end
|
889
|
-
|
918
|
+
end
|