metanorma-standoc 1.3.2 → 1.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +0 -6
- data/Gemfile.lock +19 -17
- data/lib/asciidoctor/standoc/base.rb +2 -1
- data/lib/asciidoctor/standoc/basicdoc.rng +27 -2
- data/lib/asciidoctor/standoc/blocks.rb +25 -22
- data/lib/asciidoctor/standoc/cleanup.rb +6 -3
- data/lib/asciidoctor/standoc/front.rb +4 -3
- data/lib/asciidoctor/standoc/macros.rb +28 -3
- data/lib/asciidoctor/standoc/reqt.rb +1 -0
- data/lib/asciidoctor/standoc/reqt.rng +3 -0
- data/lib/asciidoctor/standoc/table.rb +3 -1
- data/lib/asciidoctor/standoc/utils.rb +15 -3
- data/lib/metanorma/standoc/latexml_requirement.rb +31 -22
- data/lib/metanorma/standoc/version.rb +1 -1
- data/metanorma-standoc.gemspec +1 -0
- data/spec/asciidoctor-standoc/base_spec.rb +13 -7
- data/spec/asciidoctor-standoc/blocks_spec.rb +30 -11
- data/spec/asciidoctor-standoc/cleanup_spec.rb +9 -9
- data/spec/asciidoctor-standoc/isobib_cache_spec.rb +24 -29
- data/spec/asciidoctor-standoc/macros_spec.rb +17 -1
- data/spec/asciidoctor-standoc/refs_spec.rb +23 -15
- data/spec/asciidoctor-standoc/table_spec.rb +2 -2
- data/spec/spec_helper.rb +1 -1
- data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec.yml +91 -93
- data/spec/vcr_cassettes/isobib_get_123.yml +33 -31
- data/spec/vcr_cassettes/isobib_get_123_2001.yml +34 -32
- data/spec/vcr_cassettes/isobib_get_124.yml +70 -71
- data/spec/vcr_cassettes/rfcbib_get_rfc8341.yml +4 -4
- data/spec/vcr_cassettes/separates_iev_citations_by_top_level_clause.yml +35 -35
- metadata +16 -2
@@ -5,7 +5,9 @@ module Asciidoctor
|
|
5
5
|
{ id: Utils::anchor_or_uuid(node),
|
6
6
|
headerrows: node.attr("headerrows"),
|
7
7
|
unnumbered: node.option?("unnumbered") ? "true" : nil,
|
8
|
-
|
8
|
+
subsequence: node.attr("subsequence"),
|
9
|
+
alt: node.attr("alt"),
|
10
|
+
summary: node.attr("summary") }
|
9
11
|
end
|
10
12
|
|
11
13
|
def table(node)
|
@@ -6,7 +6,7 @@ require "pathname"
|
|
6
6
|
require "open-uri"
|
7
7
|
require "uuidtools"
|
8
8
|
require "sterile"
|
9
|
-
|
9
|
+
require "mimemagic"
|
10
10
|
|
11
11
|
module Asciidoctor
|
12
12
|
module Standoc
|
@@ -47,8 +47,8 @@ module Asciidoctor
|
|
47
47
|
end
|
48
48
|
|
49
49
|
def smartformat(n)
|
50
|
-
n.gsub(/
|
51
|
-
gsub(/--/, "&#
|
50
|
+
n.gsub(/ --? /, " – ").
|
51
|
+
gsub(/--/, "–").smart_format.gsub(/</, "<").gsub(/>/, ">")
|
52
52
|
end
|
53
53
|
|
54
54
|
# Set hash value using keys path
|
@@ -186,6 +186,18 @@ module Asciidoctor
|
|
186
186
|
end
|
187
187
|
end
|
188
188
|
|
189
|
+
def datauri2mime(uri)
|
190
|
+
%r{^data:image/(?<imgtype>[^;]+);base64,(?<imgdata>.+)$} =~ uri
|
191
|
+
file = Tempfile.new(["hello", ".jpg"])
|
192
|
+
file.binmode
|
193
|
+
file.write(Base64.strict_decode64(imgdata))
|
194
|
+
file.rewind
|
195
|
+
type = MimeMagic.by_magic(file)
|
196
|
+
file.close
|
197
|
+
file.unlink
|
198
|
+
[type]
|
199
|
+
end
|
200
|
+
|
189
201
|
SUBCLAUSE_XPATH = "//clause[ancestor::clause or ancestor::annex or "\
|
190
202
|
"ancestor::introduction]".freeze
|
191
203
|
end
|
@@ -3,48 +3,57 @@ require_relative "./requirement"
|
|
3
3
|
module Metanorma
|
4
4
|
module Standoc
|
5
5
|
class LatexmlRequirement < Requirement
|
6
|
+
@recommended_version = '0.8.4'
|
7
|
+
@minimal_version = '0.8.0'
|
8
|
+
|
6
9
|
def initialize
|
7
|
-
@recommended_version = '0.8.4'
|
8
|
-
@minimal_version = '0.8.0'
|
9
10
|
version_output, = Open3.capture2e("latexml --VERSION")
|
10
|
-
|
11
|
-
rescue
|
12
|
-
warn "LaTeXML not found in PATH, please ensure that LaTeXML is installed."
|
13
|
-
end
|
14
|
-
|
15
|
-
def satisfied
|
16
|
-
version = @actual_version
|
11
|
+
version = version_output&.match(%r{\d+(.\d+)*})
|
17
12
|
|
18
13
|
if version.to_s.empty?
|
19
|
-
|
20
|
-
|
14
|
+
@error_message = "LaTeXML not installed (or don't works properly)."\
|
15
|
+
" You must upgrade/install LaTeXML to #{@recommended_version} version"
|
21
16
|
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
if Gem::Version.new(version) < Gem::Version.new(@recommended_version)
|
17
|
+
elsif Gem::Version.new(version) < Gem::Version.new(@minimal_version)
|
18
|
+
@error_message = "Minimal supported LaTeXML version is #{@minimal_version} "\
|
19
|
+
"found #{version}, recommended version is #{@recommended_version}"
|
20
|
+
|
21
|
+
elsif Gem::Version.new(version) < Gem::Version.new(@recommended_version)
|
28
22
|
version = "unknown" if version.to_s.empty?
|
29
|
-
header_msg = "
|
23
|
+
header_msg = "latexmlmath version #{version} below #{@recommended_version}!"
|
30
24
|
suggestion = if Gem.win_platform?
|
31
25
|
"cmd encoding is set to UTF-8 with `chcp 65001`"
|
32
26
|
else
|
33
27
|
"terminal encoding is set to UTF-8 with `export LANG=en_US.UTF-8`"
|
34
28
|
end
|
35
29
|
|
36
|
-
|
30
|
+
@error_message = "WARNING #{header_msg} Please sure that #{suggestion} command"
|
37
31
|
|
38
32
|
@cmd = "latexmlmath --preload=amsmath -- -"
|
39
33
|
else
|
40
34
|
@cmd = "latexmlmath --preload=amsmath --inputencoding=UTF-8 -- -"
|
41
35
|
end
|
36
|
+
rescue
|
37
|
+
@error_message = "LaTeXML not installed (or don't works properly)."\
|
38
|
+
" You must upgrade/install LaTeXML to #{@recommended_version} version"
|
42
39
|
end
|
43
40
|
|
44
|
-
def
|
45
|
-
|
46
|
-
|
41
|
+
def satisfied(abort = false)
|
42
|
+
unless @error_message.nil?
|
43
|
+
if abort
|
44
|
+
abort @error_message
|
45
|
+
else
|
46
|
+
warn @error_message
|
47
|
+
end
|
47
48
|
end
|
49
|
+
|
50
|
+
@error_message.nil?
|
51
|
+
end
|
52
|
+
|
53
|
+
def cmd
|
54
|
+
abort @error_message unless @error_message.nil?
|
55
|
+
|
56
|
+
@cmd
|
48
57
|
end
|
49
58
|
end
|
50
59
|
end
|
data/metanorma-standoc.gemspec
CHANGED
@@ -36,6 +36,7 @@ Gem::Specification.new do |spec|
|
|
36
36
|
spec.add_dependency "concurrent-ruby"
|
37
37
|
spec.add_dependency "html2doc", "~> 0.8.11"
|
38
38
|
spec.add_dependency "unicode2latex", "~> 0.0.1"
|
39
|
+
spec.add_dependency "mimemagic"
|
39
40
|
|
40
41
|
spec.add_development_dependency "bundler", "~> 2.0.1"
|
41
42
|
spec.add_development_dependency "byebug"
|
@@ -96,7 +96,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
96
96
|
:email_2: barney@rockhead.example.com
|
97
97
|
:publisher: Hanna Barbera, Cartoon Network
|
98
98
|
:part-of: ABC
|
99
|
-
:translated-from: DEF
|
99
|
+
:translated-from: DEF,GHI;JKL MNO,PQR
|
100
100
|
:keywords: a, b, c
|
101
101
|
INPUT
|
102
102
|
<?xml version="1.0" encoding="UTF-8"?>
|
@@ -235,12 +235,18 @@ RSpec.describe Asciidoctor::Standoc do
|
|
235
235
|
<docidentifier>ABC</docidentifier>
|
236
236
|
</bibitem>
|
237
237
|
</relation>
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
238
|
+
<relation type="translatedFrom">
|
239
|
+
<bibitem>
|
240
|
+
<title>GHI</title>
|
241
|
+
<docidentifier>DEF</docidentifier>
|
242
|
+
</bibitem>
|
243
|
+
</relation>
|
244
|
+
<relation type="translatedFrom">
|
245
|
+
<bibitem>
|
246
|
+
<title>PQR</title>
|
247
|
+
<docidentifier>JKL MNO</docidentifier>
|
248
|
+
</bibitem>
|
249
|
+
</relation>
|
244
250
|
<keyword>a</keyword>
|
245
251
|
<keyword>b</keyword>
|
246
252
|
<keyword>c</keyword>
|
@@ -37,10 +37,11 @@ RSpec.describe Asciidoctor::Standoc do
|
|
37
37
|
OUTPUT
|
38
38
|
end
|
39
39
|
|
40
|
+
=begin
|
40
41
|
it "processes stem blocks" do
|
41
42
|
expect(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true))).to be_equivalent_to <<~"OUTPUT"
|
42
43
|
#{ASCIIDOC_BLANK_HDR}
|
43
|
-
[stem]
|
44
|
+
[stem%inequality]
|
44
45
|
++++
|
45
46
|
r = 1 %
|
46
47
|
r = 1 %
|
@@ -51,7 +52,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
51
52
|
<mml:math><mml:msub xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math"> <mml:mrow> <mml:mrow> <mml:mi mathvariant="bold-italic">F</mml:mi> </mml:mrow> </mml:mrow> <mml:mrow> <mml:mrow> <mml:mi mathvariant="bold-italic">Α</mml:mi> </mml:mrow> </mml:mrow> </mml:msub> </mml:math>
|
52
53
|
++++
|
53
54
|
|
54
|
-
[latexmath]
|
55
|
+
[latexmath,subsequence=A]
|
55
56
|
++++
|
56
57
|
M =
|
57
58
|
\\begin{bmatrix}
|
@@ -64,15 +65,14 @@ RSpec.describe Asciidoctor::Standoc do
|
|
64
65
|
INPUT
|
65
66
|
#{BLANK_HDR}
|
66
67
|
<sections>
|
67
|
-
<formula id="_">
|
68
|
-
<stem type="
|
69
|
-
r = 1 %</stem>
|
68
|
+
<formula id="_" inequality="true">
|
69
|
+
<stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>r</mi><mo>=</mo><mn>1</mn><mi>%</mi><mi>r</mi><mo>=</mo><mn>1</mn><mi>%</mi></math></stem>
|
70
70
|
</formula>
|
71
71
|
|
72
72
|
<formula id="_" unnumbered="true">
|
73
73
|
<stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub> <mrow> <mrow> <mi mathvariant="bold-italic">F</mi> </mrow> </mrow> <mrow> <mrow> <mi mathvariant="bold-italic">Α</mi> </mrow> </mrow> </msub> </math></stem>
|
74
74
|
</formula>
|
75
|
-
<formula id="_">
|
75
|
+
<formula id="_" subsequence="A">
|
76
76
|
<stem type="MathML">
|
77
77
|
<math xmlns="http://www.w3.org/1998/Math/MathML" alttext="M=\\begin{bmatrix}-\\sin\\lambda_{0}&\\cos\\lambda_{0}&0\\\\ -\\sin\\varphi_{0}\\cos\\lambda_{0}&-\\sin\\varphi_{0}\\sin\\lambda_{0}&\\cos\\varphi_{0% }\\\\ \\cos\\varphi_{0}\\cos\\lambda_{0}&\\cos\\varphi_{0}\\sin\\lambda_{0}&\\sin\\varphi_{0}% \\end{bmatrix}" display="block">
|
78
78
|
<mrow>
|
@@ -234,7 +234,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
234
234
|
</standard-document>
|
235
235
|
OUTPUT
|
236
236
|
end
|
237
|
-
|
237
|
+
=end
|
238
238
|
it "ignores review blocks unless document is in draft mode" do
|
239
239
|
expect(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true))).to be_equivalent_to <<~"OUTPUT"
|
240
240
|
#{ASCIIDOC_BLANK_HDR}
|
@@ -571,7 +571,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
571
571
|
it "processes examples" do
|
572
572
|
expect(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true))).to be_equivalent_to <<~"OUTPUT"
|
573
573
|
#{ASCIIDOC_BLANK_HDR}
|
574
|
-
[example]
|
574
|
+
[example,subsequence=A]
|
575
575
|
====
|
576
576
|
This is an example
|
577
577
|
|
@@ -585,7 +585,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
585
585
|
INPUT
|
586
586
|
#{BLANK_HDR}
|
587
587
|
<sections>
|
588
|
-
<example id="_"><p id="_">This is an example</p>
|
588
|
+
<example id="_" subsequence="A"><p id="_">This is an example</p>
|
589
589
|
<p id="_">Amen</p></example>
|
590
590
|
<example id="_" unnumbered="true"><p id="_">This is another example</p></example>
|
591
591
|
</sections>
|
@@ -652,6 +652,25 @@ RSpec.describe Asciidoctor::Standoc do
|
|
652
652
|
OUTPUT
|
653
653
|
end
|
654
654
|
|
655
|
+
it "processes data URI images" do
|
656
|
+
expect(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true))).to be_equivalent_to <<~"OUTPUT"
|
657
|
+
#{ASCIIDOC_BLANK_HDR}
|
658
|
+
[subsequence=A]
|
659
|
+
.Split-it-right sample divider
|
660
|
+
image::data:image/*;base64,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[alttext]
|
661
|
+
|
662
|
+
INPUT
|
663
|
+
#{BLANK_HDR}
|
664
|
+
<sections>
|
665
|
+
<figure id="_" subsequence="A">
|
666
|
+
<name>Split-it-right sample divider</name>
|
667
|
+
<image src="data:image/png;base64,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" id="_" mimetype="image/png" height="auto" width="auto" alt="alttext"/>
|
668
|
+
</figure>
|
669
|
+
</sections>
|
670
|
+
</standard-document>
|
671
|
+
OUTPUT
|
672
|
+
end
|
673
|
+
|
655
674
|
it "accepts attributes on images" do
|
656
675
|
expect(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true))).to be_equivalent_to <<~"OUTPUT"
|
657
676
|
#{ASCIIDOC_BLANK_HDR}
|
@@ -885,7 +904,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
885
904
|
it "processes requirement" do
|
886
905
|
input = <<~"INPUT"
|
887
906
|
#{ASCIIDOC_BLANK_HDR}
|
888
|
-
[.requirement]
|
907
|
+
[.requirement,subsequence="A"]
|
889
908
|
.Title
|
890
909
|
====
|
891
910
|
I recommend this
|
@@ -894,7 +913,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
894
913
|
output = <<~"OUTPUT"
|
895
914
|
#{BLANK_HDR}
|
896
915
|
<sections>
|
897
|
-
<requirement id="_"><title>Title</title>
|
916
|
+
<requirement id="_" subsequence="A"><title>Title</title>
|
898
917
|
<description><p id="_">I recommend this</p></description>
|
899
918
|
</requirement>
|
900
919
|
</sections>
|
@@ -242,6 +242,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
242
242
|
it "moves notes inside preceding blocks, if they are not at clause end, and the blocks are not delimited" do
|
243
243
|
expect(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true))).to be_equivalent_to <<~"OUTPUT"
|
244
244
|
#{ASCIIDOC_BLANK_HDR}
|
245
|
+
|
245
246
|
[stem]
|
246
247
|
++++
|
247
248
|
r = 1 %
|
@@ -254,8 +255,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
254
255
|
INPUT
|
255
256
|
#{BLANK_HDR}
|
256
257
|
<sections><formula id="_">
|
257
|
-
<stem type="
|
258
|
-
r = 1 %</stem>
|
258
|
+
<stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>r</mi><mo>=</mo><mn>1</mn><mi>%</mi><mi>r</mi><mo>=</mo><mn>1</mn><mi>%</mi></math></stem>
|
259
259
|
<note id="_">
|
260
260
|
<p id="_">That formula does not do much</p>
|
261
261
|
</note></formula>
|
@@ -774,7 +774,7 @@ r = 1 %</stem>
|
|
774
774
|
#{NORM_REF_BOILERPLATE}
|
775
775
|
<bibitem id="iso123" type="standard">
|
776
776
|
<title format="text/plain">Standard</title>
|
777
|
-
<docidentifier>ISO 123
|
777
|
+
<docidentifier>ISO 123:–</docidentifier>
|
778
778
|
<date type="published">
|
779
779
|
<on>--</on>
|
780
780
|
</date>
|
@@ -988,8 +988,8 @@ r = 1 %</stem>
|
|
988
988
|
#{NORM_REF_BOILERPLATE}
|
989
989
|
<bibitem type="standard" id="IEC60050-102">
|
990
990
|
<title type="title-main" format="text/plain" language="en" script="Latn">International Electrotechnical Vocabulary (IEV)</title>
|
991
|
-
<title type="title-part" format="text/plain" language="en" script="Latn">Part 102: Mathematics
|
992
|
-
<title type="main" format="text/plain" language="en" script="Latn">International Electrotechnical Vocabulary (IEV)
|
991
|
+
<title type="title-part" format="text/plain" language="en" script="Latn">Part 102: Mathematics – General concepts and linear algebra</title>
|
992
|
+
<title type="main" format="text/plain" language="en" script="Latn">International Electrotechnical Vocabulary (IEV) – Part 102: Mathematics – General concepts and linear algebra</title>
|
993
993
|
<uri type="src">https://webstore.iec.ch/publication/160</uri>
|
994
994
|
<uri type="obp">/preview/info_iec60050-102%7Bed1.0%7Db.pdf</uri>
|
995
995
|
<docidentifier type="IEC">IEC 60050-102:2007</docidentifier>
|
@@ -1023,9 +1023,9 @@ r = 1 %</stem>
|
|
1023
1023
|
</owner>
|
1024
1024
|
</copyright>
|
1025
1025
|
</bibitem><bibitem type="standard" id="IEC60050-103">
|
1026
|
-
|
1027
|
-
|
1028
|
-
|
1026
|
+
<title type="title-main" format="text/plain" language="en" script="Latn">International Electrotechnical Vocabulary (IEV)</title>
|
1027
|
+
<title type="title-part" format="text/plain" language="en" script="Latn">Part 103: Mathematics – Functions</title>
|
1028
|
+
<title type="main" format="text/plain" language="en" script="Latn">International Electrotechnical Vocabulary (IEV) – Part 103: Mathematics – Functions</title>
|
1029
1029
|
<uri type="src">https://webstore.iec.ch/publication/161</uri>
|
1030
1030
|
<uri type="obp">/preview/info_iec60050-103%7Bed1.0%7Db.pdf</uri>
|
1031
1031
|
<docidentifier type="IEC">IEC 60050-103:2009</docidentifier>
|
@@ -1163,7 +1163,7 @@ r = 1 %</stem>
|
|
1163
1163
|
INPUT
|
1164
1164
|
#{BLANK_HDR}
|
1165
1165
|
<sections>
|
1166
|
-
<stem type="MathML"
|
1166
|
+
<stem type="MathML"><math><mfrac><mn>1</mn><mi>r</mi></mfrac></math></stem>
|
1167
1167
|
</sections>
|
1168
1168
|
|
1169
1169
|
|
@@ -45,12 +45,10 @@ EOS
|
|
45
45
|
ISO_124_DATED = <<~EOS
|
46
46
|
<bibdata type="standard">
|
47
47
|
<fetched>#{Date.today}</fetched>
|
48
|
-
<title type="title-
|
49
|
-
<title type="
|
50
|
-
<title type="main" format="text/plain" language="
|
51
|
-
<title type="
|
52
|
-
<title type="title-main" format="text/plain" language="fr" script="Latn">Détermination des matières solides totales</title>
|
53
|
-
<title type="main" format="text/plain" language="fr" script="Latn">Latex de caoutchouc - Détermination des matières solides totales</title>
|
48
|
+
<title type="title-main" format="text/plain" language="en" script="Latn">Latex, rubber – Determination of total solids content</title>
|
49
|
+
<title type="main" format="text/plain" language="en" script="Latn">Latex, rubber – Determination of total solids content</title>
|
50
|
+
<title type="title-main" format="text/plain" language="fr" script="Latn">Latex de caoutchouc – Détermination des matières solides totales</title>
|
51
|
+
<title type="main" format="text/plain" language="fr" script="Latn">Latex de caoutchouc – Détermination des matières solides totales</title>
|
54
52
|
<uri type="src">https://www.iso.org/standard/61884.html</uri>
|
55
53
|
<uri type="obp">https://www.iso.org/obp/ui/#!iso:std:61884:en</uri>
|
56
54
|
<uri type="rss">https://www.iso.org/contents/data/standard/06/18/61884.detail.rss</uri>
|
@@ -109,13 +107,12 @@ EOS
|
|
109
107
|
ISO_123_UNDATED = <<~EOS
|
110
108
|
<bibdata type="standard">
|
111
109
|
<fetched>#{Date.today}</fetched>
|
112
|
-
<title type="title-
|
113
|
-
<title type="
|
114
|
-
<title type="main" format="text/plain" language="
|
115
|
-
<title type="
|
116
|
-
<title type="title-main" format="text/plain" language="fr" script="Latn">Échantillonnage</title>
|
117
|
-
<title type="main" format="text/plain" language="fr" script="Latn">Latex de caoutchouc - Échantillonnage</title>
|
110
|
+
<title type="title-main" format="text/plain" language="en" script="Latn">Rubber latex – Sampling</title>
|
111
|
+
<title type="main" format="text/plain" language="en" script="Latn">Rubber latex – Sampling</title>
|
112
|
+
<title type="title-main" format="text/plain" language="fr" script="Latn">Latex de caoutchouc – Échantillonnage</title>
|
113
|
+
<title type="main" format="text/plain" language="fr" script="Latn">Latex de caoutchouc – Échantillonnage</title>
|
118
114
|
<uri type="src">https://www.iso.org/standard/23281.html</uri>
|
115
|
+
<uri type="obp">https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
|
119
116
|
<uri type="rss">https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
|
120
117
|
<docidentifier type="ISO">ISO 123</docidentifier>
|
121
118
|
<docnumber>123</docnumber>
|
@@ -151,13 +148,12 @@ EOS
|
|
151
148
|
<relation type="instance">
|
152
149
|
<bibitem type="standard">
|
153
150
|
<fetched>#{Date.today}</fetched>
|
154
|
-
<title type="title-
|
155
|
-
<title type="
|
156
|
-
<title type="main" format="text/plain" language="
|
157
|
-
<title type="
|
158
|
-
<title type="title-main" format="text/plain" language="fr" script="Latn">Échantillonnage</title>
|
159
|
-
<title type="main" format="text/plain" language="fr" script="Latn">Latex de caoutchouc - Échantillonnage</title>
|
151
|
+
<title type="title-main" format="text/plain" language="en" script="Latn">Rubber latex – Sampling</title>
|
152
|
+
<title type="main" format="text/plain" language="en" script="Latn">Rubber latex – Sampling</title>
|
153
|
+
<title type="title-main" format="text/plain" language="fr" script="Latn">Latex de caoutchouc – Échantillonnage</title>
|
154
|
+
<title type="main" format="text/plain" language="fr" script="Latn">Latex de caoutchouc – Échantillonnage</title>
|
160
155
|
<uri type="src">https://www.iso.org/standard/23281.html</uri>
|
156
|
+
<uri type="obp">https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
|
161
157
|
<uri type="rss">https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
|
162
158
|
<docidentifier type="ISO">ISO 123:2001</docidentifier>
|
163
159
|
<docnumber>123</docnumber>
|
@@ -214,13 +210,12 @@ EOS
|
|
214
210
|
ISO_123_DATED = <<~EOS
|
215
211
|
<bibdata type="standard">
|
216
212
|
<fetched>#{Date.today}</fetched>
|
217
|
-
<title type="title-
|
218
|
-
<title type="
|
219
|
-
<title type="main" format="text/plain" language="
|
220
|
-
<title type="
|
221
|
-
<title type="title-main" format="text/plain" language="fr" script="Latn">Échantillonnage</title>
|
222
|
-
<title type="main" format="text/plain" language="fr" script="Latn">Latex de caoutchouc - Échantillonnage</title>
|
213
|
+
<title type="title-main" format="text/plain" language="en" script="Latn">Rubber latex – Sampling</title>
|
214
|
+
<title type="main" format="text/plain" language="en" script="Latn">Rubber latex – Sampling</title>
|
215
|
+
<title type="title-main" format="text/plain" language="fr" script="Latn">Latex de caoutchouc – Échantillonnage</title>
|
216
|
+
<title type="main" format="text/plain" language="fr" script="Latn">Latex de caoutchouc – Échantillonnage</title>
|
223
217
|
<uri type="src">https://www.iso.org/standard/23281.html</uri>
|
218
|
+
<uri type="obp">https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
|
224
219
|
<uri type="rss">https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
|
225
220
|
<docidentifier type="ISO">ISO 123:2001</docidentifier>
|
226
221
|
<docnumber>123</docnumber>
|
@@ -367,7 +362,7 @@ EOS
|
|
367
362
|
db = Relaton::Db.new "#{Dir.home}/.relaton/cache", nil
|
368
363
|
entry = db.load_entry("ISO(ISO 123:2001)")
|
369
364
|
expect(entry).to include("<fetched>#{Date.today.to_s}</fetched>")
|
370
|
-
expect(entry).to be_equivalent_to(ISO_123_DATED)
|
365
|
+
expect(entry).to be_equivalent_to(ISO_123_DATED)
|
371
366
|
|
372
367
|
FileUtils.rm_rf File.expand_path("~/.relaton/cache")
|
373
368
|
FileUtils.rm_rf File.expand_path("~/.iev/cache")
|
@@ -556,7 +551,7 @@ EOS
|
|
556
551
|
entry = db.load_entry("ISO(ISO 124:2014)")
|
557
552
|
#expect(db.fetched("ISO(ISO 124:2014)")).to eq(Date.today.to_s)
|
558
553
|
expect(entry).to include("<fetched>#{Date.today.to_s}</fetched>")
|
559
|
-
expect(entry).to be_equivalent_to(ISO_124_DATED)
|
554
|
+
expect(entry).to be_equivalent_to(ISO_124_DATED)
|
560
555
|
|
561
556
|
FileUtils.rm_rf File.expand_path("~/.relaton/cache")
|
562
557
|
FileUtils.mv File.expand_path("~/.relaton-bib.pstore1"), File.expand_path("~/.relaton/cache"), force: true
|
@@ -590,7 +585,7 @@ EOS
|
|
590
585
|
entry = db.load_entry("ISO(ISO 123)")
|
591
586
|
#expect(db.fetched("ISO(ISO 123)")).to eq(Date.today.to_s)
|
592
587
|
expect(entry).to include("<fetched>#{Date.today.to_s}</fetched>")
|
593
|
-
expect(entry).to be_equivalent_to(ISO_123_UNDATED)
|
588
|
+
expect(entry).to be_equivalent_to(ISO_123_UNDATED)
|
594
589
|
|
595
590
|
FileUtils.rm_rf File.expand_path("~/.relaton/cache")
|
596
591
|
FileUtils.mv File.expand_path("~/.relaton-bib.pstore1"), File.expand_path("~/.relaton/cache"), force: true
|
@@ -665,9 +660,9 @@ EOS
|
|
665
660
|
EOS
|
666
661
|
|
667
662
|
Asciidoctor.convert(input, backend: :standoc, header_footer: true)
|
668
|
-
expect(db.load_entry("ISO(ISO 123:2001)")).to include("Rubber latex
|
663
|
+
expect(db.load_entry("ISO(ISO 123:2001)")).to include("Rubber latex")
|
669
664
|
expect(db.load_entry("ISO(ISO 124)")).to include("Latex, rubber -- Determination of total solids content")
|
670
|
-
expect(localdb.load_entry("ISO(ISO 123:2001)")).to include("Rubber latex
|
665
|
+
expect(localdb.load_entry("ISO(ISO 123:2001)")).to include("Rubber latex")
|
671
666
|
expect(localdb.load_entry("ISO(ISO 124)")).to include("Latex, rubber -- Replacement")
|
672
667
|
|
673
668
|
FileUtils.rm_rf File.expand_path("~/.relaton/cache")
|