metanorma-standoc 2.2.6 → 2.2.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (147) hide show
  1. checksums.yaml +4 -4
  2. data/lib/isodoc/html/htmlstyle.css +6 -0
  3. data/lib/metanorma/standoc/base.rb +3 -5
  4. data/lib/metanorma/standoc/biblio.rng +5 -0
  5. data/lib/metanorma/standoc/cleanup.rb +17 -17
  6. data/lib/metanorma/standoc/cleanup_amend.rb +2 -2
  7. data/lib/metanorma/standoc/cleanup_biblio.rb +5 -4
  8. data/lib/metanorma/standoc/cleanup_maths.rb +12 -4
  9. data/lib/metanorma/standoc/cleanup_section.rb +19 -9
  10. data/lib/metanorma/standoc/cleanup_symbols.rb +14 -7
  11. data/lib/metanorma/standoc/cleanup_text.rb +10 -4
  12. data/lib/metanorma/standoc/cleanup_toc.rb +1 -2
  13. data/lib/metanorma/standoc/cleanup_xref.rb +58 -16
  14. data/lib/metanorma/standoc/inline.rb +27 -12
  15. data/lib/metanorma/standoc/isodoc.rng +47 -13
  16. data/lib/metanorma/standoc/ref_utility.rb +1 -0
  17. data/lib/metanorma/standoc/render.rb +12 -3
  18. data/lib/metanorma/standoc/section.rb +10 -3
  19. data/lib/metanorma/standoc/utils.rb +6 -1
  20. data/lib/metanorma/standoc/validate.rb +1 -1
  21. data/lib/metanorma/standoc/version.rb +1 -1
  22. data/metanorma-standoc.gemspec +5 -2
  23. metadata +4 -128
  24. data/.github/workflows/automerge.yml +0 -31
  25. data/.github/workflows/rake.yml +0 -15
  26. data/.github/workflows/release.yml +0 -24
  27. data/Rakefile +0 -8
  28. data/bin/rspec +0 -18
  29. data/spec/assets/a1.adoc +0 -8
  30. data/spec/assets/a2.adoc +0 -10
  31. data/spec/assets/a3.adoc +0 -9
  32. data/spec/assets/a3a.adoc +0 -7
  33. data/spec/assets/a4.adoc +0 -4
  34. data/spec/assets/boilerplate.xml +0 -4
  35. data/spec/assets/codes.yml +0 -695
  36. data/spec/assets/correct.png +0 -0
  37. data/spec/assets/corrupt.png +0 -0
  38. data/spec/assets/header.html +0 -7
  39. data/spec/assets/html-override.css +0 -1
  40. data/spec/assets/html.scss +0 -13
  41. data/spec/assets/htmlcover.html +0 -4
  42. data/spec/assets/htmlintro.html +0 -5
  43. data/spec/assets/i18n.yaml +0 -17
  44. data/spec/assets/iso.adoc +0 -10
  45. data/spec/assets/iso.headless.html +0 -33
  46. data/spec/assets/iso.xml +0 -8
  47. data/spec/assets/iso123.rxl +0 -107
  48. data/spec/assets/rice_image1.png +0 -0
  49. data/spec/assets/scripts.html +0 -3
  50. data/spec/assets/std.css +0 -2
  51. data/spec/assets/word-override.css +0 -1
  52. data/spec/assets/word.scss +0 -13
  53. data/spec/assets/wordcover.html +0 -3
  54. data/spec/assets/wordintro.html +0 -4
  55. data/spec/assets/xref_error.adoc +0 -8
  56. data/spec/examples/103_01_02.html +0 -247
  57. data/spec/examples/codes_table.html +0 -3174
  58. data/spec/examples/datamodel/address_class_profile.adoc +0 -5
  59. data/spec/examples/datamodel/address_class_profile.presentation.xml +0 -14
  60. data/spec/examples/datamodel/address_component_profile.adoc +0 -5
  61. data/spec/examples/datamodel/blank_definition_profile.adoc +0 -5
  62. data/spec/examples/datamodel/common_models_diagram.adoc +0 -5
  63. data/spec/examples/datamodel/models/models/AddressClassProfile.yml +0 -90
  64. data/spec/examples/datamodel/models/models/AddressComponentProfile.yml +0 -63
  65. data/spec/examples/datamodel/models/models/AddressComponentSpecification.yml +0 -15
  66. data/spec/examples/datamodel/models/models/AddressProfile.yml +0 -36
  67. data/spec/examples/datamodel/models/models/AttributeProfile.yml +0 -32
  68. data/spec/examples/datamodel/models/models/InterchangeAddressClassProfile.yml +0 -79
  69. data/spec/examples/datamodel/models/models/Localization copy.yml +0 -23
  70. data/spec/examples/datamodel/models/models/Localization.yml +0 -23
  71. data/spec/examples/datamodel/models/models/ProfileCompliantAddress.yml +0 -36
  72. data/spec/examples/datamodel/models/models/ProfileCompliantAddressComponent.yml +0 -15
  73. data/spec/examples/datamodel/models/models/Signature.yml +0 -20
  74. data/spec/examples/datamodel/models/models/SignatureBlankDefinition.yml +0 -20
  75. data/spec/examples/datamodel/models/models/TextDirectionCode copy.yml +0 -16
  76. data/spec/examples/datamodel/models/models/TextDirectionCode.yml +0 -16
  77. data/spec/examples/datamodel/models/models/Validity.yml +0 -14
  78. data/spec/examples/datamodel/models/models/iso19160-1/Address.yml +0 -22
  79. data/spec/examples/datamodel/models/models/iso19160-1/AddressComponent.yml +0 -2
  80. data/spec/examples/datamodel/models/style.uml.inc +0 -37
  81. data/spec/examples/datamodel/models/views/CommonModels.yml +0 -9
  82. data/spec/examples/datamodel/models/views/TopDown.yml +0 -62
  83. data/spec/examples/datamodel/top_down_diagram.adoc +0 -5
  84. data/spec/examples/english.yaml +0 -69
  85. data/spec/examples/iso_123_.xml +0 -46
  86. data/spec/examples/iso_123_all_parts.xml +0 -46
  87. data/spec/examples/iso_123_no_year_note.xml +0 -47
  88. data/spec/examples/iso_124_.xml +0 -42
  89. data/spec/examples/iso_216_.xml +0 -48
  90. data/spec/examples/iso_iec_12382_.xml +0 -49
  91. data/spec/examples/rice.adoc +0 -715
  92. data/spec/examples/rice.preview.html +0 -1877
  93. data/spec/examples/rice.sh +0 -4
  94. data/spec/examples/rice_images/rice_image1.png +0 -0
  95. data/spec/examples/rice_images/rice_image2.png +0 -0
  96. data/spec/examples/rice_images/rice_image3_1.png +0 -0
  97. data/spec/examples/rice_images/rice_image3_2.png +0 -0
  98. data/spec/examples/rice_images/rice_image3_3.png +0 -0
  99. data/spec/fixtures/action_schemaexpg1.svg +0 -122
  100. data/spec/fixtures/datamodel_description_sections_tree.xml +0 -327
  101. data/spec/fixtures/diagram_definitions.lutaml +0 -22
  102. data/spec/fixtures/macros_datamodel/address_class_profile.xml +0 -149
  103. data/spec/fixtures/macros_datamodel/address_component_profile.xml +0 -71
  104. data/spec/fixtures/macros_datamodel/blank_definition_profile.xml +0 -51
  105. data/spec/fixtures/macros_datamodel/common_models_diagram.xml +0 -7
  106. data/spec/fixtures/macros_datamodel/top_down_diagram.xml +0 -7
  107. data/spec/fixtures/test.exp +0 -121
  108. data/spec/fixtures/test.xmi +0 -9250
  109. data/spec/metanorma/base_spec.rb +0 -1125
  110. data/spec/metanorma/biblio_spec.rb +0 -1012
  111. data/spec/metanorma/blank_spec.rb +0 -37
  112. data/spec/metanorma/blocks_spec.rb +0 -1784
  113. data/spec/metanorma/cleanup_blocks_spec.rb +0 -1099
  114. data/spec/metanorma/cleanup_sections_spec.rb +0 -1849
  115. data/spec/metanorma/cleanup_spec.rb +0 -1931
  116. data/spec/metanorma/cleanup_terms_spec.rb +0 -1543
  117. data/spec/metanorma/datamodel/attributes_table_preprocessor_spec.rb +0 -111
  118. data/spec/metanorma/datamodel/diagram_preprocessor_spec.rb +0 -72
  119. data/spec/metanorma/inline_spec.rb +0 -785
  120. data/spec/metanorma/isobib_cache_spec.rb +0 -742
  121. data/spec/metanorma/lists_spec.rb +0 -232
  122. data/spec/metanorma/macros_concept_spec.rb +0 -1052
  123. data/spec/metanorma/macros_json2text_spec.rb +0 -10
  124. data/spec/metanorma/macros_plantuml_spec.rb +0 -402
  125. data/spec/metanorma/macros_spec.rb +0 -1183
  126. data/spec/metanorma/macros_yaml2text_spec.rb +0 -10
  127. data/spec/metanorma/processor_spec.rb +0 -96
  128. data/spec/metanorma/refs_spec.rb +0 -2807
  129. data/spec/metanorma/reqt_spec.rb +0 -130
  130. data/spec/metanorma/section_spec.rb +0 -1325
  131. data/spec/metanorma/table_spec.rb +0 -474
  132. data/spec/metanorma/validate_spec.rb +0 -886
  133. data/spec/spec_helper.rb +0 -290
  134. data/spec/support/shared_examples/structured_data_2_text_preprocessor.rb +0 -781
  135. data/spec/vcr_cassettes/bsi16341.yml +0 -486
  136. data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec.yml +0 -611
  137. data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec1.yml +0 -149
  138. data/spec/vcr_cassettes/hide_refs.yml +0 -587
  139. data/spec/vcr_cassettes/isobib_get_123.yml +0 -149
  140. data/spec/vcr_cassettes/isobib_get_123_1.yml +0 -295
  141. data/spec/vcr_cassettes/isobib_get_123_1_fr.yml +0 -385
  142. data/spec/vcr_cassettes/isobib_get_123_2.yml +0 -295
  143. data/spec/vcr_cassettes/isobib_get_123_2001.yml +0 -149
  144. data/spec/vcr_cassettes/isobib_get_124.yml +0 -149
  145. data/spec/vcr_cassettes/rfcbib_get_rfc8341.yml +0 -367
  146. data/spec/vcr_cassettes/separates_iev_citations_by_top_level_clause.yml +0 -560
  147. data/spec/vcr_cassettes/std-link.yml +0 -149
