metanorma-iso 1.5.11 → 1.6.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +83 -0
  3. data/README.adoc +5 -6
  4. data/lib/asciidoctor/iso/base.rb +5 -5
  5. data/lib/asciidoctor/iso/basicdoc.rng +50 -3
  6. data/lib/asciidoctor/iso/boilerplate-fr.xml +2 -2
  7. data/lib/asciidoctor/iso/cleanup.rb +33 -6
  8. data/lib/asciidoctor/iso/front.rb +5 -0
  9. data/lib/asciidoctor/iso/isodoc.rng +61 -3
  10. data/lib/asciidoctor/iso/isostandard-amd.rng +8 -4
  11. data/lib/asciidoctor/iso/isostandard.rng +27 -10
  12. data/lib/asciidoctor/iso/validate.rb +13 -1
  13. data/lib/asciidoctor/iso/validate_section.rb +21 -9
  14. data/lib/isodoc/iso/base_convert.rb +2 -1
  15. data/lib/isodoc/iso/html/header.html +4 -8
  16. data/lib/isodoc/iso/html/htmlstyle.css +1 -1
  17. data/lib/isodoc/iso/html/htmlstyle.scss +1 -1
  18. data/lib/isodoc/iso/html/isodoc.css +42 -42
  19. data/lib/isodoc/iso/html/isodoc.scss +42 -42
  20. data/lib/isodoc/iso/html/style-human.css +9 -9
  21. data/lib/isodoc/iso/html/style-human.scss +7 -7
  22. data/lib/isodoc/iso/html/style-iso.css +7 -7
  23. data/lib/isodoc/iso/html/style-iso.scss +5 -5
  24. data/lib/isodoc/iso/html/wordstyle.css +67 -67
  25. data/lib/isodoc/iso/html/wordstyle.scss +67 -67
  26. data/lib/isodoc/iso/html_convert.rb +4 -0
  27. data/lib/isodoc/iso/i18n-en.yaml +1 -0
  28. data/lib/isodoc/iso/i18n-fr.yaml +2 -0
  29. data/lib/isodoc/iso/i18n-zh-Hans.yaml +1 -0
  30. data/lib/isodoc/iso/i18n.rb +10 -11
  31. data/lib/isodoc/iso/iso.amendment.xsl +381 -86
  32. data/lib/isodoc/iso/iso.international-standard.xsl +381 -86
  33. data/lib/isodoc/iso/metadata.rb +1 -0
  34. data/lib/isodoc/iso/sections.rb +1 -1
  35. data/lib/isodoc/iso/word_convert.rb +4 -0
  36. data/lib/isodoc/iso/xref.rb +34 -8
  37. data/lib/metanorma/iso/processor.rb +11 -9
  38. data/lib/metanorma/iso/version.rb +1 -1
  39. data/metanorma-iso.gemspec +2 -2
  40. data/spec/asciidoctor-iso/amd_spec.rb +14 -14
  41. data/spec/asciidoctor-iso/base_spec.rb +20 -18
  42. data/spec/asciidoctor-iso/blocks_spec.rb +22 -22
  43. data/spec/asciidoctor-iso/cleanup_spec.rb +36 -30
  44. data/spec/asciidoctor-iso/inline_spec.rb +7 -7
  45. data/spec/asciidoctor-iso/lists_spec.rb +9 -9
  46. data/spec/asciidoctor-iso/refs_spec.rb +177 -146
  47. data/spec/asciidoctor-iso/section_spec.rb +12 -7
  48. data/spec/asciidoctor-iso/table_spec.rb +4 -4
  49. data/spec/asciidoctor-iso/validate_spec.rb +401 -85
  50. data/spec/isodoc/amd_spec.rb +13 -13
  51. data/spec/isodoc/blocks_spec.rb +1 -0
  52. data/spec/isodoc/metadata_spec.rb +2 -0
  53. data/spec/isodoc/ref_spec.rb +2 -2
  54. data/spec/isodoc/section_spec.rb +20 -0
  55. data/spec/isodoc/xref_spec.rb +12 -0
  56. metadata +7 -12
  57. data/.github/workflows/macos.yml +0 -49
  58. data/.github/workflows/ubuntu.yml +0 -53
  59. data/.github/workflows/windows.yml +0 -50
  60. data/lib/asciidoctor/iso/macros.rb +0 -21
  61. data/lib/asciidoctor/iso/term_lookup_cleanup.rb +0 -86
  62. data/spec/asciidoctor-iso/macros_spec.rb +0 -310
