metanorma-bsi 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of metanorma-bsi might be problematic. Click here for more details.

Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +43 -0
  3. data/.github/workflows/release_github_packages.yml +49 -0
  4. data/.hound.yml +3 -1
  5. data/.rubocop.yml +4 -8
  6. data/README.adoc +95 -11
  7. data/lib/asciidoctor/bsi/biblio.rng +1 -0
  8. data/lib/asciidoctor/bsi/bsi.rng +32 -4
  9. data/lib/asciidoctor/bsi/bsi_intro_en.xml +87 -61
  10. data/lib/asciidoctor/bsi/cleanup.rb +15 -8
  11. data/lib/asciidoctor/bsi/cleanup_ref.rb +10 -21
  12. data/lib/asciidoctor/bsi/converter.rb +7 -5
  13. data/lib/asciidoctor/bsi/front.rb +26 -5
  14. data/lib/asciidoctor/bsi/isodoc.rng +191 -3
  15. data/lib/asciidoctor/bsi/isostandard.rng +12 -0
  16. data/lib/asciidoctor/bsi/validate.rb +5 -6
  17. data/lib/asciidoctor/bsi/validate_list.rb +2 -2
  18. data/lib/isodoc/bsi/base_convert.rb +2 -1
  19. data/lib/isodoc/bsi/bsi.international-standard.xsl +3380 -2349
  20. data/lib/isodoc/bsi/html/htmlstyle.css +43 -22
  21. data/lib/isodoc/bsi/html/htmlstyle.scss +46 -22
  22. data/lib/isodoc/bsi/html_convert.rb +2 -2
  23. data/lib/isodoc/bsi/i18n-en.yaml +4 -4
  24. data/lib/isodoc/bsi/metadata.rb +2 -2
  25. data/lib/isodoc/bsi/presentation_xml_convert.rb +26 -5
  26. data/lib/isodoc/bsi/xref.rb +11 -4
  27. data/lib/metanorma/bsi/version.rb +1 -1
  28. data/metanorma-bsi.gemspec +2 -2
  29. data/spec/asciidoctor/base_spec.rb +564 -494
  30. data/spec/asciidoctor/blocks_spec.rb +192 -195
  31. data/spec/asciidoctor/cleanup_spec.rb +361 -361
  32. data/spec/asciidoctor/refs_spec.rb +8 -78
  33. data/spec/asciidoctor/section_spec.rb +227 -227
  34. data/spec/asciidoctor/validate_spec.rb +26 -1
  35. data/spec/isodoc/blocks_spec.rb +56 -21
  36. data/spec/isodoc/i18n_spec.rb +156 -234
  37. data/spec/isodoc/inline_spec.rb +7 -7
  38. data/spec/isodoc/iso_spec.rb +4 -4
  39. data/spec/isodoc/metadata_spec.rb +0 -1
  40. data/spec/isodoc/ref_spec.rb +7 -7
  41. data/spec/isodoc/section_spec.rb +400 -343
  42. data/spec/isodoc/terms_spec.rb +224 -225
  43. data/spec/isodoc/xref_spec.rb +1347 -1360
  44. data/spec/metanorma/processor_spec.rb +37 -40
  45. data/spec/spec_helper.rb +6 -4
  46. data/spec/vcr_cassettes/iso-639.yml +19 -19
  47. data/spec/vcr_cassettes/isobib_get_639_1967.yml +17 -17
  48. data/spec/vcr_cassettes/multistandard.yml +15 -193
  49. metadata +7 -5
@@ -2,9 +2,7 @@ require "spec_helper"
2
2
  require "metanorma"
3
3
  require "fileutils"
4
4
 
5
- #RSpec.describe Asciidoctor::Gb do
6
5
  RSpec.describe Metanorma::BSI::Processor do
7
-
8
6
  registry = Metanorma::Registry.instance
9
7
  registry.register(Metanorma::BSI::Processor)
10
8
  processor = registry.find_processor(:bsi)
@@ -15,7 +13,7 @@ RSpec.describe Metanorma::BSI::Processor do
15
13
 
16
14
  it "registers output formats against metanorma" do
17
15
  expect(processor.output_formats.sort.to_s).to be_equivalent_to <<~"OUTPUT"
18
- [[:html, "html"], [:pdf, "pdf"], [:presentation, "presentation.xml"], [:rxl, "rxl"], [:sts, "sts.xml"], [:xml, "xml"]]
16
+ [[:html, "html"], [:pdf, "pdf"], [:presentation, "presentation.xml"], [:rxl, "rxl"], [:sts, "sts.xml"], [:xml, "xml"]]
19
17
  OUTPUT
20
18
  end
21
19
 
@@ -25,52 +23,51 @@ RSpec.describe Metanorma::BSI::Processor do
25
23
 
26
24
  it "generates IsoDoc XML from a blank document" do
