isodoc 2.1.0.1 → 2.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. checksums.yaml +4 -4
  2. data/isodoc.gemspec +6 -3
  3. data/lib/isodoc/base_style/blocks.scss +7 -0
  4. data/lib/isodoc/class_utils.rb +1 -1
  5. data/lib/isodoc/function/blocks.rb +1 -1
  6. data/lib/isodoc/function/cleanup.rb +1 -1
  7. data/lib/isodoc/function/inline.rb +4 -2
  8. data/lib/isodoc/function/lists.rb +24 -9
  9. data/lib/isodoc/function/table.rb +1 -1
  10. data/lib/isodoc/function/to_word_html.rb +3 -2
  11. data/lib/isodoc/function/utils.rb +18 -8
  12. data/lib/isodoc/gem_tasks.rb +19 -10
  13. data/lib/isodoc/html_function/html.rb +2 -2
  14. data/lib/isodoc/i18n.rb +19 -0
  15. data/lib/isodoc/metadata.rb +2 -2
  16. data/lib/isodoc/presentation_function/block.rb +3 -3
  17. data/lib/isodoc/presentation_function/image.rb +1 -1
  18. data/lib/isodoc/presentation_function/inline.rb +13 -6
  19. data/lib/isodoc/presentation_function/section.rb +3 -1
  20. data/lib/isodoc/presentation_function/xrefs.rb +22 -6
  21. data/lib/isodoc/presentation_xml_convert.rb +1 -0
  22. data/lib/isodoc/version.rb +1 -1
  23. data/lib/isodoc/word_function/body.rb +9 -6
  24. data/lib/isodoc/word_function/postprocess.rb +1 -1
  25. data/lib/isodoc/word_function/postprocess_cover.rb +5 -5
  26. data/lib/isodoc/xref/xref_gen.rb +4 -4
  27. metadata +5 -66
  28. data/.github/workflows/rake.yml +0 -15
  29. data/.github/workflows/release.yml +0 -24
  30. data/.hound.yml +0 -5
  31. data/.oss-guides.rubocop.yml +0 -1077
  32. data/.rubocop.yml +0 -10
  33. data/Rakefile +0 -8
  34. data/bin/rspec +0 -17
  35. data/spec/assets/header.html +0 -7
  36. data/spec/assets/html.scss +0 -20
  37. data/spec/assets/html_override.css +0 -1
  38. data/spec/assets/htmlcover.html +0 -4
  39. data/spec/assets/htmlintro.html +0 -5
  40. data/spec/assets/i18n.yaml +0 -41
  41. data/spec/assets/iso.xml +0 -8
  42. data/spec/assets/odf.emf +0 -0
  43. data/spec/assets/odf.svg +0 -1
  44. data/spec/assets/odf1.svg +0 -4
  45. data/spec/assets/outputtest/a.xml +0 -66
  46. data/spec/assets/outputtest/iso.international-standard.xsl +0 -3011
  47. data/spec/assets/rice_image1 +0 -0
  48. data/spec/assets/rice_image1.png +0 -0
  49. data/spec/assets/scripts.html +0 -3
  50. data/spec/assets/scripts_override.html +0 -3
  51. data/spec/assets/std.css +0 -2
  52. data/spec/assets/word.css +0 -2
  53. data/spec/assets/word_override.css +0 -1
  54. data/spec/assets/wordcover.html +0 -3
  55. data/spec/assets/wordintro.html +0 -4
  56. data/spec/isodoc/blocks_spec.rb +0 -2934
  57. data/spec/isodoc/cleanup_spec.rb +0 -1056
  58. data/spec/isodoc/footnotes_spec.rb +0 -264
  59. data/spec/isodoc/form_spec.rb +0 -160
  60. data/spec/isodoc/i18n_spec.rb +0 -1201
  61. data/spec/isodoc/inline_spec.rb +0 -2301
  62. data/spec/isodoc/lists_spec.rb +0 -469
  63. data/spec/isodoc/metadata_spec.rb +0 -401
  64. data/spec/isodoc/postproc_spec.rb +0 -2941
  65. data/spec/isodoc/presentation_xml_spec.rb +0 -1476
  66. data/spec/isodoc/ref_spec.rb +0 -955
  67. data/spec/isodoc/section_spec.rb +0 -2123
  68. data/spec/isodoc/table_spec.rb +0 -588
  69. data/spec/isodoc/terms_spec.rb +0 -712
  70. data/spec/isodoc/utils_spec.rb +0 -57
  71. data/spec/isodoc/xref_numbering_spec.rb +0 -378
  72. data/spec/isodoc/xref_spec.rb +0 -1837
  73. data/spec/isodoc/xslfo_convert_spec.rb +0 -103
  74. data/spec/spec_helper.rb +0 -81