@@ -211,6 +211,7 @@ module IsoDoc
211
211
  ics = []
212
212
  isoxml.xpath(ns("//bibdata/ext/ics/code")).each { |i| ics << i.text }
213
213
  set(:ics, ics.empty? ? nil : ics.join(", "))
214
+ a = isoxml.at(ns("//bibdata/ext/horizontal")) and set(:horizontal, a.text)
214
215
  end
215
216
  end
216
217
  end
@@ -1,7 +1,7 @@
1
1
  module IsoDoc
2
2
  module Iso
3
3
  module BaseConvert
4
- def middle_title(out)
4
+ def middle_title(isoxml, out)
5
5
  middle_title_main(out)
6
6
  middle_title_amd(out)
7
7
  end
@@ -21,6 +21,10 @@ module IsoDoc
21
21
  headerfont: (options[:script] == "Hans" ? '"SimHei",sans-serif' :
22
22
  '"Cambria",serif'),
23
23
  monospacefont: '"Courier New",monospace',
24
+ normalfontsize: "11.0pt",
25
+ monospacefontsize: "9.0pt",
26
+ smallerfontsize: "10.0pt",
27
+ footnotefontsize: "10.0pt",
24
28
  }
25
29
  end
26
30
 
@@ -1,10 +1,14 @@
1
1
  module IsoDoc
2
2
  module Iso
3
+ class Counter < IsoDoc::XrefGen::Counter
4
+ end
5
+
3
6
  class Xref < IsoDoc::Xref
4
7
  def initial_anchor_names(d)
5
8
  if @klass.amd(d)
6
9
  d.xpath(ns("//preface/*")).each { |c| c.element? and preface_names(c) }
7
10
  sequential_asset_names(d.xpath(ns("//preface/*")))
11
+ d.xpath(ns("//sections/clause")).each { |c| c.element? and preface_names(c) }
8
12
  middle_section_asset_names(d)
9
13
  termnote_anchor_names(d)
10
14
  termexample_anchor_names(d)
@@ -19,8 +23,10 @@ module IsoDoc
19
23
  return if clause.nil?
20
24
  clause.at(ns("./clause")) and @anchors[clause["id"]] =
21
25
  { label: "0", level: 1, xref: clause.at(ns("./title"))&.text, type: "clause" }
22
- clause.xpath(ns("./clause")).each_with_index do |c, i|
23
- section_names1(c, "0.#{i + 1}", 2)
26
+ i = Counter.new
27
+ clause.xpath(ns("./clause")).each do |c|
28
+ i.increment(c)
29
+ section_names1(c, "0.#{i.print}", 2)
24
30
  end
25
31
  end
26
32
 
@@ -30,10 +36,17 @@ module IsoDoc
30
36
  end
31
37
 
32
38
  def appendix_names(clause, num)
33
- clause.xpath(ns("./appendix")).each_with_index do |c, i|
34
- @anchors[c["id"]] = anchor_struct(i + 1, nil, @labels["appendix"], "clause")
39
+ i = Counter.new
40
+ clause.xpath(ns("./appendix")).each do |c|
41
+ i.increment(c)
42
+ @anchors[c["id"]] = anchor_struct(i.print, nil, @labels["appendix"], "clause")
35
43
  @anchors[c["id"]][:level] = 2
36
44
  @anchors[c["id"]][:container] = clause["id"]
45
+ j = Counter.new
46
+ c.xpath(ns("./clause | ./references")).each do |c1|
47
+ j.increment(c1)
48
+ appendix_names1(c1, l10n("#{@labels["appendix"]} #{i.print}.#{j.print}"), 3, clause["id"])
49
+ end
37
50
  end
