metanorma-iso 2.2.1 → 2.2.2
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/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
|
|