27
25
  expect(xmlpp(strip_guid(processor.input_to_isodoc(<<~"INPUT", nil)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
28
- #{ASCIIDOC_BLANK_HDR}
26
+ #{ASCIIDOC_BLANK_HDR}
29
27
  INPUT
30
- #{blank_hdr_gen}
31
- <sections/>
32
- </bsi-standard>
28
+ #{blank_hdr_gen}
29
+ <sections/>
30
+ </bsi-standard>
33
31
  OUTPUT
34
32
  end
35
33
 
36
34
  it "generates HTML from IsoDoc XML" do
37
35
  FileUtils.rm_f "test.xml"
38
36
  processor.output(<<~"INPUT", "test.xml", "test.html", :html)
39
- <bsi-standard xmlns="http://riboseinc.com/isoxml">
40
- <sections>
41
- <terms id="H" obligation="normative"><title>1<tab/>Terms, Definitions, Symbols and Abbreviated Terms</title>
42
- <term id="J">
43
- <name>1.1</name>
44
- <preferred>Term2</preferred>
45
- </term>
46
- </terms>
47
- </sections>
48
- </bsi-standard>
37
+ <bsi-standard xmlns="http://riboseinc.com/isoxml">
38
+ <sections>
39
+ <terms id="H" obligation="normative"><title>1<tab/>Terms, Definitions, Symbols and Abbreviated Terms</title>
40
+ <term id="J">
41
+ <name>1.1</name>
42
+ <preferred>Term2</preferred>
43
+ </term>
44
+ </terms>
45
+ </sections>
46
+ </bsi-standard>
49
47
  INPUT
50
48
  expect(xmlpp(File.read("test.html", encoding: "utf-8").gsub(%r{^.*<main}m, "<main").gsub(%r{</main>.*}m, "</main>"))).to be_equivalent_to xmlpp(<<~"OUTPUT")
51
- <main class="main-section"><button onclick="topFunction()" id="myBtn" title="Go to top">Top</button>
52
- <br />
53
- <p class="zzSTDTitle1">BRITISH STANDARDS INSTITUTE</p>
54
- <p class="zzSTDTitle1">____________</p>
55
- <p class="zzSTDTitle1">&#xA0;</p>
56
- <p class="zzSTDTitle1">
57
- <b></b>
58
- </p>
59
- <p class="zzSTDTitle1">&#xA0;</p>
60
- <div id="">
61
- <h1 class="ForewordTitle" id="toc0">FOREWORD</h1>
62
- <div class="boilerplate_legal"></div>
63
- </div>
64
- <p class="zzSTDTitle1">
65
- <b></b>
66
- </p>
67
- <p class="zzSTDTitle1">&#xA0;</p>
68
- <div id="H"><h1 id="toc1">1&#x2003;Terms, Definitions, Symbols and Abbreviated Terms</h1>
69
- <h2 class="TermNum" id="J">1.1</h2>
70
- <p class="Terms" style="text-align:left;">Term2</p>
71
- </div>
72
- </main>
49
+ <main class="main-section"><button onclick="topFunction()" id="myBtn" title="Go to top">Top</button>
50
+ <br />
51
+ <p class="zzSTDTitle1">BRITISH STANDARDS INSTITUTION</p>
52
+ <p class="zzSTDTitle1">____________</p>
53
+ <p class="zzSTDTitle1">&#xA0;</p>
54
+ <p class="zzSTDTitle1">
55
+ <b></b>
56
+ </p>
57
+ <p class="zzSTDTitle1">&#xA0;</p>
58
+ <div id="">
59
+ <h1 class="ForewordTitle" id="toc0">Foreword</h1>
60
+ <div class="boilerplate_legal"></div>
61
+ </div>
62
+ <p class="zzSTDTitle1">
63
+ <b></b>
64
+ </p>
65
+ <p class="zzSTDTitle1">&#xA0;</p>
66
+ <div id="H"><h1 id="toc1">1&#x2003;Terms, Definitions, Symbols and Abbreviated Terms</h1>
67
+ <h2 class="TermNum" id="J">1.1</h2>
68
+ <p class="Terms" style="text-align:left;">Term2</p>
69
+ </div>
70
+ </main>
73
71
  OUTPUT
74
72
  end
75
-
76
73
  end
data/spec/spec_helper.rb CHANGED
@@ -133,7 +133,9 @@ def boilerplate(xmldoc)
133
133
  ret = Nokogiri::XML(
134
134
  conv.boilerplate_isodoc(xmldoc).populate_template(file, nil)
135
135
  .gsub(/<p>/, "<p id='_'>")
136
+ .gsub(/<p align="left">/, "<p align='left' id='_'>")
136
137
  .gsub(/<ol>/, "<ol id='_' type='alphabet'>")
138
+ .gsub(/<ul>/, "<ul id='_'>")
137
139
  )
138
140
  conv.smartquotes_cleanup(ret)
139
141
  HTMLEntities.new.decode(ret.to_xml)
@@ -146,14 +148,14 @@ BLANK_HDR = <<~"HDR".freeze
146
148
  <contributor>
147
149
  <role type="author"/>
148
150
  <organization>
149
- <name>British Standards Institute</name>
151
+ <name>British Standards Institution</name>
150
152
  <abbreviation>BSI</abbreviation>
151
153
  </organization>
152
154
  </contributor>
153
155
  <contributor>
154
156
  <role type="publisher"/>
155
157
  <organization>
156
- <name>British Standards Institute</name>
158
+ <name>British Standards Institution</name>
157
159
  <abbreviation>BSI</abbreviation>
158
160
  </organization>
159
161
  </contributor>
@@ -167,7 +169,7 @@ BLANK_HDR = <<~"HDR".freeze
167
169
  <from>#{Time.new.year}</from>
168
170
  <owner>
169
171
  <organization>
170
- <name>British Standards Institute</name>
172
+ <name>British Standards Institution</name>
171
173
  <abbreviation>BSI</abbreviation>
172
174
  </organization>
173
175
  </owner>
@@ -192,7 +194,7 @@ def blank_hdr_gen
192
194
  end
193
195
 
194
196
  IEC_TITLE = <<~TITLE.freeze
195
- <p class="zzSTDTitle1">BRITISH STANDARDS INSTITUTE</p>
197
+ <p class="zzSTDTitle1">BRITISH STANDARDS INSTITUTION</p>
196
198
  <p class="zzSTDTitle1">____________</p>
197
199
  <p class="zzSTDTitle1">&#160;</p>
198
200
  <p class="zzSTDTitle1">