38
51
  end
39
52
 
@@ -41,17 +54,30 @@ module IsoDoc
41
54
  @anchors[clause["id"]] =
42
55
  { label: num, level: level, xref: num }
43
56
  # subclauses are not prefixed with "Clause"
57
+ i = Counter.new
44
58
  clause.xpath(ns("./clause | ./terms | ./term | ./definitions | "\
45
59
  "./references")).
46
- each_with_index do |c, i|
47
- section_names1(c, "#{num}.#{i + 1}", level + 1)
60
+ each do |c|
61
+ i.increment(c)
62
+ section_names1(c, "#{num}.#{i.print}", level + 1)
48
63
  end
49
64
  end
50
65
 
51
66
  def annex_names1(clause, num, level)
52
67
  @anchors[clause["id"]] = { label: num, xref: num, level: level }
53
- clause.xpath(ns("./clause | ./references")).each_with_index do |c, i|
54
- annex_names1(c, "#{num}.#{i + 1}", level + 1)
68
+ i = Counter.new
69
+ clause.xpath(ns("./clause | ./references")).each do |c|
70
+ i.increment(c)
71
+ annex_names1(c, "#{num}.#{i.print}", level + 1)
72
+ end
73
+ end
74
+
75
+ def appendix_names1(clause, num, level, container)
76
+ @anchors[clause["id"]] = { label: num, xref: num, level: level, container: container }
77
+ i = Counter.new
78
+ clause.xpath(ns("./clause | ./references")).each do |c|
79
+ i.increment(c)
80
+ appendix_names1(c, "#{num}.#{i.print}", level + 1, container)
55
81
  end
56
82
  end
57
83
 
@@ -2,15 +2,6 @@ require "metanorma/processor"
2
2
 
3
3
  module Metanorma
4
4
  module Iso
5
- def self.fonts_used
6
- {
7
- html: ["Cambria", "Times New Roman", "Cambria Math", "HanSans", "Courier New"],
8
- html_alt: ["Cambria", "Times New Roman", "Cambria Math", "HanSans", "Courier New"],
9
- doc: ["Cambria", "Times New Roman", "Cambria Math", "HanSans", "Courier New"],
10
- pdf: ["Cambria", "Times New Roman", "Cambria Math", "HanSans", "Courier New"],
11
- }
12
- end
13
-
14
5
  class Processor < Metanorma::Processor
15
6
 
16
7
  def initialize
@@ -34,6 +25,17 @@ module Metanorma
34
25
  "Metanorma::ISO #{Metanorma::ISO::VERSION}"
35
26
  end
36
27
 
28
+ def fonts_manifest
29
+ {
30
+ "Cambria" => nil,
31
+ "Cambria Math" => nil,
32
+ "Times New Roman" => nil,
33
+ "Source Han Sans" => nil,
34
+ "Courier" => nil,
35
+ "Courier New" => nil,
36
+ }
37
+ end
38
+
37
39
  def use_presentation_xml(ext)
38
40
  return true if ext == :html_alt
39
41
  super
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module ISO
3
- VERSION = "1.5.11".freeze
3
+ VERSION = "1.6.1".freeze
4
4
  end
5
5
  end
@@ -30,8 +30,8 @@ Gem::Specification.new do |spec|
30
30
  spec.required_ruby_version = Gem::Requirement.new(">= 2.4.0")
31
31
 
32
32
  spec.add_dependency "ruby-jing"
33
- spec.add_dependency "isodoc", "~> 1.2.0"
34
- spec.add_dependency "metanorma-standoc", "~> 1.6.0"
33
+ spec.add_dependency "isodoc", "~> 1.4.2"
34
+ spec.add_dependency "metanorma-standoc", "~> 1.7.0"
35
35
  spec.add_dependency "tokenizer", "~> 0.3.0"
36
36
  spec.add_dependency "twitter_cldr"
37
37
  spec.add_dependency "mn2sts", "~> 1.5.0"
@@ -3,7 +3,7 @@ require "fileutils"
3
3
 
