isodoc 1.8.2.2 → 1.8.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +2 -0
- data/lib/isodoc/function/cleanup.rb +1 -11
- data/lib/isodoc/function/inline.rb +2 -2
- data/lib/isodoc/function/terms.rb +0 -3
- data/lib/isodoc/function/utils.rb +10 -5
- data/lib/isodoc/i18n.rb +31 -10
- data/lib/isodoc/presentation_function/block.rb +2 -3
- data/lib/isodoc/presentation_function/image.rb +2 -2
- data/lib/isodoc/presentation_function/terms.rb +22 -1
- data/lib/isodoc/presentation_xml_convert.rb +1 -0
- data/lib/isodoc/version.rb +1 -1
- data/lib/isodoc/xref/xref_gen.rb +10 -7
- data/lib/isodoc/xref/xref_gen_seq.rb +159 -148
- data/lib/isodoc/xref/xref_sect_gen.rb +5 -10
- data/lib/isodoc/xref.rb +2 -0
- data/lib/isodoc/xslfo_convert.rb +23 -1
- data/spec/isodoc/cleanup_spec.rb +0 -129
- data/spec/isodoc/i18n_spec.rb +38 -0
- data/spec/isodoc/inline_spec.rb +1 -1
- data/spec/isodoc/postproc_spec.rb +0 -73
- data/spec/isodoc/terms_spec.rb +150 -190
- data/spec/isodoc/xref_spec.rb +71 -0
- data/spec/isodoc/xslfo_convert_spec.rb +35 -0
- metadata +3 -3
@@ -4,8 +4,7 @@ module IsoDoc
|
|
4
4
|
def back_anchor_names(docxml)
|
5
5
|
i = Counter.new("@")
|
6
6
|
docxml.xpath(ns("//annex")).each do |c|
|
7
|
-
i.increment(c)
|
8
|
-
annex_names(c, i.print)
|
7
|
+
annex_names(c, i.increment(c).print)
|
9
8
|
end
|
10
9
|
docxml.xpath(ns(@klass.bibliography_xpath)).each do |b|
|
11
10
|
preface_names(b)
|
@@ -86,8 +85,7 @@ module IsoDoc
|
|
86
85
|
level: lvl, type: "clause" }
|
87
86
|
i = Counter.new
|
88
87
|
clause.xpath(ns(SUBCLAUSES)).each do |c|
|
89
|
-
i.increment(c)
|
90
|
-
section_names1(c, "#{num.print}.#{i.print}", lvl + 1)
|
88
|
+
section_names1(c, "#{num.print}.#{i.increment(c).print}", lvl + 1)
|
91
89
|
end
|
92
90
|
num
|
93
91
|
end
|
@@ -98,8 +96,7 @@ module IsoDoc
|
|
98
96
|
type: "clause" }
|
99
97
|
i = Counter.new
|
100
98
|
clause.xpath(ns(SUBCLAUSES)).each do |c|
|
101
|
-
i.increment(c)
|
102
|
-
section_names1(c, "#{num}.#{i.print}", level + 1)
|
99
|
+
section_names1(c, "#{num}.#{i.increment(c).print}", level + 1)
|
103
100
|
end
|
104
101
|
end
|
105
102
|
|
@@ -129,8 +126,7 @@ module IsoDoc
|
|
129
126
|
else
|
130
127
|
i = Counter.new
|
131
128
|
clause.xpath(ns(SUBCLAUSES)).each do |c|
|
132
|
-
i.increment(c)
|
133
|
-
annex_names1(c, "#{num}.#{i.print}", 2)
|
129
|
+
annex_names1(c, "#{num}.#{i.increment(c).print}", 2)
|
134
130
|
end
|
135
131
|
end
|
136
132
|
hierarchical_asset_names(clause, num)
|
@@ -141,8 +137,7 @@ module IsoDoc
|
|
141
137
|
label: num, level: level, type: "clause" }
|
142
138
|
i = Counter.new
|
143
139
|
clause.xpath(ns(SUBCLAUSES)).each do |c|
|
144
|
-
i.increment(c)
|
145
|
-
annex_names1(c, "#{num}.#{i.print}", level + 1)
|
140
|
+
annex_names1(c, "#{num}.#{i.increment(c).print}", level + 1)
|
146
141
|
end
|
147
142
|
end
|
148
143
|
|
data/lib/isodoc/xref.rb
CHANGED
@@ -4,12 +4,14 @@ require_relative "xref/xref_gen_seq"
|
|
4
4
|
require_relative "xref/xref_gen"
|
5
5
|
require_relative "xref/xref_sect_gen"
|
6
6
|
require_relative "class_utils"
|
7
|
+
require_relative "function/utils"
|
7
8
|
|
8
9
|
module IsoDoc
|
9
10
|
class Xref
|
10
11
|
include XrefGen::Anchor
|
11
12
|
include XrefGen::Blocks
|
12
13
|
include XrefGen::Sections
|
14
|
+
include Function::Utils
|
13
15
|
|
14
16
|
attr_reader :klass
|
15
17
|
|
data/lib/isodoc/xslfo_convert.rb
CHANGED
@@ -8,9 +8,30 @@ module IsoDoc
|
|
8
8
|
def initialize(options)
|
9
9
|
@format = :pdf
|
10
10
|
@suffix = "pdf"
|
11
|
+
@pdf_cmd_options = extract_cmd_options(options)
|
11
12
|
super
|
12
13
|
end
|
13
14
|
|
15
|
+
def extract_cmd_options(options)
|
16
|
+
ret = {}
|
17
|
+
a = options[:pdfencryptionlength] and ret["--encryption-length"] = a
|
18
|
+
a = options[:pdfownerpassword] and ret["--owner-password"] = a
|
19
|
+
a = options[:pdfuserpassword] and ret["--user-password"] = a
|
20
|
+
a = options[:pdfallowprint] and ret["--allow-print"] = a
|
21
|
+
a = options[:pdfallowcopycontent] and ret["--allow-copy-content"] = a
|
22
|
+
a = options[:pdfalloweditcontent] and ret["--allow-edit-content"] = a
|
23
|
+
a = options[:pdfalloweditannotations] and
|
24
|
+
ret["--allow-edit-annotations"] = a
|
25
|
+
a = options[:pdfallowfillinforms] and ret["--allow-fill-in-forms"] = a
|
26
|
+
a = options[:pdfallowaccesscontent] and
|
27
|
+
ret["--allow-access-content"] = a
|
28
|
+
a = options[:pdfallowassembledocument] and
|
29
|
+
ret["--allow-assemble-document"] = a
|
30
|
+
a = options[:pdfallowprinthq] and ret["--allow-print-hq"] = a
|
31
|
+
a = options[:pdfencryptmetadata] and ret["--encrypt-metadata"] = a
|
32
|
+
ret
|
33
|
+
end
|
34
|
+
|
14
35
|
def tmpimagedir_suffix
|
15
36
|
"_pdfimages"
|
16
37
|
end
|
@@ -29,7 +50,7 @@ module IsoDoc
|
|
29
50
|
@aligncrosselements.gsub(/,/, " ")
|
30
51
|
@baseassetpath and
|
31
52
|
ret["--param baseassetpath="] = @baseassetpath
|
32
|
-
ret
|
53
|
+
ret.merge(@pdf_cmd_options)
|
33
54
|
end
|
34
55
|
|
35
56
|
def convert(input_filename, file = nil, debug = false,
|
@@ -37,6 +58,7 @@ module IsoDoc
|
|
37
58
|
file = File.read(input_filename, encoding: "utf-8") if file.nil?
|
38
59
|
input_filename, docxml, filename = input_xml_path(input_filename,
|
39
60
|
file, debug)
|
61
|
+
warn pdf_options(docxml).merge(@options)
|
40
62
|
::Metanorma::Output::XslfoPdf.new.convert(
|
41
63
|
input_filename,
|
42
64
|
output_filename || "#{filename}.#{@suffix}",
|
data/spec/isodoc/cleanup_spec.rb
CHANGED
@@ -1053,133 +1053,4 @@ RSpec.describe IsoDoc do
|
|
1053
1053
|
</html>
|
1054
1054
|
OUTPUT
|
1055
1055
|
end
|
1056
|
-
|
1057
|
-
it "cleans up term sources" do
|
1058
|
-
c = IsoDoc::HtmlConvert.new({ i18nyaml: "spec/assets/i18n.yaml" })
|
1059
|
-
c.i18n_init("en", "Latn")
|
1060
|
-
expect(xmlpp(c.textcleanup(<<~"INPUT").to_s)).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
1061
|
-
#{HTML_HDR}
|
1062
|
-
<p class="zzSTDTitle1"/>
|
1063
|
-
<div id="_terms_and_definitions"><h1>1.  Terms and Definitions</h1><p>For the purposes of this document,
|
1064
|
-
the following terms and definitions apply.</p>
|
1065
|
-
<p class="TermNum" id="paddy1">1.1.</p><p class="Terms" style="text-align:left;">paddy</p>
|
1066
|
-
<p id="_eb29b35e-123e-4d1c-b50b-2714d41e747f"><rice> rice retaining its husk after threshing</p>
|
1067
|
-
<div id="_bd57bbf1-f948-4bae-b0ce-73c00431f892" class="example"><p class="example-title">EXAMPLE 1</p>
|
1068
|
-
<p id="_65c9a509-9a89-4b54-a890-274126aeb55c">Foreign seeds, husks, bran, sand, dust.</p>
|
1069
|
-
<ul>
|
1070
|
-
<li>A</li>
|
1071
|
-
</ul>
|
1072
|
-
</div>
|
1073
|
-
<div id="_bd57bbf1-f948-4bae-b0ce-73c00431f894" class="example"><p class="example-title">EXAMPLE 2</p>
|
1074
|
-
<ul>
|
1075
|
-
<li>A</li>
|
1076
|
-
</ul>
|
1077
|
-
</div>
|
1078
|
-
<p>[TERMREF]
|
1079
|
-
<a href="#ISO7301">ISO 7301:2011, Clause 3.1</a>
|
1080
|
-
[MODIFICATION]The term "cargo rice" is shown as deprecated, and Note 1 to entry is not included here
|
1081
|
-
[/TERMREF]</p>
|
1082
|
-
<p>[TERMREF] Termbase IEV, term ID xyz [/TERMREF]</p>
|
1083
|
-
<p>[TERMREF] Termbase IEV, term ID xyz [MODIFICATION] [/TERMREF]</p>
|
1084
|
-
<p>[TERMREF] Termbase IEV, term ID xyz [MODIFICATION]with adjustments [/TERMREF]</p>
|
1085
|
-
<p class="TermNum" id="paddy">1.2.</p><p class="Terms" style="text-align:left;">paddy</p><p class="AltTerms" style="text-align:left;">paddy rice</p>
|
1086
|
-
<p class="AltTerms" style="text-align:left;">rough rice</p>
|
1087
|
-
<p class="DeprecatedTerms" style="text-align:left;">DEPRECATED: cargo rice</p>
|
1088
|
-
<p id="_eb29b35e-123e-4d1c-b50b-2714d41e747f">rice retaining its husk after threshing</p>
|
1089
|
-
<div id="_bd57bbf1-f948-4bae-b0ce-73c00431f893" class="example"><p class="example-title">EXAMPLE</p>
|
1090
|
-
<ul>
|
1091
|
-
<li>A</li>
|
1092
|
-
</ul>
|
1093
|
-
</div>
|
1094
|
-
<div class="Note"><p>Note 1 to entry: The starch of waxy rice consists almost entirely of amylopectin. The kernels have a tendency to stick together after cooking.</p></div>
|
1095
|
-
<div class="Note"><p>Note 2 to entry: <ul><li>A</li></ul><p id="_19830f33-e46c-42cc-94ca-a5ef101132d5">The starch of waxy rice consists almost entirely of amylopectin. The kernels have a tendency to stick together after cooking.</p></p></div>
|
1096
|
-
<p>[TERMREF]
|
1097
|
-
<a href="#ISO7301">ISO 7301:2011, Clause 3.1</a>
|
1098
|
-
[/TERMREF]</p></div>
|
1099
|
-
</div>
|
1100
|
-
</body>
|
1101
|
-
</html>
|
1102
|
-
INPUT
|
1103
|
-
<html xmlns:epub='http://www.idpf.org/2007/ops' lang='en'>
|
1104
|
-
<head/>
|
1105
|
-
<body lang='en'>
|
1106
|
-
<div class='title-section'>
|
1107
|
-
<p> </p>
|
1108
|
-
</div>
|
1109
|
-
<br/>
|
1110
|
-
<div class='prefatory-section'>
|
1111
|
-
<p> </p>
|
1112
|
-
</div>
|
1113
|
-
<br/>
|
1114
|
-
<div class='main-section'>
|
1115
|
-
<p class='zzSTDTitle1'/>
|
1116
|
-
<div id='_terms_and_definitions'>
|
1117
|
-
<h1>1.  Terms and Definitions</h1>
|
1118
|
-
<p>For the purposes of this document, the following terms and definitions apply.</p>
|
1119
|
-
<p class='TermNum' id='paddy1'>1.1.</p>
|
1120
|
-
<p class='Terms' style='text-align:left;'>paddy</p>
|
1121
|
-
<p id='_eb29b35e-123e-4d1c-b50b-2714d41e747f'><rice> rice retaining its husk after threshing</p>
|
1122
|
-
<div id='_bd57bbf1-f948-4bae-b0ce-73c00431f892' class='example'>
|
1123
|
-
<p class='example-title'>EXAMPLE 1</p>
|
1124
|
-
<p id='_65c9a509-9a89-4b54-a890-274126aeb55c'>Foreign seeds, husks, bran, sand, dust.</p>
|
1125
|
-
<ul>
|
1126
|
-
<li>A</li>
|
1127
|
-
</ul>
|
1128
|
-
</div>
|
1129
|
-
<div id='_bd57bbf1-f948-4bae-b0ce-73c00431f894' class='example'>
|
1130
|
-
<p class='example-title'>EXAMPLE 2</p>
|
1131
|
-
<ul>
|
1132
|
-
<li>A</li>
|
1133
|
-
</ul>
|
1134
|
-
</div>
|
1135
|
-
<p>
|
1136
|
-
[SOURCE:
|
1137
|
-
<a href='#ISO7301'>ISO 7301:2011, Clause 3.1</a>
|
1138
|
-
, modified — The term "cargo rice" is shown as deprecated, and
|
1139
|
-
Note 1 to entry is not included here; Termbase IEV, term ID xyz;
|
1140
|
-
Termbase IEV, term ID xyz, modified; Termbase IEV, term ID xyz,
|
1141
|
-
modified — with adjustments]
|
1142
|
-
</p>
|
1143
|
-
<p class='TermNum' id='paddy'>1.2.</p>
|
1144
|
-
<p class='Terms' style='text-align:left;'>paddy</p>
|
1145
|
-
<p class='AltTerms' style='text-align:left;'>paddy rice</p>
|
1146
|
-
<p class='AltTerms' style='text-align:left;'>rough rice</p>
|
1147
|
-
<p class='DeprecatedTerms' style='text-align:left;'>DEPRECATED: cargo rice</p>
|
1148
|
-
<p id='_eb29b35e-123e-4d1c-b50b-2714d41e747f'>rice retaining its husk after threshing</p>
|
1149
|
-
<div id='_bd57bbf1-f948-4bae-b0ce-73c00431f893' class='example'>
|
1150
|
-
<p class='example-title'>EXAMPLE</p>
|
1151
|
-
<ul>
|
1152
|
-
<li>A</li>
|
1153
|
-
</ul>
|
1154
|
-
</div>
|
1155
|
-
<div class='Note'>
|
1156
|
-
<p>
|
1157
|
-
Note 1 to entry: The starch of waxy rice consists almost entirely of
|
1158
|
-
amylopectin. The kernels have a tendency to stick together after
|
1159
|
-
cooking.
|
1160
|
-
</p>
|
1161
|
-
</div>
|
1162
|
-
<div class='Note'>
|
1163
|
-
<p>
|
1164
|
-
Note 2 to entry:
|
1165
|
-
<ul>
|
1166
|
-
<li>A</li>
|
1167
|
-
</ul>
|
1168
|
-
<p id='_19830f33-e46c-42cc-94ca-a5ef101132d5'>
|
1169
|
-
The starch of waxy rice consists almost entirely of amylopectin.
|
1170
|
-
The kernels have a tendency to stick together after cooking.
|
1171
|
-
</p>
|
1172
|
-
</p>
|
1173
|
-
</div>
|
1174
|
-
<p>
|
1175
|
-
[SOURCE:
|
1176
|
-
<a href='#ISO7301'>ISO 7301:2011, Clause 3.1</a>
|
1177
|
-
]
|
1178
|
-
</p>
|
1179
|
-
</div>
|
1180
|
-
</div>
|
1181
|
-
</body>
|
1182
|
-
</html>
|
1183
|
-
OUTPUT
|
1184
|
-
end
|
1185
1056
|
end
|
data/spec/isodoc/i18n_spec.rb
CHANGED
@@ -1082,6 +1082,44 @@ RSpec.describe IsoDoc do
|
|
1082
1082
|
.to be_equivalent_to xmlpp(output)
|
1083
1083
|
end
|
1084
1084
|
|
1085
|
+
it "processes LTR within RTL" do
|
1086
|
+
c = IsoDoc::Convert.new({})
|
1087
|
+
c.convert_init(<<~"INPUT", "test", false)
|
1088
|
+
<iso-standard xmlns="http://riboseinc.com/isoxml">
|
1089
|
+
<bibdata type="standard">
|
1090
|
+
<language>fa</language>
|
1091
|
+
<script>Arab</script>
|
1092
|
+
</bibdata>
|
1093
|
+
</iso-standard>
|
1094
|
+
INPUT
|
1095
|
+
expect(c.i18n.l10n("hello!", "en", "Latn")).to eq "‎hello!‎"
|
1096
|
+
end
|
1097
|
+
|
1098
|
+
it "processes Hebrew RTL within LTR" do
|
1099
|
+
c = IsoDoc::Convert.new({})
|
1100
|
+
c.convert_init(<<~"INPUT", "test", false)
|
1101
|
+
<iso-standard xmlns="http://riboseinc.com/isoxml">
|
1102
|
+
<bibdata type="standard">
|
1103
|
+
<language>en</language>
|
1104
|
+
</bibdata>
|
1105
|
+
</iso-standard>
|
1106
|
+
INPUT
|
1107
|
+
expect(c.i18n.l10n("hello!", "he", "Hebr")).to eq "‏hello!‏"
|
1108
|
+
end
|
1109
|
+
|
1110
|
+
it "processes Arabic RTL within LTR" do
|
1111
|
+
c = IsoDoc::Convert.new({})
|
1112
|
+
c.convert_init(<<~"INPUT", "test", false)
|
1113
|
+
<iso-standard xmlns="http://riboseinc.com/isoxml">
|
1114
|
+
<bibdata type="standard">
|
1115
|
+
<language>en</language>
|
1116
|
+
</bibdata>
|
1117
|
+
</iso-standard>
|
1118
|
+
INPUT
|
1119
|
+
expect(c.i18n.l10n("hello!", "fa", "Arab")).to eq "؜hello!؜"
|
1120
|
+
end
|
1121
|
+
|
1122
|
+
|
1085
1123
|
private
|
1086
1124
|
|
1087
1125
|
def mock_i18n
|
data/spec/isodoc/inline_spec.rb
CHANGED
@@ -671,7 +671,7 @@ RSpec.describe IsoDoc do
|
|
671
671
|
<title depth='1'>1.<tab/>Terms and definitions</title>
|
672
672
|
<term id='second'>
|
673
673
|
<name>1.1.</name>
|
674
|
-
<preferred><strong>Second Term
|
674
|
+
<preferred><strong>Second Term</strong>, <Field, Usage Info 1></preferred>
|
675
675
|
<definition>Definition 1</definition>
|
676
676
|
</term>
|
677
677
|
<term id='C'>
|
@@ -446,42 +446,6 @@ RSpec.describe IsoDoc do
|
|
446
446
|
OUTPUT
|
447
447
|
end
|
448
448
|
|
449
|
-
it "populates Word template with terms reference labels" do
|
450
|
-
FileUtils.rm_f "test.doc"
|
451
|
-
FileUtils.rm_f "test.html"
|
452
|
-
IsoDoc::WordConvert.new(
|
453
|
-
{ wordstylesheet: "spec/assets/word.css",
|
454
|
-
htmlstylesheet: "spec/assets/html.scss" },
|
455
|
-
).convert("test", <<~"INPUT", false)
|
456
|
-
<iso-standard xmlns="http://riboseinc.com/isoxml">
|
457
|
-
<sections>
|
458
|
-
<terms id="_terms_and_definitions" obligation="normative"><title>1.<tab/>Terms and Definitions</title>
|
459
|
-
<term id="paddy1"><name>1.1.</name><preferred>paddy</preferred>
|
460
|
-
<definition><p id="_eb29b35e-123e-4d1c-b50b-2714d41e747f">rice retaining its husk after threshing</p></definition>
|
461
|
-
<termsource status="modified">
|
462
|
-
<origin bibitemid="ISO7301" type="inline" citeas="ISO 7301:2011">ISO 7301:2011, Clause 3.1</origin>
|
463
|
-
<modification>
|
464
|
-
<p id="_e73a417d-ad39-417d-a4c8-20e4e2529489">The term "cargo rice" is shown as deprecated, and Note 1 to entry is not included here</p>
|
465
|
-
</modification>
|
466
|
-
</termsource></term>
|
467
|
-
</terms>
|
468
|
-
</sections>
|
469
|
-
</iso-standard>
|
470
|
-
INPUT
|
471
|
-
word = File.read("test.doc")
|
472
|
-
.sub(/^.*<div class="WordSection3">/m, '<div class="WordSection3">')
|
473
|
-
.sub(%r{<div style="mso-element:footnote-list"/>.*$}m, "")
|
474
|
-
expect(xmlpp(word)).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
475
|
-
<div class="WordSection3">
|
476
|
-
<p class="zzSTDTitle1"></p>
|
477
|
-
<div><a name="_terms_and_definitions" id="_terms_and_definitions"></a><h1>1.<span style="mso-tab-count:1">  </span>Terms and Definitions</h1>
|
478
|
-
<p class="TermNum"><a name="paddy1" id="paddy1"></a>1.1.</p><p class="Terms" style="text-align:left;">paddy</p>
|
479
|
-
<p class="MsoNormal"><a name="_eb29b35e-123e-4d1c-b50b-2714d41e747f" id="_eb29b35e-123e-4d1c-b50b-2714d41e747f"></a>rice retaining its husk after threshing</p>
|
480
|
-
<p class="MsoNormal">[SOURCE: <a href="#ISO7301">ISO 7301:2011, Clause 3.1</a>, modified — The term "cargo rice" is shown as deprecated, and Note 1 to entry is not included here]</p></div>
|
481
|
-
</div>
|
482
|
-
OUTPUT
|
483
|
-
end
|
484
|
-
|
485
449
|
it "populates Word header" do
|
486
450
|
FileUtils.rm_f "test.doc"
|
487
451
|
IsoDoc::WordConvert.new(
|
@@ -1220,43 +1184,6 @@ RSpec.describe IsoDoc do
|
|
1220
1184
|
expect(html).to match(%r{<h2 class="TermNum" id="paddy">1\.2\.</h2>})
|
1221
1185
|
end
|
1222
1186
|
|
1223
|
-
it "processes empty term modifications" do
|
1224
|
-
FileUtils.rm_f "test.html"
|
1225
|
-
FileUtils.rm_f "test.doc"
|
1226
|
-
IsoDoc::HtmlConvert.new(options)
|
1227
|
-
.convert("test", <<~"INPUT", false)
|
1228
|
-
<iso-standard xmlns="http://riboseinc.com/isoxml">
|
1229
|
-
<sections>
|
1230
|
-
<terms id="_terms_and_definitions" obligation="normative"><title>Terms and Definitions</title>
|
1231
|
-
<term id="paddy1"><preferred>paddy</preferred>
|
1232
|
-
<domain>rice</domain>
|
1233
|
-
<definition><p id="_eb29b35e-123e-4d1c-b50b-2714d41e747f">rice retaining its husk after threshing</p></definition>
|
1234
|
-
<termexample id="_bd57bbf1-f948-4bae-b0ce-73c00431f892">
|
1235
|
-
<p id="_65c9a509-9a89-4b54-a890-274126aeb55c">Foreign seeds, husks, bran, sand, dust.</p>
|
1236
|
-
<ul>
|
1237
|
-
<li>A</li>
|
1238
|
-
</ul>
|
1239
|
-
</termexample>
|
1240
|
-
<termexample id="_bd57bbf1-f948-4bae-b0ce-73c00431f894">
|
1241
|
-
<ul>
|
1242
|
-
<li>A</li>
|
1243
|
-
</ul>
|
1244
|
-
</termexample>
|
1245
|
-
<termsource status="modified">
|
1246
|
-
<origin bibitemid="ISO7301" type="inline" citeas="ISO 7301:2011">ISO 7301:2011, Clause 3.1</origin>
|
1247
|
-
<modification>
|
1248
|
-
<p id="_e73a417d-ad39-417d-a4c8-20e4e2529489"/>
|
1249
|
-
</modification>
|
1250
|
-
</termsource></term>
|
1251
|
-
</terms>
|
1252
|
-
</sections>
|
1253
|
-
</iso-standard>
|
1254
|
-
INPUT
|
1255
|
-
expect(File.exist?("test.html")).to be true
|
1256
|
-
html = File.read("test.html")
|
1257
|
-
expect(html).to include '[SOURCE: <a href="#ISO7301">ISO 7301:2011, Clause 3.1</a>, modified]'
|
1258
|
-
end
|
1259
|
-
|
1260
1187
|
it "creates continuation styles for multiparagraph list items in Word" do
|
1261
1188
|
FileUtils.rm_f "test.doc"
|
1262
1189
|
FileUtils.rm_f "test.html"
|