data/spec/spec_helper.rb DELETED
@@ -1,290 +0,0 @@
1
- require "vcr"
2
-
3
- VCR.configure do |config|
4
- config.cassette_library_dir = "spec/vcr_cassettes"
5
- config.hook_into :webmock
6
- config.default_cassette_options = {
7
- clean_outdated_http_interactions: true,
8
- re_record_interval: 1512000,
9
- record: :once,
10
- }
11
- end
12
-
13
- require "simplecov"
14
- SimpleCov.start do
15
- add_filter "/spec/"
16
- end
17
-
18
- require "bundler/setup"
19
- require "asciidoctor"
20
- require "metanorma-standoc"
21
- require "rspec/matchers"
22
- require "equivalent-xml"
23
- require "metanorma/standoc"
24
- require "rexml/document"
25
-
26
- Dir[File.expand_path("./support/**/**/*.rb", __dir__)]
27
- .sort.each { |f| require f }
28
-
29
- RSpec.configure do |config|
30
- # Enable flags like --only-failures and --next-failure
31
- config.example_status_persistence_file_path = ".rspec_status"
32
-
33
- # Disable RSpec exposing methods globally on `Module` and `main`
34
- config.disable_monkey_patching!
35
-
36
- config.expect_with :rspec do |c|
37
- c.syntax = :expect
38
- end
39
-
40
- config.around :each do |example|
41
- example.run
42
- rescue SystemExit
43
- fail "Unexpected exit encountered"
44
- end
45
- end
46
-
47
- OPTIONS = [backend: :standoc, header_footer: true, agree_to_terms: true].freeze
48
-
49
- def strip_guid(xml)
50
- xml.gsub(%r{ id="_[^"]+"}, ' id="_"')
51
- .gsub(%r{ target="_[^"]+"}, ' target="_"')
52
- end
53
-
54
- def strip_src(xml)
55
- xml.gsub(/\ssrc="[^"]+"/, ' src="_"')
56
- end
57
-
58
- def xmlpp(xml)
59
- s = ""
60
- f = REXML::Formatters::Pretty.new(2)
61
- f.compact = true
62
- f.write(REXML::Document.new(xml
63
- .gsub(%r{<fetched>[^<]+</fetched>}, "<fetched/>")), s)
64
- s
65
- end
66
-
67
- ASCIIDOC_BLANK_HDR = <<~"HDR".freeze
68
- = Document title
69
- Author
70
- :docfile: test.adoc
71
- :nodoc:
72
- :novalid:
73
- :no-isobib:
74
- :data-uri-image: false
75
-
76
- HDR
77
-
78
- DUMBQUOTE_BLANK_HDR = <<~"HDR".freeze
79
- = Document title
80
- Author
81
- :docfile: test.adoc
82
- :nodoc:
83
- :novalid:
84
- :no-isobib:
85
- :smartquotes: false
86
-
87
- HDR
88
-
89
- ISOBIB_BLANK_HDR = <<~"HDR".freeze
90
- = Document title
91
- Author
92
- :docfile: test.adoc
93
- :nodoc:
94
- :novalid:
95
- :no-isobib-cache:
96
-
97
- HDR
98
-
99
- FLUSH_CACHE_ISOBIB_BLANK_HDR = <<~"HDR".freeze
100
- = Document title
101
- Author
102
- :docfile: test.adoc
103
- :nodoc:
104
- :novalid:
105
- :flush-caches:
106
-
107
- HDR
108
-
109
- CACHED_ISOBIB_BLANK_HDR = <<~"HDR".freeze
110
- = Document title
111
- Author
112
- :docfile: test.adoc
113
- :nodoc:
114
- :novalid:
115
-
116
- HDR
117
-
118
- LOCAL_CACHED_ISOBIB_BLANK_HDR = <<~"HDR".freeze
119
- = Document title
120
- Author
121
- :docfile: test.adoc
122
- :nodoc:
123
- :novalid:
124
- :local-cache:
125
-
126
- HDR
127
-
128
- LOCAL_ONLY_CACHED_ISOBIB_BLANK_HDR = <<~"HDR".freeze
129
- = Document title
130
- Author
131
- :docfile: test.adoc
132
- :nodoc:
133
- :novalid:
134
- :local-cache-only:
135
-
136
- HDR
137
-
138
- VALIDATING_BLANK_HDR = <<~"HDR".freeze
139
- = Document title
140
- Author
141
- :docfile: test.adoc
142
- :nodoc:
143
- :no-isobib:
144
-
145
- HDR
146
-
147
- NORM_REF_BOILERPLATE = <<~"HDR".freeze
148
- <p id="_">The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.</p>
149
- HDR
150
-
151
- BLANK_HDR = <<~"HDR".freeze
152
- <?xml version="1.0" encoding="UTF-8"?>
153
- <standard-document xmlns="https://www.metanorma.org/ns/standoc" version="#{Metanorma::Standoc::VERSION}" type="semantic">
154
- <bibdata type="standard">
155
- <title language="en" format="text/plain">Document title</title>
156
- <language>en</language>
157
- <script>Latn</script>
158
- <status><stage>published</stage></status>
159
- <copyright>
160
- <from>#{Time.new.year}</from>
161
- </copyright>
162
- <ext>
163
- <doctype>standard</doctype>
164
- </ext>
165
- </bibdata>
166
- HDR
167
-
168
- BLANK_METANORMA_HDR = <<~"HDR".freeze
169
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
170
- <?xml version="1.0" encoding="UTF-8"?><html><body>
171
- <standard-document xmlns="https://www.metanorma.org/ns/standoc" version="#{Metanorma::Standoc::VERSION}" type="semantic">
172
- <bibdata type="standard">
173
- <title language="en" format="text/plain">Document title</title>
174
- <language>en</language>
175
- <script>Latn</script>
176
- <status><stage>published</stage></status>
177
- <copyright>
178
- <from>#{Time.new.year}</from>
179
- </copyright>
180
- <ext>
181
- <doctype>article</doctype>
182
- </ext>
183
- </bibdata>
184
- HDR
185
-
186
- HTML_HDR = <<~HDR.freeze
187
- <html xmlns:epub="http://www.idpf.org/2007/ops">
188
- <head>
189
- <title>test</title>
190
- </head>
191
- <body lang="EN-US" link="blue" vlink="#954F72">
192
- <div class="title-section">
193
- <p>&#160;</p>
194
- </div>
195
- <br/>
196
- <div class="prefatory-section">
197
- <p>&#160;</p>
198
- </div>
199
- <br/>
200
- <div class="main-section">
201
- HDR
202
-
203
- WORD_HDR = <<~HDR.freeze
204
- <html xmlns:epub="http://www.idpf.org/2007/ops">
205
- <head>
206
- <title>test</title>
207
- </head>
208
- <body lang="EN-US" link="blue" vlink="#954F72">
209
- <div class="WordSection1">
210
- <p>&#160;</p>
211
- </div>
212
- <br clear="all" class="section"/>
213
- <div class="WordSection2">
214
- <p>&#160;</p>
215
- </div>
216
- <br clear="all" class="section"/>
217
- <div class="WordSection3">
218
- HDR
219
-
220
- def examples_path(path)
221
- File.join(File.expand_path("./examples", __dir__), path)
222
- end
223
-
224
- def fixtures_path(path)
225
- File.join(File.expand_path("./fixtures", __dir__), path)
226
- end
227
-
228
- def stub_fetch_ref(**opts)
229
- xml = ""
230
-
231
- hit = double("hit")
232
- expect(hit).to receive(:[]).with("title") do
233
- Nokogiri::XML(xml).at("//docidentifier").content
234
- end.at_least(:once)
235
-
236
- hit_instance = double("hit_instance")
237
- expect(hit_instance).to receive(:hit).and_return(hit).at_least(:once)
238
- expect(hit_instance).to receive(:to_xml) do |builder, opt|
239
- expect(builder).to be_instance_of Nokogiri::XML::Builder
240
- expect(opt).to eq opts
241
- builder << xml
242
- end.at_least :once
243
-
244
- hit_page = double("hit_page")
245
- expect(hit_page).to receive(:first).and_return(hit_instance).at_least :once
246
-
247
- hit_pages = double("hit_pages")
248
- expect(hit_pages).to receive(:first).and_return(hit_page).at_least :once
249
-
250
- expect(RelatonIso::IsoBibliography).to receive(:search)
251
- .and_wrap_original do |search, *args|
252
- code = args[0]
253
- expect(code).to be_instance_of String
254
- xml = get_xml(search, code, opts)
255
- hit_pages
256
- end.at_least :once
257
- end
258
-
259
- private
260
-
261
- def get_xml(search, code, opts)
262
- c = code.gsub(%r{[/\s:-]}, "_").sub(%r{_+$}, "").downcase
263
- file = examples_path("#{[c, opts.keys.join('_')].join '_'}.xml")
264
- if File.exist? file
265
- File.read file
266
- else
267
- xml = search.call(code)&.first&.first&.to_xml nil, opts
268
- File.write file, xml
269
- xml
270
- end
271
- end
272
-
273
- def mock_open_uri(code)
274
- expect(OpenURI).to receive(:open_uri).and_wrap_original do |m, *args|
275
- # expect(args[0]).to be_instance_of String
276
- file = examples_path("#{code.tr('-', '_')}.html")
277
- File.write file, m.call(*args).read unless File.exist? file
278
- File.read file, encoding: "utf-8"
279
- end.at_least :once
280
- end
281
-
282
- def metanorma_process(input)
283
- Metanorma::Input::Asciidoc
284
- .new
285
- .process(input, "test.adoc", :standoc)
286
- end
287
-
288
- def xml_string_conent(xml)
289
- strip_guid(Nokogiri::HTML(xml).to_s)
290
- end