4
4
  RSpec.describe Asciidoctor::ISO do
5
5
  it "processes amendment sections" do
6
- expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
6
+ expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
7
7
  #{AMD_BLANK_HDR}
8
8
  == Foreword
9
9
 
@@ -132,7 +132,7 @@ OUTPUT
132
132
  end
133
133
 
134
134
  it "processes default metadata, amendment" do
135
- expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true).sub(%r{<boilerplate>.*</boilerplate>}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")
135
+ expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true).sub(%r{<boilerplate>.*</boilerplate>}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")
136
136
  = Document title
137
137
  Author
138
138
  :docfile: test.adoc
@@ -284,7 +284,7 @@ OUTPUT
284
284
  end
285
285
 
286
286
  it "processes metadata, amendment" do
287
- expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true).sub(%r{<boilerplate>.*</boilerplate>}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")
287
+ expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true).sub(%r{<boilerplate>.*</boilerplate>}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")
288
288
  = Document title
289
289
  Author
290
290
  :docfile: test.adoc
@@ -325,7 +325,7 @@ INPUT
325
325
  <substage>00</substage>
326
326
  </status>
327
327
  <copyright>
328
- <from>2020</from>
328
+ <from>#{Time.now.year}</from>
329
329
  <owner>
330
330
  <organization>
331
331
  <name>International Organization for Standardization</name>
@@ -352,7 +352,7 @@ OUTPUT
352
352
  end
353
353
 
354
354
  it "processes metadata, amendment" do
355
- expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true).sub(%r{<boilerplate>.*</boilerplate>}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")
355
+ expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true).sub(%r{<boilerplate>.*</boilerplate>}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")
356
356
  = Document title
357
357
  Author
358
358
  :docfile: test.adoc
@@ -393,7 +393,7 @@ INPUT
393
393
  <substage>00</substage>
394
394
  </status>
395
395
  <copyright>
396
- <from>2020</from>
396
+ <from>#{Time.now.year}</from>
397
397
  <owner>
398
398
  <organization>
399
399
  <name>International Organization for Standardization</name>
@@ -420,7 +420,7 @@ OUTPUT
420
420
  end
421
421
 
422
422
  it "processes metadata, amendment" do
423
- expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true).sub(%r{<boilerplate>.*</boilerplate>}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")
423
+ expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true).sub(%r{<boilerplate>.*</boilerplate>}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")
424
424
  = Document title
425
425
  Author
426
426
  :docfile: test.adoc
@@ -460,7 +460,7 @@ INPUT
460
460
  <substage>60</substage>
461
461
  </status>
462
462
  <copyright>
463
- <from>2020</from>
463
+ <from>#{Time.now.year}</from>
464
464
  <owner>
465
465
  <organization>
466
466
  <name>International Organization for Standardization</name>
@@ -487,7 +487,7 @@ OUTPUT
487
487
  end
488
488
 
489
489
  it "processes metadata, corrigendum" do
490
- expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true).sub(%r{<boilerplate>.*</boilerplate>}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")
490
+ expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true).sub(%r{<boilerplate>.*</boilerplate>}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")
491
491
  = Document title
492
492
  Author
493
493
  :docfile: test.adoc
@@ -528,7 +528,7 @@ INPUT
528
528
  <substage>00</substage>
529
529
  </status>
530
530
  <copyright>
531
- <from>2020</from>
531
+ <from>#{Time.now.year}</from>
532
532
  <owner>
533
533
  <organization>
534
534
  <name>International Organization for Standardization</name>
@@ -555,7 +555,7 @@ OUTPUT
555
555
  end
556
556
 
557
557
  it "processes metadata, corrigendum" do
558
- expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true).sub(%r{<boilerplate>.*</boilerplate>}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")
558
+ expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true).sub(%r{<boilerplate>.*</boilerplate>}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")
559
559
  = Document title
560
560
  Author
561
561
  :docfile: test.adoc
@@ -596,7 +596,7 @@ INPUT
596
596
  <substage>00</substage>
597
597
  </status>
598
598
  <copyright>
599
- <from>2020</from>
599
+ <from>#{Time.now.year}</from>
600
600
  <owner>
601
601
  <organization>
602
602
  <name>International Organization for Standardization</name>
@@ -623,7 +623,7 @@ OUTPUT
623
623
  end
624
624
 
625
625
  it "processes metadata, corrigendum" do
626
- expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true).sub(%r{<boilerplate>.*</boilerplate>}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")
626
+ expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true).sub(%r{<boilerplate>.*</boilerplate>}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")
627
627
  = Document title
628
628
  Author
629
629
  :docfile: test.adoc
@@ -663,7 +663,7 @@ INPUT
663
663
  <substage>60</substage>
664
664
  </status>
665
665
  <copyright>
666
- <from>2020</from>
666
+ <from>#{Time.now.year}</from>
667
667
  <owner>
668
668
  <organization>
669
669
  <name>International Organization for Standardization</name>
@@ -7,7 +7,7 @@ RSpec.describe Asciidoctor::ISO do
7
7
  end
8
8
 
9
9
  it "processes a blank document" do
10
- expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
10
+ expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
11
11
  #{ASCIIDOC_BLANK_HDR}
12
12
  INPUT
13
13
  #{BLANK_HDR}
@@ -21,7 +21,7 @@ RSpec.describe Asciidoctor::ISO do
21
21
  FileUtils.rm_f "test.html"
22
22
  FileUtils.rm_f "test.pdf"
23
23
  FileUtils.rm_f "test_alt.html"
24
- expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
24
+ expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
25
25
  = Document title
26
26
  Author
27
27
  :docfile: test.adoc
@@ -40,7 +40,7 @@ RSpec.describe Asciidoctor::ISO do
40
40
  end
41
41
 
42
42
  it "converts a blank document in French" do
43
- expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
43
+ expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
44
44
  = Document title
45
45
  Author
46
46
  :docfile: test.adoc
@@ -56,7 +56,7 @@ RSpec.describe Asciidoctor::ISO do
56
56
  end
57
57
 
58
58
  it "processes default metadata" do
59
- expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true).sub(%r{<boilerplate>.*</boilerplate>}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")
59
+ expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true).sub(%r{<boilerplate>.*</boilerplate>}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")
60
60
  = Document title
61
61
  Author
62
62
  :docfile: test.adoc
@@ -99,6 +99,7 @@ RSpec.describe Asciidoctor::ISO do
99
99
  :title-part-fr: Part du Titre
100
100
  :library-ics: 1,2,3
101
101
  :copyright-year: 2000
102
+ :horizontal: true
102
103
  INPUT
103
104
  <?xml version="1.0" encoding="UTF-8"?>
104
105
  <iso-standard xmlns="https://www.metanorma.org/ns/iso" type="semantic" version="#{Metanorma::ISO::VERSION}">
@@ -152,6 +153,7 @@ RSpec.describe Asciidoctor::ISO do
152
153
  </copyright>
153
154
  <ext>
154
155
  <doctype>article</doctype>
156
+ <horizontal>true</horizontal>
155
157
  <editorialgroup>
156
158
  <technical-committee number="1" type="A">TC</technical-committee>
157
159
  <technical-committee number="11" type="A1">TC1</technical-committee>
@@ -183,7 +185,7 @@ RSpec.describe Asciidoctor::ISO do
183
185
 
184
186
 
185
187
  it "processes complex metadata" do
186
- expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true).sub(%r{<boilerplate>.*</boilerplate>}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")
188
+ expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true).sub(%r{<boilerplate>.*</boilerplate>}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")
187
189
  = Document title
188
190
  Author
189
191
  :docfile: test.adoc
@@ -195,8 +197,8 @@ RSpec.describe Asciidoctor::ISO do
195
197
  :tc-docnumber: 2000, 2003
196
198
  :language: el
197
199
  :script: Grek
198
- :publisher: IEC,IETF,ISO
199
- :copyright-holder: ISO,IETF
200
+ :publisher: IEC;IETF;ISO
201
+ :copyright-holder: ISO;IETF
200
202
  :copyright-year: 2001
201
203
  :doctype: technical-report
202
204
  :pub-address: 1 Infinity Loop + \
@@ -297,7 +299,7 @@ RSpec.describe Asciidoctor::ISO do
297
299
  end
298
300
 
299
301
  it "processes subdivisions" do
300
- expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true).sub(%r{<boilerplate>.*</boilerplate>}m, "")))).to be_equivalent_to xmlpp(<<~"OUTPUT")
302
+ expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true).sub(%r{<boilerplate>.*</boilerplate>}m, "")))).to be_equivalent_to xmlpp(<<~"OUTPUT")
301
303
  = Document title
