metanorma-iso 1.5.1 → 1.5.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a4efe57fc87938f85770ed9c8a784736a25e1f69712ed770f21bf6b59a212b3f
4
- data.tar.gz: ebd36532e1f6742007b4415ace26933d72670d0d376485ed7f7fe5713bca3e5c
3
+ metadata.gz: 7dc868b1792a227210079cc57a26f3d6a149738feb8cc1003a081f2db6a8c035
4
+ data.tar.gz: 4ce69ed98d486e5618ad68bbac05b6b8589d8ac7b1b76bff90c4bed08b242315
5
5
  SHA512:
6
- metadata.gz: 9c44d90b036a28539859a9c291bbdb6575061196fe52f25ddb76a48b512ee284f107e82ab8aa25e57c3c95135480ecd3e48e13932e839fcd8978764b25a0693b
7
- data.tar.gz: d6166c40c1003fa88abfd11ee36938bd435c58549501e321a6048ecbcf5c21f2be25ad30667d75a26845d6b63e0cc251778451d970de8c43237452327b8061d9
6
+ metadata.gz: 8a759e049bbc37f0b3027a7ff7ed012e123645c28099e9b4c9af86cc3da964e7b121f69c4ae0d4b0d9d9a804009bb93c368716ad115ff45a761fa0d3cec89245
7
+ data.tar.gz: cc1c85767b13826f10d1289621379892722166aa38008009577be1c6703b3ad194870db780f050457e73e0f76b301186d64469c935007c56539c23f78651bc17
@@ -39,7 +39,7 @@ jobs:
39
39
  polling_interval_seconds: 5
40
40
  timeout_minutes: 5
41
41
  max_attempts: 3
42
- command: sudo bash -c "curl -L https://github.com/metanorma/plantuml-install/raw/master/ubuntu.sh | bash"
42
+ command: sudo apt-get update -y && sudo bash -c "curl -L https://github.com/metanorma/plantuml-install/raw/master/ubuntu.sh | bash"
43
43
  - name: Run specs
44
44
  run: |
45
45
  bundle exec rake
@@ -34,7 +34,7 @@ module Asciidoctor
34
34
 
35
35
  def metadata_author(node, xml)
36
36
  publishers = node.attr("publisher") || "ISO"
37
- publishers.split(/,[ ]?/).each do |p|
37
+ csv_split(publishers).each do |p|
38
38
  xml.contributor do |c|
39
39
  c.role **{ type: "author" }
40
40
  c.organization { |a| organization(a, p) }
@@ -44,7 +44,7 @@ module Asciidoctor
44
44
 
45
45
  def metadata_publisher(node, xml)
46
46
  publishers = node.attr("publisher") || "ISO"
47
- publishers.split(/,[ ]?/).each do |p|
47
+ csv_split(publishers).each do |p|
48
48
  xml.contributor do |c|
49
49
  c.role **{ type: "publisher" }
50
50
  c.organization { |a| organization(a, p) }
@@ -53,8 +53,8 @@ module Asciidoctor
53
53
  end
54
54
 
55
55
  def metadata_copyright(node, xml)
56
- publishers = node.attr("publisher") || "ISO"
57
- publishers.split(/,[ ]?/).each do |p|
56
+ publishers = node.attr("copyright-holder") || node.attr("publisher") || "ISO"
57
+ csv_split(publishers).each do |p|
58
58
  xml.copyright do |c|
59
59
  c.from (node.attr("copyright-year") || Date.today.year)
60
60
  c.owner do |owner|
@@ -7,6 +7,7 @@ module Asciidoctor
7
7
  foreword_validate(doc.root)
8
8
  normref_validate(doc.root)
9
9
  symbols_validate(doc.root)
10
+ sections_presence_validate(doc.root)
10
11
  sections_sequence_validate(doc.root)
11
12
  section_style(doc.root)
12
13
  subclause_validate(doc.root)
@@ -55,6 +56,15 @@ module Asciidoctor
55
56
  names
56
57
  end
57
58
 
59
+ def sections_presence_validate(root)
60
+ root.at("//sections/clause[@type = 'scope']") or
61
+ @log.add("Style", nil, "Scope clause missing")
62
+ root.at("//references[@normative = 'true']") or
63
+ @log.add("Style", nil, "Normative references missing")
64
+ root.at("//terms") or
65
+ @log.add("Style", nil, "Terms & definitions missing")
66
+ end
67
+
58
68
  # spec of permissible section sequence
59
69
  # we skip normative references, it goes to end of list
60
70
  SEQ =
