metanorma-standoc 1.5.3 → 1.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/macos.yml +4 -9
- data/.github/workflows/ubuntu.yml +0 -4
- data/.github/workflows/windows.yml +2 -12
- data/lib/asciidoctor/standoc/base.rb +6 -1
- data/lib/asciidoctor/standoc/basicdoc.rng +4 -11
- data/lib/asciidoctor/standoc/cleanup.rb +30 -12
- data/lib/asciidoctor/standoc/cleanup_ref.rb +2 -3
- data/lib/asciidoctor/standoc/front_contributor.rb +10 -2
- data/lib/asciidoctor/standoc/inline.rb +18 -40
- data/lib/asciidoctor/standoc/isodoc.rng +13 -6
- data/lib/asciidoctor/standoc/json2_text_preprocessor.rb +2 -1
- data/lib/asciidoctor/standoc/ref.rb +31 -30
- data/lib/asciidoctor/standoc/yaml2_text_preprocessor.rb +4 -1
- data/lib/metanorma/standoc.rb +0 -5
- data/lib/metanorma/standoc/version.rb +20 -1
- data/metanorma-standoc.gemspec +2 -1
- data/spec/asciidoctor-standoc/base_spec.rb +121 -3
- data/spec/asciidoctor-standoc/blocks_spec.rb +1 -1
- data/spec/asciidoctor-standoc/cleanup_spec.rb +11 -9
- data/spec/asciidoctor-standoc/inline_spec.rb +128 -4
- data/spec/asciidoctor-standoc/isobib_cache_spec.rb +9 -7
- data/spec/asciidoctor-standoc/refs_spec.rb +27 -18
- data/spec/spec_helper.rb +1 -1
- data/spec/support/shared_examples/structured_data_2_text_preprocessor.rb +46 -0
- data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec.yml +71 -71
- data/spec/vcr_cassettes/isobib_get_123.yml +17 -17
- data/spec/vcr_cassettes/isobib_get_123_1.yml +35 -35
- data/spec/vcr_cassettes/isobib_get_123_2001.yml +18 -18
- data/spec/vcr_cassettes/isobib_get_124.yml +17 -17
- data/spec/vcr_cassettes/rfcbib_get_rfc8341.yml +8 -8
- data/spec/vcr_cassettes/separates_iev_citations_by_top_level_clause.yml +39 -37
- metadata +5 -7
- data/lib/metanorma/standoc/latexml_requirement.rb +0 -62
- data/lib/metanorma/standoc/requirement.rb +0 -13
@@ -36,7 +36,10 @@ module Asciidoctor
|
|
36
36
|
protected
|
37
37
|
|
38
38
|
def content_from_file(document, file_path)
|
39
|
-
YAML.safe_load(
|
39
|
+
YAML.safe_load(
|
40
|
+
File.read(relative_file_path(document, file_path),
|
41
|
+
encoding: "UTF-8"),
|
42
|
+
[Date, Time])
|
40
43
|
end
|
41
44
|
end
|
42
45
|
end
|
data/lib/metanorma/standoc.rb
CHANGED
@@ -1,5 +1,24 @@
|
|
1
1
|
module Metanorma
|
2
|
+
class << self
|
3
|
+
# https://stackoverflow.com/a/53399471
|
4
|
+
def parent_of(mod)
|
5
|
+
parent_name = mod.name =~ /::[^:]+\Z/ ? $`.freeze : nil
|
6
|
+
Object.const_get(parent_name) if parent_name
|
7
|
+
end
|
8
|
+
|
9
|
+
def all_modules(mod)
|
10
|
+
[mod] + mod.constants.map { |c| mod.const_get(c) }
|
11
|
+
.select {|c| c.is_a?(Module) && parent_of(c) == mod }
|
12
|
+
.flat_map {|m| all_modules(m) }
|
13
|
+
end
|
14
|
+
|
15
|
+
def versioned(mod, flavour)
|
16
|
+
all_modules(mod).select {|c| defined? c::VERSION}.
|
17
|
+
select {|c| c.name =~ /::#{flavour}$/ }
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
2
21
|
module Standoc
|
3
|
-
|
22
|
+
VERSION = "1.6.0".freeze
|
4
23
|
end
|
5
24
|
end
|
data/metanorma-standoc.gemspec
CHANGED
@@ -30,7 +30,8 @@ Gem::Specification.new do |spec|
|
|
30
30
|
spec.add_dependency "ruby-jing"
|
31
31
|
spec.add_dependency "isodoc", "~> 1.2.0"
|
32
32
|
spec.add_dependency "iev", "~> 0.2.1"
|
33
|
-
|
33
|
+
# relaton-cli not just relaton, to avoid circular reference in metanorma
|
34
|
+
spec.add_dependency "relaton-cli", "~> 1.4.0"
|
34
35
|
spec.add_dependency "relaton-iev", "~> 1.0.0"
|
35
36
|
spec.add_dependency "sterile", "~> 1.0.14"
|
36
37
|
spec.add_dependency "concurrent-ruby"
|
@@ -32,8 +32,101 @@ RSpec.describe Asciidoctor::Standoc do
|
|
32
32
|
expect(File.exist?("htmlstyle.css")).to be false
|
33
33
|
end
|
34
34
|
|
35
|
-
|
35
|
+
it "processes publisher abbreviations" do
|
36
|
+
mock_org_abbrevs
|
36
37
|
expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true))).to be_equivalent_to xmlpp(<<~'OUTPUT')
|
38
|
+
= Document title
|
39
|
+
Author
|
40
|
+
:docfile: test.adoc
|
41
|
+
:nodoc:
|
42
|
+
:novalid:
|
43
|
+
:publisher: International Electrotechnical Commission,IETF,ISO
|
44
|
+
INPUT
|
45
|
+
<standard-document xmlns='https://www.metanorma.org/ns/standoc' type='semantic' version='1.5.3'>
|
46
|
+
<bibdata type='standard'>
|
47
|
+
<title language='en' format='text/plain'>Document title</title>
|
48
|
+
<contributor>
|
49
|
+
<role type='author'/>
|
50
|
+
<organization>
|
51
|
+
<name>International Electrotechnical Commission</name>
|
52
|
+
<abbreviation>IEC</abbreviation>
|
53
|
+
</organization>
|
54
|
+
</contributor>
|
55
|
+
<contributor>
|
56
|
+
<role type='author'/>
|
57
|
+
<organization>
|
58
|
+
<name>IETF</name>
|
59
|
+
</organization>
|
60
|
+
</contributor>
|
61
|
+
<contributor>
|
62
|
+
<role type='author'/>
|
63
|
+
<organization>
|
64
|
+
<name>International Standards Organization</name>
|
65
|
+
<abbreviation>ISO</abbreviation>
|
66
|
+
</organization>
|
67
|
+
</contributor>
|
68
|
+
<contributor>
|
69
|
+
<role type='publisher'/>
|
70
|
+
<organization>
|
71
|
+
<name>International Electrotechnical Commission</name>
|
72
|
+
<abbreviation>IEC</abbreviation>
|
73
|
+
</organization>
|
74
|
+
</contributor>
|
75
|
+
<contributor>
|
76
|
+
<role type='publisher'/>
|
77
|
+
<organization>
|
78
|
+
<name>IETF</name>
|
79
|
+
</organization>
|
80
|
+
</contributor>
|
81
|
+
<contributor>
|
82
|
+
<role type='publisher'/>
|
83
|
+
<organization>
|
84
|
+
<name>International Standards Organization</name>
|
85
|
+
<abbreviation>ISO</abbreviation>
|
86
|
+
</organization>
|
87
|
+
</contributor>
|
88
|
+
<language>en</language>
|
89
|
+
<script>Latn</script>
|
90
|
+
<status>
|
91
|
+
<stage>published</stage>
|
92
|
+
</status>
|
93
|
+
<copyright>
|
94
|
+
<from>2020</from>
|
95
|
+
<owner>
|
96
|
+
<organization>
|
97
|
+
<name>International Electrotechnical Commission</name>
|
98
|
+
<abbreviation>IEC</abbreviation>
|
99
|
+
</organization>
|
100
|
+
</owner>
|
101
|
+
</copyright>
|
102
|
+
<copyright>
|
103
|
+
<from>2020</from>
|
104
|
+
<owner>
|
105
|
+
<organization>
|
106
|
+
<name>IETF</name>
|
107
|
+
</organization>
|
108
|
+
</owner>
|
109
|
+
</copyright>
|
110
|
+
<copyright>
|
111
|
+
<from>2020</from>
|
112
|
+
<owner>
|
113
|
+
<organization>
|
114
|
+
<name>International Standards Organization</name>
|
115
|
+
<abbreviation>ISO</abbreviation>
|
116
|
+
</organization>
|
117
|
+
</owner>
|
118
|
+
</copyright>
|
119
|
+
<ext>
|
120
|
+
<doctype>article</doctype>
|
121
|
+
</ext>
|
122
|
+
</bibdata>
|
123
|
+
<sections> </sections>
|
124
|
+
</standard-document>
|
125
|
+
OUTPUT
|
126
|
+
end
|
127
|
+
|
128
|
+
it "processes default metadata" do
|
129
|
+
expect(xmlpp(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
37
130
|
= Document title
|
38
131
|
Author
|
39
132
|
:docfile: test.adoc
|
@@ -109,7 +202,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
109
202
|
:keywords: a, b, c
|
110
203
|
INPUT
|
111
204
|
<?xml version="1.0" encoding="UTF-8"?>
|
112
|
-
<standard-document xmlns="https://www.metanorma.org/ns/standoc">
|
205
|
+
<standard-document xmlns="https://www.metanorma.org/ns/standoc" type="semantic" version="#{Metanorma::Standoc::VERSION}">
|
113
206
|
<bibdata type="standard">
|
114
207
|
<title language="en" format="text/plain">Main Title — Title</title>
|
115
208
|
<docidentifier>1000-1</docidentifier>
|
@@ -339,7 +432,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
339
432
|
== Clause 1
|
340
433
|
INPUT
|
341
434
|
<?xml version="1.0" encoding="UTF-8"?>
|
342
|
-
<standard-document xmlns="https://www.metanorma.org/ns/standoc">
|
435
|
+
<standard-document xmlns="https://www.metanorma.org/ns/standoc" type="semantic" version="#{Metanorma::Standoc::VERSION}">
|
343
436
|
<bibdata type="standard">
|
344
437
|
<title language="en" format="text/plain">Document title</title>
|
345
438
|
<title language="eo" format="text/plain">Dokumenttitolo</title>
|
@@ -526,6 +619,31 @@ QU1FOiB0ZXN0Cgo=
|
|
526
619
|
])
|
527
620
|
end
|
528
621
|
|
622
|
+
it "test submitting-organizations with delimiter in end" do
|
623
|
+
FileUtils.rm_f "test.doc"
|
624
|
+
Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)
|
625
|
+
= Document title
|
626
|
+
Author
|
627
|
+
:docfile: test.adoc
|
628
|
+
:doctype: standard
|
629
|
+
:encoding: utf-8
|
630
|
+
:lang: en
|
631
|
+
:submitting-organizations: Organization One; Organization Two;
|
632
|
+
:publisher: "Hanna Barbera", "Cartoon Network", "Ribose, Inc.",
|
633
|
+
INPUT
|
634
|
+
expect(File.exist?("test.doc")).to be true
|
635
|
+
end
|
636
|
+
|
637
|
+
private
|
638
|
+
|
639
|
+
def mock_org_abbrevs
|
640
|
+
allow_any_instance_of(::Asciidoctor::Standoc::Front).to receive(:org_abbrev).and_return(
|
641
|
+
{ "International Standards Organization" => "ISO",
|
642
|
+
"International Electrotechnical Commission" => "IEC" }
|
643
|
+
)
|
644
|
+
end
|
645
|
+
|
646
|
+
|
529
647
|
|
530
648
|
end
|
531
649
|
|
@@ -273,7 +273,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
273
273
|
For further information on the Foreword, see *ISO/IEC Directives, Part 2, 2016, Clause 12.*
|
274
274
|
****
|
275
275
|
INPUT
|
276
|
-
<standard-document xmlns="https://www.metanorma.org/ns/standoc">
|
276
|
+
<standard-document xmlns="https://www.metanorma.org/ns/standoc" type="semantic" version="#{Metanorma::Standoc::VERSION}">
|
277
277
|
<bibdata type="standard">
|
278
278
|
<title language="en" format="text/plain">Document title</title>
|
279
279
|
|
@@ -1167,7 +1167,7 @@ end
|
|
1167
1167
|
# mock_iecbib_get_iec60050_102_01
|
1168
1168
|
# mock_iecbib_get_iec60050_103_01
|
1169
1169
|
# mock_iev
|
1170
|
-
VCR.use_cassette "separates_iev_citations_by_top_level_clause" do
|
1170
|
+
VCR.use_cassette "separates_iev_citations_by_top_level_clause", :re_record_interval => 25200 do
|
1171
1171
|
expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
1172
1172
|
#{CACHED_ISOBIB_BLANK_HDR}
|
1173
1173
|
|
@@ -1236,6 +1236,7 @@ end
|
|
1236
1236
|
<uri type="src">https://webstore.iec.ch/publication/160</uri>
|
1237
1237
|
<uri type="obp">/preview/info_iec60050-102%7Bed1.0%7Db.pdf</uri>
|
1238
1238
|
<docidentifier type="IEC">IEC 60050-102:2007</docidentifier>
|
1239
|
+
<docidentifier type='URN'>urn:iec:std:iec:60050-102:2007:::en</docidentifier>
|
1239
1240
|
<date type="published">
|
1240
1241
|
<on>2007</on>
|
1241
1242
|
</date>
|
@@ -1274,6 +1275,7 @@ end
|
|
1274
1275
|
<uri type="src">https://webstore.iec.ch/publication/161</uri>
|
1275
1276
|
<uri type="obp">/preview/info_iec60050-103%7Bed1.0%7Db.pdf</uri>
|
1276
1277
|
<docidentifier type="IEC">IEC 60050-103:2009</docidentifier>
|
1278
|
+
<docidentifier type='URN'>urn:iec:std:iec:60050-103:2009:::en</docidentifier>
|
1277
1279
|
<date type="published">
|
1278
1280
|
<on>2009</on>
|
1279
1281
|
</date>
|
@@ -1619,7 +1621,7 @@ it "removes bibdata bibitem IDs" do
|
|
1619
1621
|
|
1620
1622
|
INPUT
|
1621
1623
|
<?xml version='1.0' encoding='UTF-8'?>
|
1622
|
-
<standard-document xmlns='https://www.metanorma.org/ns/standoc'>
|
1624
|
+
<standard-document xmlns='https://www.metanorma.org/ns/standoc' type="semantic" version="#{Metanorma::Standoc::VERSION}">
|
1623
1625
|
<bibdata type='standard'>
|
1624
1626
|
<title language='en' format='text/plain'>Document title</title>
|
1625
1627
|
<language>en</language>
|
@@ -1665,7 +1667,7 @@ it "imports boilerplate file" do
|
|
1665
1667
|
== Clause 1
|
1666
1668
|
|
1667
1669
|
INPUT
|
1668
|
-
<standard-document xmlns='https://www.metanorma.org/ns/standoc'>
|
1670
|
+
<standard-document xmlns='https://www.metanorma.org/ns/standoc' type="semantic" version="#{Metanorma::Standoc::VERSION}">
|
1669
1671
|
<bibdata type='standard'>
|
1670
1672
|
<title language='en' format='text/plain'>Document title</title>
|
1671
1673
|
<language>en</language>
|
@@ -2054,7 +2056,7 @@ expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, heade
|
|
2054
2056
|
=== Bibliography Subsection
|
2055
2057
|
|
2056
2058
|
INPUT
|
2057
|
-
<standard-document xmlns='https://www.metanorma.org/ns/standoc'>
|
2059
|
+
<standard-document xmlns='https://www.metanorma.org/ns/standoc' type="semantic" version="#{Metanorma::Standoc::VERSION}">
|
2058
2060
|
<bibdata type='standard'>
|
2059
2061
|
<title language='en' format='text/plain'>Document title</title>
|
2060
2062
|
<language>en</language>
|
@@ -2330,7 +2332,7 @@ expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, heade
|
|
2330
2332
|
=== Bibliography Subsection
|
2331
2333
|
|
2332
2334
|
INPUT
|
2333
|
-
<standard-document xmlns='https://www.metanorma.org/ns/standoc'>
|
2335
|
+
<standard-document xmlns='https://www.metanorma.org/ns/standoc' type="semantic" version="#{Metanorma::Standoc::VERSION}">
|
2334
2336
|
<bibdata type='standard'>
|
2335
2337
|
<title language='en' format='text/plain'>Document title</title>
|
2336
2338
|
<language>tlh</language>
|
@@ -2561,7 +2563,7 @@ expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, heade
|
|
2561
2563
|
=== Bibliography Subsection
|
2562
2564
|
|
2563
2565
|
INPUT
|
2564
|
-
<standard-document xmlns='https://www.metanorma.org/ns/standoc'>
|
2566
|
+
<standard-document xmlns='https://www.metanorma.org/ns/standoc' type="semantic" version="#{Metanorma::Standoc::VERSION}">
|
2565
2567
|
<bibdata type='standard'>
|
2566
2568
|
<title language='en' format='text/plain'>Document title</title>
|
2567
2569
|
<language>fr</language>
|
@@ -2795,7 +2797,7 @@ expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, heade
|
|
2795
2797
|
=== Bibliography Subsection
|
2796
2798
|
|
2797
2799
|
INPUT
|
2798
|
-
<standard-document xmlns='https://www.metanorma.org/ns/standoc'>
|
2800
|
+
<standard-document xmlns='https://www.metanorma.org/ns/standoc' type="semantic" version="#{Metanorma::Standoc::VERSION}">
|
2799
2801
|
<bibdata type='standard'>
|
2800
2802
|
<title language='en' format='text/plain'>Document title</title>
|
2801
2803
|
<language>zh</language>
|
@@ -3026,7 +3028,7 @@ expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, heade
|
|
3026
3028
|
=== Bibliography Subsection
|
3027
3029
|
|
3028
3030
|
INPUT
|
3029
|
-
<standard-document xmlns='https://www.metanorma.org/ns/standoc'>
|
3031
|
+
<standard-document xmlns='https://www.metanorma.org/ns/standoc' type="semantic" version="#{Metanorma::Standoc::VERSION}">
|
3030
3032
|
<bibdata type='standard'>
|
3031
3033
|
<title language='en' format='text/plain'>Document title</title>
|
3032
3034
|
<language>en</language>
|
@@ -3176,7 +3178,7 @@ input = <<~INPUT
|
|
3176
3178
|
|
3177
3179
|
INPUT
|
3178
3180
|
expect(xmlpp(Asciidoctor.convert(input, backend: :standoc, header_footer: true).gsub(/<p id="_[^"]+">/, "").gsub('</p>', ""))).to be_equivalent_to (<<~"OUTPUT")
|
3179
|
-
<standard-document xmlns='https://www.metanorma.org/ns/standoc'>
|
3181
|
+
<standard-document xmlns='https://www.metanorma.org/ns/standoc' type="semantic" version="#{Metanorma::Standoc::VERSION}">
|
3180
3182
|
<bibdata type='standard'>
|
3181
3183
|
<title language='en' format='text/plain'>Document title</title>
|
3182
3184
|
<language>en</language>
|
@@ -10,7 +10,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
10
10
|
text, including **__nest__**ed markup.
|
11
11
|
INPUT
|
12
12
|
<?xml version="1.0" encoding="UTF-8"?>
|
13
|
-
<standard-document xmlns="https://www.metanorma.org/ns/standoc">
|
13
|
+
<standard-document xmlns="https://www.metanorma.org/ns/standoc" type="semantic" version="#{Metanorma::Standoc::VERSION}">
|
14
14
|
<bibdata type="standard">
|
15
15
|
<title language="en" format="text/plain">Document title</title>
|
16
16
|
<language>en</language>
|
@@ -77,42 +77,147 @@ text, including <strong><em>nest</em></strong>ed markup.</p>
|
|
77
77
|
OUTPUT
|
78
78
|
end
|
79
79
|
|
80
|
+
it "process mtext spaces" do
|
81
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
82
|
+
#{DUMBQUOTE_BLANK_HDR}
|
83
|
+
|
84
|
+
stem:[n < 1 " for all text "]
|
85
|
+
INPUT
|
86
|
+
#{BLANK_HDR}
|
87
|
+
<sections>
|
88
|
+
<p id='_'>
|
89
|
+
<stem type='MathML'>
|
90
|
+
<math xmlns='http://www.w3.org/1998/Math/MathML'>
|
91
|
+
<mi>n</mi>
|
92
|
+
<mo/>
|
93
|
+
<mn>1</mn>
|
94
|
+
<mtext> for all text </mtext>
|
95
|
+
</math>
|
96
|
+
</stem>
|
97
|
+
</p>
|
98
|
+
</sections>
|
99
|
+
</standard-document>
|
100
|
+
OUTPUT
|
101
|
+
end
|
102
|
+
|
80
103
|
it "properly handles inline substitution" do
|
81
104
|
expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
82
105
|
#{DUMBQUOTE_BLANK_HDR}
|
83
106
|
|
84
107
|
stem:[n < 1] +
|
85
108
|
latexmath:[n < 1]
|
109
|
+
stem:["‌"^199 "Hg"^+]
|
86
110
|
INPUT
|
87
111
|
#{BLANK_HDR}
|
88
112
|
<sections>
|
89
113
|
<p id="_">
|
90
114
|
<stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi><mo><</mo><mn>1</mn></math></stem><br/>
|
91
115
|
<stem type="MathML"> <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> <mi>n</mi> <mo><</mo> <mn>1</mn> </mrow> </math></stem>
|
116
|
+
<stem type='MathML'>
|
117
|
+
<math xmlns='http://www.w3.org/1998/Math/MathML'>
|
118
|
+
<msup>
|
119
|
+
<mrow>
|
120
|
+
<mtext></mtext>
|
121
|
+
</mrow>
|
122
|
+
<mrow>
|
123
|
+
<mn>199</mn>
|
124
|
+
</mrow>
|
125
|
+
</msup>
|
126
|
+
<msup>
|
127
|
+
<mrow>
|
128
|
+
<mtext>Hg</mtext>
|
129
|
+
</mrow>
|
130
|
+
<mrow>
|
131
|
+
<mo>+</mo>
|
132
|
+
</mrow>
|
133
|
+
</msup>
|
134
|
+
</math>
|
135
|
+
</stem>
|
92
136
|
</p>
|
93
137
|
</sections>
|
94
138
|
</standard-document>
|
95
139
|
OUTPUT
|
96
140
|
end
|
97
141
|
|
98
|
-
it "normalises inline stem" do
|
142
|
+
it "normalises inline stem, straight quotes" do
|
99
143
|
expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
100
144
|
#{DUMBQUOTE_BLANK_HDR}
|
101
145
|
|
102
146
|
stem:[n < 1]
|
103
147
|
latexmath:[n < 1]
|
148
|
+
stem:["‌"^199 "Hg"^+]
|
149
|
+
INPUT
|
150
|
+
#{BLANK_HDR}
|
151
|
+
<sections>
|
152
|
+
<p id="_">
|
153
|
+
<stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi><mo><</mo><mn>1</mn></math></stem>
|
154
|
+
<stem type="MathML"> <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> <mi>n</mi> <mo><</mo> <mn>1</mn> </mrow> </math></stem>
|
155
|
+
<stem type='MathML'>
|
156
|
+
<math xmlns='http://www.w3.org/1998/Math/MathML'>
|
157
|
+
<msup>
|
158
|
+
<mrow>
|
159
|
+
<mtext></mtext>
|
160
|
+
</mrow>
|
161
|
+
<mrow>
|
162
|
+
<mn>199</mn>
|
163
|
+
</mrow>
|
164
|
+
</msup>
|
165
|
+
<msup>
|
166
|
+
<mrow>
|
167
|
+
<mtext>Hg</mtext>
|
168
|
+
</mrow>
|
169
|
+
<mrow>
|
170
|
+
<mo>+</mo>
|
171
|
+
</mrow>
|
172
|
+
</msup>
|
173
|
+
</math>
|
174
|
+
</stem>
|
175
|
+
</p>
|
176
|
+
</sections>
|
177
|
+
</standard-document>
|
178
|
+
OUTPUT
|
179
|
+
end
|
180
|
+
|
181
|
+
it "normalises inline stem, smart quotes" do
|
182
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
183
|
+
#{ASCIIDOC_BLANK_HDR}
|
184
|
+
|
185
|
+
stem:[n < 1]
|
186
|
+
latexmath:[n < 1]
|
187
|
+
stem:["‌"^199 "Hg"^+]
|
104
188
|
INPUT
|
105
189
|
#{BLANK_HDR}
|
106
190
|
<sections>
|
107
191
|
<p id="_">
|
108
192
|
<stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi><mo><</mo><mn>1</mn></math></stem>
|
109
193
|
<stem type="MathML"> <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> <mi>n</mi> <mo><</mo> <mn>1</mn> </mrow> </math></stem>
|
194
|
+
<stem type='MathML'>
|
195
|
+
<math xmlns='http://www.w3.org/1998/Math/MathML'>
|
196
|
+
<msup>
|
197
|
+
<mrow>
|
198
|
+
<mtext></mtext>
|
199
|
+
</mrow>
|
200
|
+
<mrow>
|
201
|
+
<mn>199</mn>
|
202
|
+
</mrow>
|
203
|
+
</msup>
|
204
|
+
<msup>
|
205
|
+
<mrow>
|
206
|
+
<mtext>Hg</mtext>
|
207
|
+
</mrow>
|
208
|
+
<mrow>
|
209
|
+
<mo>+</mo>
|
210
|
+
</mrow>
|
211
|
+
</msup>
|
212
|
+
</math>
|
213
|
+
</stem>
|
110
214
|
</p>
|
111
215
|
</sections>
|
112
216
|
</standard-document>
|
113
217
|
OUTPUT
|
114
218
|
end
|
115
219
|
|
220
|
+
|
116
221
|
it "generates desired smart quotes for 'dd'" do
|
117
222
|
expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
118
223
|
#{ASCIIDOC_BLANK_HDR}
|
@@ -201,8 +306,14 @@ text, including <strong><em>nest</em></strong>ed markup.</p>
|
|
201
306
|
Inline Reference with Text to <<reference,text>>
|
202
307
|
Footnoted Reference with Text to <<reference,fn: text>>
|
203
308
|
Anchored Crossreference to other document <<a.adoc#b>>
|
309
|
+
Capitalised Reference to <<reference,droploc%capital%>>
|
310
|
+
Lowercase Footnoted Reference to <<reference,capital%droploc%fn>>
|
204
311
|
Capitalised Reference to <<reference,capital%>>
|
205
312
|
Lowercase Footnoted Reference to <<reference,capital%fn>>
|
313
|
+
Capitalised Reference to <<reference,droploc%>>
|
314
|
+
Lowercase Footnoted Reference to <<reference,droploc%fn>>
|
315
|
+
Capitalised Reference to <<reference,droploc%capital%>>
|
316
|
+
Lowercase Footnoted Reference to <<reference,droploc%capital%fn>>
|
206
317
|
INPUT
|
207
318
|
#{BLANK_HDR}
|
208
319
|
<sections>
|
@@ -213,8 +324,21 @@ text, including <strong><em>nest</em></strong>ed markup.</p>
|
|
213
324
|
Inline Reference with Text to <xref target="reference">text</xref>
|
214
325
|
Footnoted Reference with Text to <xref target="reference">text</xref>
|
215
326
|
Anchored Crossreference to other document <xref target="a#b"/>
|
216
|
-
Capitalised Reference to <xref target='reference' case='capital'></xref>
|
217
|
-
Lowercase Footnoted Reference to <xref target='reference' case='capital'></xref
|
327
|
+
Capitalised Reference to <xref target='reference' case='capital' droploc="true"></xref>
|
328
|
+
Lowercase Footnoted Reference to <xref target='reference' case='capital' droploc="true"></xref>
|
329
|
+
Capitalised Reference to
|
330
|
+
<xref target='reference' case='capital'/>
|
331
|
+
Lowercase Footnoted Reference to
|
332
|
+
<xref target='reference' case='capital'/>
|
333
|
+
Capitalised Reference to
|
334
|
+
<xref target='reference' droploc='true'/>
|
335
|
+
Lowercase Footnoted Reference to
|
336
|
+
<xref target='reference' droploc='true'/>
|
337
|
+
Capitalised Reference to
|
338
|
+
<xref target='reference' case='capital' droploc='true'/>
|
339
|
+
Lowercase Footnoted Reference to
|
340
|
+
<xref target='reference' case='capital' droploc='true'/>
|
341
|
+
</p>
|
218
342
|
</clause>
|
219
343
|
</sections>
|
220
344
|
</standard-document>
|