302
304
  Author
303
305
  :docfile: test.adoc
@@ -371,7 +373,7 @@ RSpec.describe Asciidoctor::ISO do
371
373
  <substage>60</substage>
372
374
  </status>
373
375
  <copyright>
374
- <from>2020</from>
376
+ <from>#{Time.now.year}</from>
375
377
  <owner>
376
378
  <organization>
377
379
  <name>International Organization for Standardization</name>
@@ -407,7 +409,7 @@ OUTPUT
407
409
  end
408
410
 
409
411
  it "defaults substage, defines iteration on stage 50, gives stage 50 on technical specification" do
410
- expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true).sub(%r{<boilerplate>.*</boilerplate>}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")
412
+ expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true).sub(%r{<boilerplate>.*</boilerplate>}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")
411
413
  = Document title
412
414
  Author
413
415
  :docfile: test.adoc
@@ -476,7 +478,7 @@ OUTPUT
476
478
  end
477
479
 
478
480
  it "defaults substage for stage 60" do
479
- expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true).sub(%r{<boilerplate>.*</boilerplate>}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")
481
+ expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true).sub(%r{<boilerplate>.*</boilerplate>}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")
480
482
  = Document title
481
483
  Author
482
484
  :docfile: test.adoc
@@ -541,7 +543,7 @@ OUTPUT
541
543
  end
542
544
 
543
545
  it "populates metadata for PRF" do
544
- expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true).sub(%r{<boilerplate>.*</boilerplate>}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")
546
+ expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true).sub(%r{<boilerplate>.*</boilerplate>}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")
545
547
  = Document title
546
548
  Author
547
549
  :docfile: test.adoc
@@ -609,7 +611,7 @@ OUTPUT
609
611
 
610
612
  it "reads scripts into blank HTML document" do
611
613
  FileUtils.rm_f "test.html"
612
- Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true)
614
+ Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true)
613
615
  = Document title