@@ -8,4 +8,3 @@ term_def_boilerplate: |
8
8
  <li> <p>IEC Electropedia: available at
9
9
  <link target="http://www.electropedia.org"/>
10
10
  </p> </li> </ul>
11
-
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module ISO
3
- VERSION = "1.5.1".freeze
3
+ VERSION = "1.5.2".freeze
4
4
  end
5
5
  end
@@ -186,6 +186,7 @@ RSpec.describe Asciidoctor::ISO do
186
186
  :language: el
187
187
  :script: Grek
188
188
  :publisher: IEC,IETF,ISO
189
+ :copyright-holder: ISO,IETF
189
190
  :copyright-year: 2001
190
191
  :doctype: technical-report
191
192
  INPUT
@@ -248,8 +249,8 @@ RSpec.describe Asciidoctor::ISO do
248
249
  <from>2001</from>
249
250
  <owner>
250
251
  <organization>
251
- <name>International Electrotechnical Commission</name>
252
- <abbreviation>IEC</abbreviation>
252
+ <name>International Organization for Standardization</name>
253
+ <abbreviation>ISO</abbreviation>
253
254
  </organization>
254
255
  </owner>
255
256
  </copyright>
@@ -261,15 +262,6 @@ RSpec.describe Asciidoctor::ISO do
261
262
  </organization>
262
263
  </owner>
263
264
  </copyright>
264
- <copyright>
265
- <from>2001</from>
266
- <owner>
267
- <organization>
268
- <name>International Organization for Standardization</name>
269
- <abbreviation>ISO</abbreviation>
270
- </organization>
271
- </owner>
272
- </copyright>
273
265
  <ext>
274
266
  <doctype>technical-report</doctype>
275
267
  <editorialgroup>
@@ -3,6 +3,93 @@ require "fileutils"
3
3
 
4
4
  RSpec.describe Asciidoctor::ISO do
5
5
 
6
+ it "Warns of missing scope" do
7
+ FileUtils.rm_f "test.err"
8
+ Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true)
9
+ = Document title
10
+ Author
11
+ :docfile: test.adoc
12
+ :nodoc:
13
+ :no-isobib:
14
+ :doctype: pizza
15
+
16
+ text
17
+ INPUT
18
+ expect(File.read("test.err")).to include "Scope clause missing"
19
+ FileUtils.rm_f "test.err"
20
+ Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true)
21
+ = Document title
22
+ Author
23
+ :docfile: test.adoc
24
+ :nodoc:
25
+ :no-isobib:
26
+ :doctype: pizza
27
+
28
+ == Scope
29
+ INPUT
30
+ expect(File.read("test.err")).not_to include "Scope clause missing"
31
+
32
+ end
33
+
34
+ it "Warns of missing normative references" do
35
+ FileUtils.rm_f "test.err"
36
+ Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true)
37
+ = Document title
38
+ Author
39
+ :docfile: test.adoc
40
+ :nodoc:
41
+ :no-isobib:
42
+ :doctype: pizza
43
+
44
+ text
45
+ INPUT
46
+ expect(File.read("test.err")).to include "Normative references missing"
47
+ FileUtils.rm_f "test.err"
48
+ Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true)
49
+ = Document title
50
+ Author
51
+ :docfile: test.adoc
52
+ :nodoc:
53
+ :no-isobib:
54
+ :doctype: pizza
55
+
56
+ [bibliography]
57
+ == Normative references
58
+ INPUT
59
+ expect(File.read("test.err")).not_to include "Normative references missing"
60
+
61
+ end
62
+
63
+ it "Warns of missing terms & definitions" do
64
+ FileUtils.rm_f "test.err"
65
+ Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true)
66
+ = Document title
67
+ Author
68
+ :docfile: test.adoc
69
+ :nodoc:
70
+ :no-isobib:
71
+ :doctype: pizza
72
+
73
+ text
74
+ INPUT
75
+ expect(File.read("test.err")).to include "Terms & definitions missing"
76
+ FileUtils.rm_f "test.err"
77
+ Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true)
78
+ = Document title
79
+ Author
80
+ :docfile: test.adoc
81
+ :nodoc:
82
+ :no-isobib:
83
+ :doctype: pizza
84
+
85
+ == Terms and definitions
86
+ === Term 1
87
+ INPUT
88
+ expect(File.read("test.err")).not_to include "Terms & definitions missing"
89
+
90
+ end
91
+
92
+
6
93
  it "Warns of illegal doctype" do
7
94
  FileUtils.rm_f "test.err"
8
95
  Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-iso
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.1
4
+ version: 1.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-29 00:00:00.000000000 Z
11
+ date: 2020-08-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby-jing