metanorma-iso 2.2.1 → 2.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/automerge.yml +31 -0
- data/lib/isodoc/iso/html/style-human.css +1 -1
- data/lib/isodoc/iso/html/style-iso.css +1 -1
- data/lib/isodoc/iso/i18n-en.yaml +9 -4
- data/lib/isodoc/iso/i18n-fr.yaml +9 -3
- data/lib/isodoc/iso/i18n-ru.yaml +9 -2
- data/lib/isodoc/iso/i18n-zh-Hans.yaml +1 -2
- data/lib/isodoc/iso/iso.amendment.xsl +21 -3
- data/lib/isodoc/iso/iso.international-standard.xsl +21 -3
- data/lib/isodoc/iso/presentation_xref.rb +10 -7
- data/lib/isodoc/iso/sections.rb +1 -1
- data/lib/metanorma/iso/basicdoc.rng +0 -27
- data/lib/metanorma/iso/biblio-standoc.rng +164 -0
- data/lib/metanorma/iso/biblio.rng +45 -18
- data/lib/metanorma/iso/isodoc.rng +22 -194
- data/lib/metanorma/iso/isostandard-amd.rng +3 -54
- data/lib/metanorma/iso/isostandard-compile.rng +7 -0
- data/lib/metanorma/iso/isostandard.rng +1 -195
- data/lib/metanorma/iso/relaton-iso.rng +225 -0
- data/lib/metanorma/iso/validate.rb +6 -6
- data/lib/metanorma/iso/version.rb +1 -1
- data/lib/metanorma/requirements/modspec.rb +22 -38
- data/spec/isodoc/inline_spec.rb +1 -1
- data/spec/metanorma/validate_spec.rb +55 -55
- data/spec/requirements/requirement_components_spec.rb +51 -63
- data/spec/requirements/requirements_spec.rb +177 -262
- data/spec/vcr_cassettes/withdrawn_iso.yml +29 -29
- metadata +6 -2
@@ -72,66 +72,66 @@ RSpec.describe Metanorma::ISO do
|
|
72
72
|
|
73
73
|
INPUT
|
74
74
|
expect(File.read("test.err")).to include \
|
75
|
-
"image name spec/examples/rice_img/rice_image1.png does not match "\
|
75
|
+
"image name spec/examples/rice_img/rice_image1.png does not match " \
|
76
76
|
"DRG requirements: expect 1000-1_ed2amd3fig"
|
77
77
|
expect(File.read("test.err")).to include \
|
78
|
-
"image name spec/examples/rice_img/1001_ed2amd3fig1.png does not "\
|
78
|
+
"image name spec/examples/rice_img/1001_ed2amd3fig1.png does not " \
|
79
79
|
"match DRG requirements: " \
|
80
80
|
"expect 1000-1_ed2amd3fig"
|
81
81
|
expect(File.read("test.err")).not_to include \
|
82
|
-
"image name spec/examples/rice_img/SL1000-1_ed2amd3fig1.png does not "\
|
82
|
+
"image name spec/examples/rice_img/SL1000-1_ed2amd3fig1.png does not " \
|
83
83
|
"match DRG requirements: " \
|
84
84
|
"expect 1000-1_ed2amd3fig"
|
85
85
|
expect(File.read("test.err")).not_to include \
|
86
|
-
"image name spec/examples/rice_img/ISO_1213_1.png does not match DRG "\
|
86
|
+
"image name spec/examples/rice_img/ISO_1213_1.png does not match DRG " \
|
87
87
|
"requirements: expect 1000-1_ed2amd3fig"
|
88
88
|
expect(File.read("test.err")).to include \
|
89
|
-
"image name spec/examples/rice_img/1000-1_ed2amd3figA.png does not "\
|
89
|
+
"image name spec/examples/rice_img/1000-1_ed2amd3figA.png does not " \
|
90
90
|
"match DRG requirements"
|
91
91
|
expect(File.read("test.err")).not_to include \
|
92
|
-
"image name spec/examples/rice_img/1000-1_ed2amd3figTab1.png does "\
|
92
|
+
"image name spec/examples/rice_img/1000-1_ed2amd3figTab1.png does " \
|
93
93
|
"not match DRG requirements"
|
94
94
|
expect(File.read("test.err")).not_to include \
|
95
|
-
"image name spec/examples/rice_img/1000-1_ed2amd3figTab1.png is "\
|
95
|
+
"image name spec/examples/rice_img/1000-1_ed2amd3figTab1.png is " \
|
96
96
|
"under a table but is not so labelled"
|
97
97
|
expect(File.read("test.err")).to include \
|
98
|
-
"image name spec/examples/rice_img/1000-1_ed2amd3fig2.png is under "\
|
98
|
+
"image name spec/examples/rice_img/1000-1_ed2amd3fig2.png is under " \
|
99
99
|
"a table but is not so labelled"
|
100
100
|
expect(File.read("test.err")).to include \
|
101
|
-
"image name spec/examples/rice_img/1000-1_ed2amd3figTab2.png is "\
|
101
|
+
"image name spec/examples/rice_img/1000-1_ed2amd3figTab2.png is " \
|
102
102
|
"labelled as under a table but is not"
|
103
103
|
expect(File.read("test.err")).not_to include \
|
104
|
-
"image name spec/examples/rice_img/1000-1_ed2amd3fig1.png is "\
|
104
|
+
"image name spec/examples/rice_img/1000-1_ed2amd3fig1.png is " \
|
105
105
|
"labelled as under a table but is not"
|
106
106
|
expect(File.read("test.err")).not_to include \
|
107
|
-
"image name spec/examples/rice_img/1000-1_ed2amd3figA2.png is "\
|
107
|
+
"image name spec/examples/rice_img/1000-1_ed2amd3figA2.png is " \
|
108
108
|
"under an annex but is not so labelled"
|
109
109
|
expect(File.read("test.err")).to include \
|
110
|
-
"image name spec/examples/rice_img/1000-1_ed2amd3fig3.png is "\
|
110
|
+
"image name spec/examples/rice_img/1000-1_ed2amd3fig3.png is " \
|
111
111
|
"under an annex but is not so labelled"
|
112
112
|
expect(File.read("test.err")).to include \
|
113
|
-
"image name spec/examples/rice_img/1000-1_ed2amd3figA1.png is "\
|
113
|
+
"image name spec/examples/rice_img/1000-1_ed2amd3figA1.png is " \
|
114
114
|
"labelled as under an annex but is not"
|
115
115
|
expect(File.read("test.err")).not_to include \
|
116
|
-
"image name spec/examples/rice_img/1000-1_ed2amd3fig1.png is "\
|
116
|
+
"image name spec/examples/rice_img/1000-1_ed2amd3fig1.png is " \
|
117
117
|
"labelled as under an annex but is not"
|
118
118
|
expect(File.read("test.err")).not_to include \
|
119
|
-
"image name spec/examples/rice_img/1000-1_ed2amd3fig1b.png has a "\
|
119
|
+
"image name spec/examples/rice_img/1000-1_ed2amd3fig1b.png has a " \
|
120
120
|
"subfigure letter but is not a subfigure"
|
121
121
|
expect(File.read("test.err")).to include \
|
122
|
-
"image name spec/examples/rice_img/1000-1_ed2amd3fig4.png does not "\
|
122
|
+
"image name spec/examples/rice_img/1000-1_ed2amd3fig4.png does not " \
|
123
123
|
"have a subfigure letter but is a subfigure"
|
124
124
|
expect(File.read("test.err")).to include \
|
125
|
-
"image name spec/examples/rice_img/1000-1_ed2amd3fig1a.png has a "\
|
125
|
+
"image name spec/examples/rice_img/1000-1_ed2amd3fig1a.png has a " \
|
126
126
|
"subfigure letter but is not a subfigure"
|
127
127
|
expect(File.read("test.err")).not_to include \
|
128
|
-
"image name spec/examples/rice_img/1000-1_ed2amd3fig1.png has a "\
|
128
|
+
"image name spec/examples/rice_img/1000-1_ed2amd3fig1.png has a " \
|
129
129
|
"subfigure letter but is not a subfigure"
|
130
130
|
expect(File.read("test.err")).to include \
|
131
|
-
"image name spec/examples/rice_img/1000-1_ed2amd3fig5_f.png expected "\
|
131
|
+
"image name spec/examples/rice_img/1000-1_ed2amd3fig5_f.png expected " \
|
132
132
|
"to have suffix _e"
|
133
133
|
expect(File.read("test.err")).not_to include \
|
134
|
-
"image name spec/examples/rice_img/1000-1_ed2amd3fig1.png expected "\
|
134
|
+
"image name spec/examples/rice_img/1000-1_ed2amd3fig1.png expected " \
|
135
135
|
"to have suffix _e"
|
136
136
|
end
|
137
137
|
|
@@ -518,7 +518,7 @@ RSpec.describe Metanorma::ISO do
|
|
518
518
|
<<iso123>>
|
519
519
|
INPUT
|
520
520
|
expect(File.read("test.err"))
|
521
|
-
.to include "iso123 does not have a corresponding anchor ID "\
|
521
|
+
.to include "iso123 does not have a corresponding anchor ID " \
|
522
522
|
"in the bibliography"
|
523
523
|
end
|
524
524
|
|
@@ -534,11 +534,11 @@ RSpec.describe Metanorma::ISO do
|
|
534
534
|
* [[[iso123,ISO 123]]] _Standard_
|
535
535
|
INPUT
|
536
536
|
expect(File.read("test.err"))
|
537
|
-
.to include "undated reference ISO 123 should not contain "\
|
537
|
+
.to include "undated reference ISO 123 should not contain " \
|
538
538
|
"specific elements"
|
539
539
|
end
|
540
540
|
|
541
|
-
it "do not warn that undated reference which is a bibliographic reference "\
|
541
|
+
it "do not warn that undated reference which is a bibliographic reference " \
|
542
542
|
"has locality" do
|
543
543
|
Asciidoctor.convert(<<~"INPUT", *OPTIONS)
|
544
544
|
#{VALIDATING_BLANK_HDR}
|
@@ -551,7 +551,7 @@ RSpec.describe Metanorma::ISO do
|
|
551
551
|
* [[[iso123,1]]] _Standard_
|
552
552
|
INPUT
|
553
553
|
expect(File.read("test.err"))
|
554
|
-
.not_to include "undated reference [1] should not contain specific "\
|
554
|
+
.not_to include "undated reference [1] should not contain specific " \
|
555
555
|
"elements"
|
556
556
|
end
|
557
557
|
|
@@ -567,7 +567,7 @@ RSpec.describe Metanorma::ISO do
|
|
567
567
|
* [[[iev,IEV]]] _Standard_
|
568
568
|
INPUT
|
569
569
|
expect(File.read("test.err"))
|
570
|
-
.not_to include "undated reference IEV should not contain specific "\
|
570
|
+
.not_to include "undated reference IEV should not contain specific " \
|
571
571
|
"elements"
|
572
572
|
end
|
573
573
|
|
@@ -583,7 +583,7 @@ RSpec.describe Metanorma::ISO do
|
|
583
583
|
* [[[iev,ISO 123:--]]] _Standard_
|
584
584
|
INPUT
|
585
585
|
expect(File.read("test.err"))
|
586
|
-
.not_to include "undated reference ISO 123 should not contain specific "\
|
586
|
+
.not_to include "undated reference ISO 123 should not contain specific " \
|
587
587
|
"elements"
|
588
588
|
end
|
589
589
|
|
@@ -642,7 +642,7 @@ RSpec.describe Metanorma::ISO do
|
|
642
642
|
expect(File.read("test.err")).to include "number not broken up in threes"
|
643
643
|
end
|
644
644
|
|
645
|
-
it "gives No style warning if number not broken up in threes is "\
|
645
|
+
it "gives No style warning if number not broken up in threes is " \
|
646
646
|
"ISO reference" do
|
647
647
|
Asciidoctor.convert(<<~"INPUT", *OPTIONS)
|
648
648
|
#{VALIDATING_BLANK_HDR}
|
@@ -856,11 +856,11 @@ RSpec.describe Metanorma::ISO do
|
|
856
856
|
== Symbols and Abbreviated Terms
|
857
857
|
INPUT
|
858
858
|
expect(File.read("test.err"))
|
859
|
-
.to include "Only one Symbols and Abbreviated Terms section "\
|
859
|
+
.to include "Only one Symbols and Abbreviated Terms section " \
|
860
860
|
"in the standard"
|
861
861
|
end
|
862
862
|
|
863
|
-
it "Style warning if Symbols and Abbreviated Terms contains "\
|
863
|
+
it "Style warning if Symbols and Abbreviated Terms contains " \
|
864
864
|
"extraneous matter" do
|
865
865
|
Asciidoctor.convert(<<~"INPUT", *OPTIONS)
|
866
866
|
#{VALIDATING_BLANK_HDR}
|
@@ -870,7 +870,7 @@ RSpec.describe Metanorma::ISO do
|
|
870
870
|
Paragraph
|
871
871
|
INPUT
|
872
872
|
expect(File.read("test.err"))
|
873
|
-
.to include "Symbols and Abbreviated Terms can only contain "\
|
873
|
+
.to include "Symbols and Abbreviated Terms can only contain " \
|
874
874
|
"a definition list"
|
875
875
|
|
876
876
|
Asciidoctor.convert(<<~"INPUT", *OPTIONS)
|
@@ -881,7 +881,7 @@ RSpec.describe Metanorma::ISO do
|
|
881
881
|
A:: B
|
882
882
|
INPUT
|
883
883
|
expect(File.read("test.err"))
|
884
|
-
.not_to include "Symbols and Abbreviated Terms can only contain "\
|
884
|
+
.not_to include "Symbols and Abbreviated Terms can only contain " \
|
885
885
|
"a definition list"
|
886
886
|
end
|
887
887
|
|
@@ -996,7 +996,7 @@ RSpec.describe Metanorma::ISO do
|
|
996
996
|
Paragraph
|
997
997
|
INPUT
|
998
998
|
expect(File.read("test.err"))
|
999
|
-
.to include "Normative References must be followed by "\
|
999
|
+
.to include "Normative References must be followed by " \
|
1000
1000
|
"Terms and Definitions"
|
1001
1001
|
|
1002
1002
|
Asciidoctor.convert(<<~"INPUT", *OPTIONS)
|
@@ -1020,7 +1020,7 @@ RSpec.describe Metanorma::ISO do
|
|
1020
1020
|
Paragraph
|
1021
1021
|
INPUT
|
1022
1022
|
expect(File.read("test.err"))
|
1023
|
-
.not_to include "Normative References must be followed by "\
|
1023
|
+
.not_to include "Normative References must be followed by " \
|
1024
1024
|
"Terms and Definitions"
|
1025
1025
|
end
|
1026
1026
|
|
@@ -1118,7 +1118,7 @@ RSpec.describe Metanorma::ISO do
|
|
1118
1118
|
.not_to include "Scope must occur before Terms and Definitions"
|
1119
1119
|
end
|
1120
1120
|
|
1121
|
-
it "Warning if Symbols and Abbreviated Terms does not occur immediately "\
|
1121
|
+
it "Warning if Symbols and Abbreviated Terms does not occur immediately " \
|
1122
1122
|
"after Terms and Definitions" do
|
1123
1123
|
Asciidoctor.convert(<<~"INPUT", *OPTIONS)
|
1124
1124
|
#{VALIDATING_BLANK_HDR}
|
@@ -1297,7 +1297,7 @@ RSpec.describe Metanorma::ISO do
|
|
1297
1297
|
|
1298
1298
|
INPUT
|
1299
1299
|
expect(File.read("test.err"))
|
1300
|
-
.not_to include "Only one Symbols and Abbreviated Terms section "\
|
1300
|
+
.not_to include "Only one Symbols and Abbreviated Terms section " \
|
1301
1301
|
"in the standard"
|
1302
1302
|
end
|
1303
1303
|
|
@@ -1316,10 +1316,10 @@ RSpec.describe Metanorma::ISO do
|
|
1316
1316
|
|
1317
1317
|
INPUT
|
1318
1318
|
expect(File.read("test.err"))
|
1319
|
-
.to include "Single terms clause in vocabulary document should have "\
|
1319
|
+
.to include "Single terms clause in vocabulary document should have " \
|
1320
1320
|
"normal Terms and definitions heading"
|
1321
1321
|
expect(File.read("test.err"))
|
1322
|
-
.not_to include "Multiple terms clauses in vocabulary document should "\
|
1322
|
+
.not_to include "Multiple terms clauses in vocabulary document should " \
|
1323
1323
|
"have 'Terms related to' heading"
|
1324
1324
|
end
|
1325
1325
|
|
@@ -1343,11 +1343,11 @@ RSpec.describe Metanorma::ISO do
|
|
1343
1343
|
|
1344
1344
|
INPUT
|
1345
1345
|
expect(File.read("test.err"))
|
1346
|
-
.to include "In vocabulary documents, Symbols and Abbreviated Terms are "\
|
1346
|
+
.to include "In vocabulary documents, Symbols and Abbreviated Terms are " \
|
1347
1347
|
"only permitted in annexes"
|
1348
1348
|
end
|
1349
1349
|
|
1350
|
-
it "Warning if multiple terms section in vocabulary document not named "\
|
1350
|
+
it "Warning if multiple terms section in vocabulary document not named " \
|
1351
1351
|
"properly" do
|
1352
1352
|
Asciidoctor.convert(<<~"INPUT", *OPTIONS)
|
1353
1353
|
= Document title
|
@@ -1364,10 +1364,10 @@ RSpec.describe Metanorma::ISO do
|
|
1364
1364
|
|
1365
1365
|
INPUT
|
1366
1366
|
expect(File.read("test.err"))
|
1367
|
-
.not_to include "Single terms clause in vocabulary document should have "\
|
1367
|
+
.not_to include "Single terms clause in vocabulary document should have " \
|
1368
1368
|
"normal Terms and definitions heading"
|
1369
1369
|
expect(File.read("test.err"))
|
1370
|
-
.to include "Multiple terms clauses in vocabulary document should "\
|
1370
|
+
.to include "Multiple terms clauses in vocabulary document should " \
|
1371
1371
|
"have 'Terms related to' heading"
|
1372
1372
|
end
|
1373
1373
|
|
@@ -1846,7 +1846,7 @@ RSpec.describe Metanorma::ISO do
|
|
1846
1846
|
* [[[ISO8,ISO 8:--]]], _Title_
|
1847
1847
|
INPUT
|
1848
1848
|
expect(File.read("test.err"))
|
1849
|
-
.to include "Reference ISO8 does not have an associated footnote "\
|
1849
|
+
.to include "Reference ISO8 does not have an associated footnote " \
|
1850
1850
|
"indicating unpublished status"
|
1851
1851
|
end
|
1852
1852
|
|
@@ -1917,25 +1917,25 @@ RSpec.describe Metanorma::ISO do
|
|
1917
1917
|
. Sentence.
|
1918
1918
|
INPUT
|
1919
1919
|
expect(File.read("test.err"))
|
1920
|
-
.to include "List entry of broken up sentence must start with "\
|
1920
|
+
.to include "List entry of broken up sentence must start with " \
|
1921
1921
|
"lowercase letter: Sentence."
|
1922
1922
|
expect(File.read("test.err"))
|
1923
|
-
.not_to include "List entry of broken up sentence must start with "\
|
1923
|
+
.not_to include "List entry of broken up sentence must start with " \
|
1924
1924
|
"lowercase letter: another broken up;."
|
1925
1925
|
expect(File.read("test.err"))
|
1926
|
-
.to include "List entry of broken up sentence must end with semicolon: "\
|
1926
|
+
.to include "List entry of broken up sentence must end with semicolon: " \
|
1927
1927
|
"this is"
|
1928
1928
|
expect(File.read("test.err"))
|
1929
|
-
.to include "Final list entry of broken up sentence must end with "\
|
1929
|
+
.to include "Final list entry of broken up sentence must end with " \
|
1930
1930
|
"full stop: sentence"
|
1931
1931
|
expect(File.read("test.err"))
|
1932
|
-
.not_to include "Final list entry of broken up sentence must end with "\
|
1932
|
+
.not_to include "Final list entry of broken up sentence must end with " \
|
1933
1933
|
"full stop: sentence."
|
1934
1934
|
expect(File.read("test.err"))
|
1935
|
-
.not_to include "List entry of broken up sentence must start with "\
|
1935
|
+
.not_to include "List entry of broken up sentence must start with " \
|
1936
1936
|
"lowercase letter: Another broken up."
|
1937
1937
|
expect(File.read("test.err"))
|
1938
|
-
.not_to include "List entry of broken up sentence must end with "\
|
1938
|
+
.not_to include "List entry of broken up sentence must end with " \
|
1939
1939
|
"semicolon: This is."
|
1940
1940
|
end
|
1941
1941
|
|
@@ -1953,13 +1953,13 @@ RSpec.describe Metanorma::ISO do
|
|
1953
1953
|
|
1954
1954
|
INPUT
|
1955
1955
|
expect(File.read("test.err"))
|
1956
|
-
.to include "List entry of separate sentences must end with full stop: "\
|
1956
|
+
.to include "List entry of separate sentences must end with full stop: " \
|
1957
1957
|
"This is;"
|
1958
1958
|
expect(File.read("test.err"))
|
1959
|
-
.not_to include "List entry of separate sentences must end with "\
|
1959
|
+
.not_to include "List entry of separate sentences must end with " \
|
1960
1960
|
"full stop: Another broken up."
|
1961
1961
|
expect(File.read("test.err"))
|
1962
|
-
.to include "List entry of separate sentences must start with "\
|
1962
|
+
.to include "List entry of separate sentences must start with " \
|
1963
1963
|
"uppercase letter: sentence."
|
1964
1964
|
end
|
1965
1965
|
|
@@ -1977,7 +1977,7 @@ RSpec.describe Metanorma::ISO do
|
|
1977
1977
|
|
1978
1978
|
INPUT
|
1979
1979
|
expect(File.read("test.err"))
|
1980
|
-
.not_to include "List entry after full stop must end with full stop: "\
|
1980
|
+
.not_to include "List entry after full stop must end with full stop: " \
|
1981
1981
|
"This is"
|
1982
1982
|
end
|
1983
1983
|
|
@@ -1997,7 +1997,7 @@ RSpec.describe Metanorma::ISO do
|
|
1997
1997
|
|
1998
1998
|
INPUT
|
1999
1999
|
expect(File.read("test.err"))
|
2000
|
-
.not_to include "List entry after full stop must end with full stop: "\
|
2000
|
+
.not_to include "List entry after full stop must end with full stop: " \
|
2001
2001
|
"This is"
|
2002
2002
|
end
|
2003
2003
|
|
@@ -2125,7 +2125,7 @@ RSpec.describe Metanorma::ISO do
|
|
2125
2125
|
expect(File.read("test.err"))
|
2126
2126
|
.to include "non-terms clauses cannot cross-reference terms clause (c)"
|
2127
2127
|
expect(File.read("test.err"))
|
2128
|
-
.not_to include "non-terms clauses cannot cross-reference terms "\
|
2128
|
+
.not_to include "non-terms clauses cannot cross-reference terms " \
|
2129
2129
|
"clause (b)"
|
2130
2130
|
end
|
2131
2131
|
|