614
616
  Author
615
617
  :docfile: test.adoc
@@ -623,7 +625,7 @@ OUTPUT
623
625
 
624
626
  it "uses default fonts" do
625
627
  FileUtils.rm_f "test.html"
626
- Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true)
628
+ Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true)
627
629
  = Document title
628
630
  Author
629
631
  :docfile: test.adoc
@@ -639,7 +641,7 @@ OUTPUT
639
641
 
640
642
  it "uses default fonts for alt doc" do
641
643
  FileUtils.rm_f "test_alt.html"
642
- Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true)
644
+ Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true)
643
645
  = Document title
644
646
  Author
645
647
  :docfile: test.adoc
@@ -655,7 +657,7 @@ OUTPUT
655
657
 
656
658
  it "uses Chinese fonts" do
657
659
  FileUtils.rm_f "test.html"
658
- Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true)
660
+ Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true)
659
661
  = Document title
660
662
  Author
661
663
  :docfile: test.adoc
@@ -672,7 +674,7 @@ OUTPUT
672
674
 
673
675
  it "uses specified fonts" do
674
676
  FileUtils.rm_f "test.html"
675
- Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true)
677
+ Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true)
676
678
  = Document title
677
679
  Author
678
680
  :docfile: test.adoc
@@ -693,7 +695,7 @@ OUTPUT
693
695
  it "strips MS-specific CSS" do
694
696
  FileUtils.rm_f "test.html"