@@ -1,401 +0,0 @@
1
- require "spec_helper"
2
- require "nokogiri"
3
-
4
- RSpec.describe IsoDoc do
5
- it "processes IsoXML metadata #1" do
6
- c = IsoDoc::Convert.new({})
7
- c.convert_init(<<~"INPUT", "test", false)
8
- <iso-standard xmlns="http://riboseinc.com/isoxml">
9
- INPUT
10
- input = <<~INPUT
11
- <iso-standard xmlns="http://riboseinc.com/isoxml">
12
- <bibdata type="standard">
13
- <title>The Incredible Mr Ripley</title>
14
- <title language="en">Cereals and pulses</title>
15
- <uri>URL A</uri>
16
- <uri type="html">URL B</uri>
17
- <uri type="xml">URL C</uri>
18
- <uri type="pdf">URL D</uri>
19
- <uri type="doc">URL E</uri>
20
- <docidentifier>17301-1</docidentifier>
21
- <docidentifier type="ISBN">ISBN 13</docidentifier>
22
- <docidentifier type="ISBN10">ISBN 10</docidentifier>
23
- <docnumber>17301</docnumber>
24
- <date type="published"><on>2011</on></date>
25
- <date type="accessed"><on>2012</on></date>
26
- <date type="created"><from>2010</from><to>2011</to></date>
27
- <date type="activated"><on>2013</on></date>
28
- <date type="obsoleted"><on>2014</on></date>
29
- <date type="circulated"><on>2015</on></date>
30
- <date type="copied"><on>2016</on></date>
31
- <date type="confirmed"><on>2017</on></date>
32
- <date type="updated"><on>2018</on></date>
33
- <date type="unchanged"><on>2019</on></date>
34
- <date type="transmitted"><on>2020</on></date>
35
- <date type="vote-started"><on>2021</on></date>
36
- <date type="vote-ended"><on>2022</on></date>
37
- <edition>2</edition><edition language="en">second edition</edition>
38
- <version>
39
- <revision-date>2016-05-01</revision-date>
40
- <draft>0.4</draft>
41
- </version>
42
- <contributor>
43
- <role type="author"/>
44
- <organization>
45
- <abbreviation>ISO</abbreviation>
46
- </organization>
47
- </contributor>
48
- <contributor>
49
- <role type="publisher"/>
50
- <organization>
51
- <abbreviation>ISO</abbreviation>
52
- </organization>
53
- </contributor>
54
- <contributor>
55
- <role type="editor"/>
56
- <person>
57
- <name>
58
- <forename>Barney</forename>
59
- <surname>Rubble</surname>
60
- </name>
61
- <affiliation>
62
- <organization><name>Slate Inc.</name>
63
- <subdivision>Hermeneutics Unit</subdivision>
64
- <subdivision>Exegesis Subunit</subdivision>
65
- <address>
66
- <formattedAddress>Bedrock</formattedAddress>
67
- </address>
68
- </organization>
69
- </affiliation>
70
- </person>
71
- </contributor>
72
- <contributor>
73
- <role type="author"/>
74
- <person>
75
- <name>
76
- <completename>Fred Flintstone</completename>
77
- </name>
78
- </person>
79
- </contributor>
80
- <note type="title-footnote"><p>A footnote</p></note>
81
- <note type="iso"><p>A note</p></note>
82
- <note type="title-footnote"><p>Another footnote</p></note>
83
- <language>en</language>
84
- <script>Latn</script>
85
- <status>
86
- <stage>Committee Draft</stage>
87
- <substage>Withdrawn</substage>
88
- <iteration>2</iteration>
89
- </status>
90
- <copyright>
91
- <from>2016</from>
92
- <owner>
93
- <organization>
94
- <abbreviation>ISO</abbreviation>
95
- </organization>
96
- </owner>
97
- </copyright>
98
- <keyword>KW2</keyword>
99
- <keyword>KW1</keyword>
100
- <keyword>KW3</keyword>
101
- <ext>
102
- <doctype>international-standard</doctype>
103
- </ext>
104
- </bibdata>
105
- </iso-standard>
106
- INPUT
107
- output = <<~OUTPUT
108
- {:accesseddate=>"2012",
109
- :activateddate=>"2013",
110
- :agency=>"ISO",
111
- :authors=>["Barney Rubble", "Fred Flintstone"],
112
- :authors_affiliations=>{"Slate Inc., Hermeneutics Unit, Exegesis Subunit, Bedrock"=>["Barney Rubble"], ""=>["Fred Flintstone"]},
113
- :circulateddate=>"2015",
114
- :confirmeddate=>"2017",
115
- :copieddate=>"2016",
116
- :createddate=>"2010&ndash;2011",
117
- :doc=>"URL E",
118
- :docnumber=>"17301-1",
119
- :docnumeric=>"17301",
120
- :doctitle=>"Cereals and pulses",
121
- :doctype=>"International Standard",
122
- :doctype_display=>"International Standard",
123
- :docyear=>"2016",
124
- :draft=>"0.4",
125
- :draftinfo=>" (draft 0.4, 2016-05-01)",
126
- :edition=>"2",
127
- :edition_display=>"second edition",
128
- :html=>"URL B",
129
- :implementeddate=>"XXX",
130
- :isbn=>"ISBN 13",
131
- :isbn10=>"ISBN 10",
132
- :issueddate=>"XXX",
133
- :iteration=>"2",
134
- :keywords=>["KW2", "KW1", "KW3"],
135
- :lang=>"en",
136
- :obsoleteddate=>"2014",
137
- :pdf=>"URL D",
138
- :publisheddate=>"2011",
139
- :receiveddate=>"XXX",
140
- :revdate=>"2016-05-01",
141
- :revdate_monthyear=>"May 2016",
142
- :script=>"Latn",
143
- :stage=>"Committee Draft",
144
- :stage_display=>"Committee Draft",
145
- :stageabbr=>"CD",
146
- :substage=>"Withdrawn",
147
- :substage_display=>"Withdrawn",
148
- :title_footnote=>["A footnote", "Another footnote"],
149
- :transmitteddate=>"2020",
150
- :unchangeddate=>"2019",
151
- :unpublished=>true,
152
- :updateddate=>"2018",
153
- :url=>"URL A",
154
- :vote_endeddate=>"2022",
155
- :vote_starteddate=>"2021",
156
- :xml=>"URL C"}
157
- OUTPUT
158
- expect(metadata(c.info(Nokogiri::XML(input), nil)))
159
- .to be_equivalent_to output
160
- end
161
-
162
- it "processes IsoXML metadata #2" do
163
- c = IsoDoc::Convert.new({})
164
- c.convert_init(<<~"INPUT", "test", false)
165
- <iso-standard xmlns="http://riboseinc.com/isoxml">
166
- INPUT
167
- input = <<~INPUT
168
- <iso-standard xmlns="http://riboseinc.com/isoxml">
169
- <bibdata type="standard">
170
- <title language="fr" format="text/plain">Céréales et légumineuses</ti>
171
- <title language="en" format="text/plain">Cereals and pulses</title>
172
- <docidentifier>17301-1-3</docidentifier>
173
- <docnumber>17301</docnumber>
174
- <date type="published"><on>2011-01</on></date>
175
- <version>
176
- <draft>12</draft>
177
- <revision-date>2016-05</revision-date>
178
- </version>
179
- <contributor>
180
- <role type="author"/>
181
- <organization>
182
- <name>ISO</name>
183
- </organization>
184
- </contributor>
185
- <contributor>
186
- <role type="publisher"/>
187
- <organization>
188
- <name>International Organization for Standardization</name>
189
- <subdivision>Subdivision</subdivision>
190
- <abbreviation>ISO</abbreviation>
191
- <address>
192
- <formattedAddress>1 Infinity Loop + California</formattedAddress>
193
- </address>
194
- <phone>3333333</phone>
195
- <phone type='fax'>4444444</phone>
196
- <email>x@example.com</email>
197
- <uri>http://www.example.com</uri>
198
- </organization>
199
- </contributor>
200
- <contributor>
201
- <role type="publisher"/>
202
- <organization>
203
- <name>International Electrotechnical Commission</name>
204
- <abbreviation>IEC</abbreviation>
205
- </organization>
206
- </contributor>
207
- <contributor>
208
- <role type="publisher"/>
209
- <organization>
210
- <name>Institute of Electrical and Electronics Engineers</name>
211
- <abbreviation>IEEE</abbreviation>
212
- </organization>
213
- </contributor>
214
- <language>en</language>
215
- <script>Latn</script>
216
- <status><stage>Published</stage></status>
217
- <copyright>
218
- <from>2016</from>
219
- <owner>
220
- <organization>
221
- <name>International Organization for Standardization</name>
222
- </organization>
223
- </owner>
224
- </copyright>
225
- <relation type="obsoletes">
226
- <locality type="clause"><referenceFrom>3.1</referenceFrom></locality>
227
- <docidentifier>IEC 8121</docidentifier>
228
- </relation>
229
- <relation type="partOf">
230
- <docidentifier>IEC 8122</docidentifier>
231
- </relation>
232
- <ext>
233
- <doctype>international-standard</doctype>
234
- </ext>
235
- </bibdata>
236
- </iso-standard>
237
- INPUT
238
- output = <<~OUTPUT
239
- {:accesseddate=>"XXX",
240
- :agency=>"ISO/IEC/IEEE",
241
- :circulateddate=>"XXX",
242
- :confirmeddate=>"XXX",
243
- :copieddate=>"XXX",
244
- :createddate=>"XXX",
245
- :docnumber=>"17301-1-3",
246
- :docnumeric=>"17301",
247
- :doctitle=>"Cereals and pulses",
248
- :doctype=>"International Standard",
249
- :doctype_display=>"International Standard",
250
- :docyear=>"2016",
251
- :draft=>"12",
252
- :draftinfo=>" (draft 12, 2016-05)",
253
- :implementeddate=>"XXX",
254
- :issueddate=>"XXX",
255
- :lang=>"en",
256
- :obsoleteddate=>"XXX",
257
- :obsoletes=>"IEC 8121",
258
- :obsoletes_part=>"3.1",
259
- :partof=>"IEC 8122",
260
- :pub_address=>"1 Infinity Loop + California",
261
- :pub_email=>"x@example.com",
262
- :pub_fax=>"4444444",
263
- :pub_phone=>"3333333",
264
- :pub_uri=>"http://www.example.com",
265
- :publisheddate=>"2011-01",
266
- :publisher=>"International Organization for Standardization, International Electrotechnical Commission, and Institute of Electrical and Electronics Engineers",
267
- :receiveddate=>"XXX",
268
- :revdate=>"2016-05",
269
- :revdate_monthyear=>"May 2016",
270
- :script=>"Latn",
271
- :stage=>"Published",
272
- :stage_display=>"Published",
273
- :subdivision=>"Subdivision",
274
- :transmitteddate=>"XXX",
275
- :unchangeddate=>"XXX",
276
- :unpublished=>false,
277
- :updateddate=>"XXX",
278
- :vote_endeddate=>"XXX",
279
- :vote_starteddate=>"XXX"}
280
- OUTPUT
281
- expect(metadata(c.info(Nokogiri::XML(input), nil)))
282
- .to be_equivalent_to output
283
- end
284
-
285
- it "processes IsoXML metadata in French" do
286
- c = IsoDoc::Convert.new({})
287
- c.convert_init(<<~"INPUT", "test", false)
288
- <iso-standard xmlns="http://riboseinc.com/isoxml">
289
- <bibdata type="standard">
290
- <language>fr</language>
291
- <script>Latn</script>
292
- <status>
293
- <stage lang="">Committee Draft</stage>
294
- <stage lang=fr">Projet de comité</stage>
295
- <substage lang="">Withdrawn</substage>
296
- <substage lang="fr">Rétiré</substage>
297
- <iteration>2</iteration>
298
- </status>
299
- <edition>2</edition>
300
- <ext>
301
- <doctype lang="">international-standard</doctype>
302
- <doctype lang="fr">Standard international</doctype>
303
- </ext>
304
- </bibdata>
305
- </iso-standard>
306
- INPUT
307
- input = <<~INPUT
308
- <iso-standard xmlns="http://riboseinc.com/isoxml">
309
- <bibdata type="standard">
310
- <title language="fr" format="text/plain">Céréales et légumineuses</ti>
311
- <title language="en" format="text/plain">Cereals and pulses</title>
312
- <docidentifier>17301-1-3</docidentifier>
313
- <docnumber>17301</docnumber>
314
- <date type="published"><on>2011-01</on></date>
315
- <version>
316
- <revision-date>2016-05</revision-date>
317
- </version>
318
- <contributor>
319
- <role type="author"/>
320
- <organization>
321
- <name>ISO</name>
322
- </organization>
323
- </contributor>
324
- <contributor>
325
- <role type="publisher"/>
326
- <organization>
327
- <name>International Organization for Standardization</name>
328
- <abbreviation>ISO</abbreviation>
329
- </organization>
330
- </contributor>
331
- <contributor>
332
- <role type="publisher"/>
333
- <organization>
334
- <name>International Electrotechnical Commission</name>
335
- <abbreviation>IEC</abbreviation>
336
- </organization>
337
- </contributor>
338
- <language>fr</language>
339
- <script>Latn</script>
340
- <status>
341
- <stage language="">Committee Draft</stage>
342
- <stage language="fr">Projet de comité</stage>
343
- <substage language="">Withdrawn</substage>
344
- <substage language="fr">Rétiré</substage>
345
- <iteration>2</iteration>
346
- </status>
347
- <copyright>
348
- <from>2016</from>
349
- <owner>
350
- <organization>
351
- <name>International Organization for Standardization</name>
352
- </organization>
353
- </owner>
354
- </copyright>
355
- <ext>
356
- <doctype language="">international-standard</doctype>
357
- <doctype language="fr">Standard international</doctype>
358
- </ext>
359
- </bibdata>
360
- </iso-standard>
361
- INPUT
362
- output = <<~OUTPUT
363
- {:accesseddate=>"XXX",
364
- :agency=>"ISO/IEC",
365
- :circulateddate=>"XXX",
366
- :confirmeddate=>"XXX",
367
- :copieddate=>"XXX",
368
- :createddate=>"XXX",
369
- :docnumber=>"17301-1-3",
370
- :docnumeric=>"17301",
371
- :doctitle=>"Céréales et légumineuses",
372
- :doctype=>"International Standard",
373
- :doctype_display=>"Standard International",
374
- :docyear=>"2016",
375
- :implementeddate=>"XXX",
376
- :issueddate=>"XXX",
377
- :iteration=>"2",
378
- :lang=>"fr",
379
- :obsoleteddate=>"XXX",
380
- :publisheddate=>"2011-01",
381
- :publisher=>"International Organization for Standardization et International Electrotechnical Commission",
382
- :receiveddate=>"XXX",
383
- :revdate=>"2016-05",
384
- :revdate_monthyear=>"Mai 2016",
385
- :script=>"Latn",
386
- :stage=>"Committee Draft",
387
- :stage_display=>"Projet De Comité",
388
- :stageabbr=>"CD",
389
- :substage=>"Withdrawn",
390
- :substage_display=>"Rétiré",
391
- :transmitteddate=>"XXX",
392
- :unchangeddate=>"XXX",
393
- :unpublished=>true,
394
- :updateddate=>"XXX",
395
- :vote_endeddate=>"XXX",
396
- :vote_starteddate=>"XXX"}
397
- OUTPUT
398
- expect(metadata(c.info(Nokogiri::XML(input), nil)))
399
- .to be_equivalent_to output
400
- end
401
- end