695
697
  FileUtils.rm_f "test.doc"
696
- Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true)
698
+ Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true)
697
699
  = Document title
698
700
  Author
699
701
  :docfile: test.adoc
@@ -2,7 +2,7 @@ require "spec_helper"
2
2
 
3
3
  RSpec.describe Asciidoctor::ISO do
4
4
  it "processes open blocks" do
5
- expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
5
+ expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
6
6
  #{ASCIIDOC_BLANK_HDR}
7
7
  --
8
8
  x
@@ -21,7 +21,7 @@ RSpec.describe Asciidoctor::ISO do
21
21
  end
22
22
 
23
23
  it "processes stem blocks" do
24
- expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
24
+ expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
25
25
  #{ASCIIDOC_BLANK_HDR}
26
26
  [stem]
27
27
  ++++
@@ -49,7 +49,7 @@ RSpec.describe Asciidoctor::ISO do
49
49
  end
50
50
 
51
51
  it "ignores review blocks unless document is in draft mode" do
52
- expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
52
+ expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
53
53
  #{ASCIIDOC_BLANK_HDR}
54
54
  [[foreword]]
55
55
  .Foreword
@@ -70,7 +70,7 @@ RSpec.describe Asciidoctor::ISO do
70
70
  end
71
71
 
72
72
  it "processes review blocks if document is in draft mode" do
73
- expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true)).sub(/^.+<sections>/m, "<iso-standard><sections>"))).to be_equivalent_to xmlpp(<<~"OUTPUT")
73
+ expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true)).sub(/^.+<sections>/m, "<iso-standard><sections>"))).to be_equivalent_to xmlpp(<<~"OUTPUT")
74
74
  = Document title
75
75
  Author
76
76
  :docfile: test.adoc
@@ -100,7 +100,7 @@ RSpec.describe Asciidoctor::ISO do
100
100
  end
101
101
 
102
102
  it "processes term notes" do
103
- expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
103
+ expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
104
104
  #{ASCIIDOC_BLANK_HDR}
105
105
  == Terms and Definitions
106
106
 
@@ -126,7 +126,7 @@ RSpec.describe Asciidoctor::ISO do
126
126
  end
127
127
 
128
128
  it "processes notes" do
129
- expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
129
+ expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
130
130
  #{ASCIIDOC_BLANK_HDR}
131
131
  NOTE: This is a note
132
132
  INPUT
@@ -142,7 +142,7 @@ RSpec.describe Asciidoctor::ISO do
142
142
  end
143
143
 
144
144
  it "processes literals" do
145
- expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
145
+ expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
146
146
  #{ASCIIDOC_BLANK_HDR}
147
147
  ....
148
148
  LITERAL
@@ -159,7 +159,7 @@ RSpec.describe Asciidoctor::ISO do
159
159
  end
160
160
 
161
161
  it "processes simple admonitions with Asciidoc names" do
162
- expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
162
+ expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
163
163
  #{ASCIIDOC_BLANK_HDR}
164
164
  CAUTION: Only use paddy or parboiled rice for the determination of husked rice yield.
165
165
  INPUT
@@ -176,7 +176,7 @@ RSpec.describe Asciidoctor::ISO do
176
176
 
177
177
 
178
178
  it "processes complex admonitions with non-Asciidoc names" do
179
- expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
179
+ expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
180
180
  #{ASCIIDOC_BLANK_HDR}
181
181
  [CAUTION,type=Safety Precautions]
182
182
  .Safety Precautions
@@ -191,7 +191,7 @@ RSpec.describe Asciidoctor::ISO do
191
191
  #{BLANK_HDR}
192
192
  <sections>
193
193
  <admonition id="_" type="safety precautions"><name>Safety Precautions</name><p id="_">While werewolves are hardy community members, keep in mind the following dietary concerns:</p>
194
- <ol id="_" type="arabic">
194
+ <ol id="_">
195
195
  <li>
196
196
  <p id="_">They are allergic to cinnamon.</p>
197
197
  </li>
@@ -209,7 +209,7 @@ RSpec.describe Asciidoctor::ISO do
209
209
  end
210
210
 
211
211
  it "processes term examples" do
212
- expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
212
+ expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
213
213
  #{ASCIIDOC_BLANK_HDR}
214
214
  == Terms and Definitions
215
215
 
@@ -237,7 +237,7 @@ RSpec.describe Asciidoctor::ISO do
237
237
  end
238
238
 
239
239
  it "processes examples" do
240
- expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
240
+ expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
241
241
  #{ASCIIDOC_BLANK_HDR}
242
242
  [example]
243
243
  ====
@@ -256,7 +256,7 @@ RSpec.describe Asciidoctor::ISO do
256
256
  end
257
257
 
258
258
  it "processes preambles" do
259
- expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
259
+ expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
260
260
  #{ASCIIDOC_BLANK_HDR}
261
261
  This is a preamble
262
262
 
@@ -275,7 +275,7 @@ RSpec.describe Asciidoctor::ISO do
275
275
  end
276
276
 
277
277
  it "processes images" do
278
- expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
278
+ expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
279
279
  #{ASCIIDOC_BLANK_HDR}
280
280
  .Split-it-right sample divider
281
281
  image::spec/examples/rice_images/rice_image1.png[]
@@ -293,7 +293,7 @@ RSpec.describe Asciidoctor::ISO do
293
293
  end
294
294
 
295
295
  it "accepts width and height attributes on images" do
296
- expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
296
+ expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
297
297
  #{ASCIIDOC_BLANK_HDR}
298
298
  [height=4,width=3]
299
299
  image::spec/examples/rice_images/rice_image1.png[]
@@ -310,7 +310,7 @@ RSpec.describe Asciidoctor::ISO do
310
310
  end
311
311
 
312
312
  it "accepts auto for width and height attributes on images" do
313
- expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
313
+ expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
314
314
  #{ASCIIDOC_BLANK_HDR}
315
315
  [height=4,width=auto]
316
316
  image::spec/examples/rice_images/rice_image1.png[]
@@ -327,7 +327,7 @@ RSpec.describe Asciidoctor::ISO do
327
327
  end
328
328
 
329
329
  it "accepts alignment attribute on paragraphs" do
330
- expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
330
+ expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
331
331
  #{ASCIIDOC_BLANK_HDR}
332
332
  [align=right]
333
333
  This para is right-aligned.
@@ -341,7 +341,7 @@ RSpec.describe Asciidoctor::ISO do
341
341
  end
342
342
 
343
343
  it "processes blockquotes" do
344
- expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
344
+ expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
345
345
  #{ASCIIDOC_BLANK_HDR}
346
346
  [quote, ISO, "ISO7301,section 1"]
347
347
  ____
@@ -365,7 +365,7 @@ RSpec.describe Asciidoctor::ISO do
365
365
  end
366
366
 
367
367
  it "processes source code" do
368
- expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
368
+ expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
369
369
  #{ASCIIDOC_BLANK_HDR}
370
370
  [source,ruby]
371
371
  --
@@ -387,7 +387,7 @@ RSpec.describe Asciidoctor::ISO do
387
387
  end
388
388
 
389
389
  it "processes callouts" do
390
- expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
390
+ expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
391
391
  #{ASCIIDOC_BLANK_HDR}
392
392
  [source,ruby]
393
393
  --
@@ -414,7 +414,7 @@ RSpec.describe Asciidoctor::ISO do
414
414
  end
415
415
 
416
416
  it "processes unmodified term sources" do
417
- expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
417
+ expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
418
418
  #{ASCIIDOC_BLANK_HDR}
419
419
  == Terms and Definitions
420
420
 
@@ -445,7 +445,7 @@ RSpec.describe Asciidoctor::ISO do
445
445
  end
446
446
 
447
447
  it "processes modified term sources" do
448
- expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
448
+ expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
449
449
  #{ASCIIDOC_BLANK_HDR}
450
450
  == Terms and Definitions
451
451