oddb2xml 2.7.1 → 2.7.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +1 -2
- data/.standard.yml +2 -0
- data/Gemfile +3 -3
- data/History.txt +24 -0
- data/README.md +3 -3
- data/Rakefile +24 -23
- data/bin/check_artikelstamm +11 -11
- data/bin/compare_v5 +23 -23
- data/bin/oddb2xml +14 -13
- data/lib/oddb2xml/builder.rb +1070 -1038
- data/lib/oddb2xml/calc.rb +232 -233
- data/lib/oddb2xml/chapter_70_hack.rb +38 -32
- data/lib/oddb2xml/cli.rb +252 -236
- data/lib/oddb2xml/compare.rb +70 -59
- data/lib/oddb2xml/compositions_syntax.rb +451 -430
- data/lib/oddb2xml/compressor.rb +20 -20
- data/lib/oddb2xml/downloader.rb +157 -129
- data/lib/oddb2xml/extractor.rb +295 -295
- data/lib/oddb2xml/options.rb +34 -35
- data/lib/oddb2xml/parslet_compositions.rb +265 -269
- data/lib/oddb2xml/semantic_check.rb +39 -33
- data/lib/oddb2xml/util.rb +163 -163
- data/lib/oddb2xml/version.rb +1 -1
- data/lib/oddb2xml/xml_definitions.rb +32 -33
- data/lib/oddb2xml.rb +1 -1
- data/oddb2xml.gemspec +34 -34
- data/shell.nix +17 -0
- data/spec/artikelstamm_spec.rb +111 -110
- data/spec/builder_spec.rb +490 -505
- data/spec/calc_spec.rb +552 -593
- data/spec/check_artikelstamm_spec.rb +26 -26
- data/spec/cli_spec.rb +173 -174
- data/spec/compare_spec.rb +9 -11
- data/spec/composition_syntax_spec.rb +390 -409
- data/spec/compressor_spec.rb +48 -48
- data/spec/data/transfer.dat +1 -0
- data/spec/data_helper.rb +47 -49
- data/spec/downloader_spec.rb +251 -260
- data/spec/extractor_spec.rb +171 -159
- data/spec/fixtures/vcr_cassettes/oddb2xml.json +1 -1
- data/spec/galenic_spec.rb +233 -256
- data/spec/options_spec.rb +116 -119
- data/spec/parslet_spec.rb +896 -863
- data/spec/spec_helper.rb +153 -153
- data/test_options.rb +39 -42
- data/tools/win_fetch_cacerts.rb +2 -3
- metadata +42 -12
data/spec/options_spec.rb
CHANGED
@@ -1,195 +1,192 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
require 'spec_helper'
|
1
|
+
require "spec_helper"
|
4
2
|
require "#{Dir.pwd}/lib/oddb2xml/options"
|
5
3
|
|
4
|
+
Oddb2xml::DEFAULT_OPTS = {
|
5
|
+
fi: false,
|
6
|
+
address: false,
|
7
|
+
artikelstamm: false,
|
8
|
+
nonpharma: false,
|
9
|
+
extended: false,
|
10
|
+
compress_ext: nil,
|
11
|
+
format: :xml,
|
12
|
+
calc: false,
|
13
|
+
tag_suffix: nil,
|
14
|
+
ean14: false,
|
15
|
+
skip_download: false,
|
16
|
+
log: false,
|
17
|
+
percent: nil,
|
18
|
+
use_ra11zip: nil
|
19
|
+
}
|
20
|
+
|
6
21
|
describe Oddb2xml::Options do
|
7
22
|
include ServerMockHelper
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
:artikelstamm => false,
|
12
|
-
:nonpharma => false,
|
13
|
-
:extended => false,
|
14
|
-
:compress_ext => nil,
|
15
|
-
:format => :xml,
|
16
|
-
:calc => false,
|
17
|
-
:tag_suffix => nil,
|
18
|
-
:ean14 => false,
|
19
|
-
:skip_download=> false,
|
20
|
-
:log => false,
|
21
|
-
:percent => nil,
|
22
|
-
:use_ra11zip => nil,
|
23
|
-
}
|
24
|
-
context 'when no options is passed' do
|
25
|
-
test_opts = Oddb2xml::Options.parse('-a')
|
26
|
-
opts = Default_opts.clone
|
23
|
+
context "when no options is passed" do
|
24
|
+
test_opts = Oddb2xml::Options.parse("-a")
|
25
|
+
opts = Oddb2xml::DEFAULT_OPTS.clone
|
27
26
|
opts[:nonpharma] = true
|
28
27
|
specify { expect(test_opts).to eq opts }
|
29
28
|
end
|
30
29
|
|
31
|
-
context
|
32
|
-
test_opts = Oddb2xml::Options.parse(
|
33
|
-
specify { expect(test_opts[:compress_ext]).to eq(
|
34
|
-
expected =
|
35
|
-
expected[:compress_ext] =
|
30
|
+
context "when -c tar.gz option is given" do
|
31
|
+
test_opts = Oddb2xml::Options.parse("-c tar.gz")
|
32
|
+
specify { expect(test_opts[:compress_ext]).to eq("tar.gz") }
|
33
|
+
expected = Oddb2xml::DEFAULT_OPTS.clone
|
34
|
+
expected[:compress_ext] = "tar.gz"
|
36
35
|
specify { expect(test_opts).to eq expected }
|
37
36
|
end
|
38
37
|
|
39
|
-
context
|
40
|
-
test_opts = Oddb2xml::Options.parse(
|
41
|
-
expected =
|
42
|
-
expected[:compress_ext] =
|
38
|
+
context "when -c tar.gz option --skip-download is given" do
|
39
|
+
test_opts = Oddb2xml::Options.parse("-c tar.gz --skip-download")
|
40
|
+
expected = Oddb2xml::DEFAULT_OPTS.clone
|
41
|
+
expected[:compress_ext] = "tar.gz"
|
43
42
|
expected[:skip_download] = true
|
44
43
|
specify { expect(test_opts).to eq expected }
|
45
44
|
end
|
46
45
|
|
47
|
-
context
|
48
|
-
test_opts = Oddb2xml::Options.parse(
|
49
|
-
expected =
|
50
|
-
expected[:compress_ext] =
|
46
|
+
context "when -c tar.gz option --skip-download is given" do
|
47
|
+
test_opts = Oddb2xml::Options.parse("-c tar.gz --skip-download")
|
48
|
+
expected = Oddb2xml::DEFAULT_OPTS.clone
|
49
|
+
expected[:compress_ext] = "tar.gz"
|
51
50
|
expected[:skip_download] = true
|
52
51
|
specify { expect(test_opts).to eq expected }
|
53
52
|
end
|
54
53
|
|
55
|
-
context
|
56
|
-
test_opts = Oddb2xml::Options.parse(
|
57
|
-
expected =
|
58
|
-
expected[:nonpharma] =
|
54
|
+
context "when -a is given" do
|
55
|
+
test_opts = Oddb2xml::Options.parse("-a")
|
56
|
+
expected = Oddb2xml::DEFAULT_OPTS.clone
|
57
|
+
expected[:nonpharma] = true
|
59
58
|
specify { expect(test_opts).to eq expected }
|
60
59
|
end
|
61
60
|
|
62
|
-
context
|
63
|
-
test_opts = Oddb2xml::Options.parse(
|
64
|
-
expected =
|
65
|
-
expected[:nonpharma] =
|
61
|
+
context "when --append is given" do
|
62
|
+
test_opts = Oddb2xml::Options.parse("--append ")
|
63
|
+
expected = Oddb2xml::DEFAULT_OPTS.clone
|
64
|
+
expected[:nonpharma] = true
|
66
65
|
specify { expect(test_opts).to eq expected }
|
67
66
|
end
|
68
67
|
|
69
|
-
context
|
70
|
-
test_opts = Oddb2xml::Options.parse(
|
71
|
-
expected =
|
72
|
-
expected[:extended]
|
73
|
-
expected[:nonpharma] =
|
74
|
-
expected[:calc]
|
75
|
-
expected[:price]
|
68
|
+
context "when -e is given" do
|
69
|
+
test_opts = Oddb2xml::Options.parse("-e")
|
70
|
+
expected = Oddb2xml::DEFAULT_OPTS.clone
|
71
|
+
expected[:extended] = true
|
72
|
+
expected[:nonpharma] = true
|
73
|
+
expected[:calc] = true
|
74
|
+
expected[:price] = :zurrose
|
76
75
|
specify { expect(test_opts).to eq expected }
|
77
76
|
end
|
78
77
|
|
79
|
-
context
|
80
|
-
test_opts = Oddb2xml::Options.parse(
|
81
|
-
expected =
|
82
|
-
expected[:extended]
|
83
|
-
expected[:nonpharma] =
|
84
|
-
expected[:calc]
|
85
|
-
expected[:price]
|
86
|
-
expected[:percent]
|
78
|
+
context "when -e -I 80 is given" do
|
79
|
+
test_opts = Oddb2xml::Options.parse("-e -I 80")
|
80
|
+
expected = Oddb2xml::DEFAULT_OPTS.clone
|
81
|
+
expected[:extended] = true
|
82
|
+
expected[:nonpharma] = true
|
83
|
+
expected[:calc] = true
|
84
|
+
expected[:price] = :zurrose
|
85
|
+
expected[:percent] = 80
|
87
86
|
specify { expect(test_opts).to eq expected }
|
88
87
|
end
|
89
88
|
|
90
|
-
context
|
91
|
-
test_opts = Oddb2xml::Options.parse(
|
92
|
-
expected =
|
93
|
-
expected[:format]
|
89
|
+
context "when -f dat is given" do
|
90
|
+
test_opts = Oddb2xml::Options.parse("-f dat")
|
91
|
+
expected = Oddb2xml::DEFAULT_OPTS.clone
|
92
|
+
expected[:format] = :dat
|
94
93
|
specify { expect(test_opts).to eq expected }
|
95
94
|
end
|
96
95
|
|
97
|
-
context
|
98
|
-
test_opts = Oddb2xml::Options.parse(
|
99
|
-
expected =
|
100
|
-
expected[:format]
|
96
|
+
context "when -f dat -I 80 is given" do
|
97
|
+
test_opts = Oddb2xml::Options.parse("-f dat -I 80")
|
98
|
+
expected = Oddb2xml::DEFAULT_OPTS.clone
|
99
|
+
expected[:format] = :dat
|
101
100
|
expected[:percent] = 80
|
102
|
-
expected[:price]
|
101
|
+
expected[:price] = :zurrose
|
103
102
|
specify { expect(test_opts).to eq expected }
|
104
103
|
end
|
105
104
|
|
106
|
-
context
|
107
|
-
test_opts = Oddb2xml::Options.parse(
|
108
|
-
expected =
|
109
|
-
expected[:percent]
|
110
|
-
expected[:price]
|
105
|
+
context "when -I 80 is given" do
|
106
|
+
test_opts = Oddb2xml::Options.parse("-I 80")
|
107
|
+
expected = Oddb2xml::DEFAULT_OPTS.clone
|
108
|
+
expected[:percent] = 80
|
109
|
+
expected[:price] = :zurrose
|
111
110
|
specify { expect(test_opts).to eq expected }
|
112
111
|
end
|
113
112
|
|
114
|
-
context
|
115
|
-
test_opts = Oddb2xml::Options.parse(
|
116
|
-
expected =
|
117
|
-
expected[:fi]
|
113
|
+
context "when -o is given" do
|
114
|
+
test_opts = Oddb2xml::Options.parse("-o")
|
115
|
+
expected = Oddb2xml::DEFAULT_OPTS.clone
|
116
|
+
expected[:fi] = true
|
118
117
|
specify { expect(test_opts).to eq expected }
|
119
118
|
end
|
120
119
|
|
121
|
-
context
|
122
|
-
test_opts = Oddb2xml::Options.parse(
|
123
|
-
expected =
|
124
|
-
expected[:ean14]
|
120
|
+
context "when -i ean14 is given" do
|
121
|
+
test_opts = Oddb2xml::Options.parse("-i ean14")
|
122
|
+
expected = Oddb2xml::DEFAULT_OPTS.clone
|
123
|
+
expected[:ean14] = true
|
125
124
|
specify { expect(test_opts).to eq expected }
|
126
125
|
end
|
127
126
|
|
128
|
-
context
|
129
|
-
test_opts = Oddb2xml::Options.parse(
|
130
|
-
expected =
|
131
|
-
expected[:address]
|
127
|
+
context "when -x addr is given" do
|
128
|
+
test_opts = Oddb2xml::Options.parse("-x addr")
|
129
|
+
expected = Oddb2xml::DEFAULT_OPTS.clone
|
130
|
+
expected[:address] = true
|
132
131
|
specify { expect(test_opts).to eq expected }
|
133
132
|
end
|
134
133
|
|
135
|
-
context
|
136
|
-
test_opts = Oddb2xml::Options.parse(
|
137
|
-
expected =
|
138
|
-
expected[:price]
|
134
|
+
context "when -p zurrose is given" do
|
135
|
+
test_opts = Oddb2xml::Options.parse("-p zurrose")
|
136
|
+
expected = Oddb2xml::DEFAULT_OPTS.clone
|
137
|
+
expected[:price] = :zurrose
|
139
138
|
specify { expect(test_opts).to eq expected }
|
140
139
|
end
|
141
140
|
|
142
|
-
context
|
143
|
-
test_opts = Oddb2xml::Options.parse(
|
144
|
-
expected =
|
145
|
-
expected[:fi]
|
146
|
-
expected[:log]
|
141
|
+
context "when -o fi --log is given" do
|
142
|
+
test_opts = Oddb2xml::Options.parse("-o fi --log")
|
143
|
+
expected = Oddb2xml::DEFAULT_OPTS.clone
|
144
|
+
expected[:fi] = true
|
145
|
+
expected[:log] = true
|
147
146
|
specify { expect(test_opts).to eq expected }
|
148
147
|
end
|
149
148
|
|
150
|
-
context
|
151
|
-
args =
|
149
|
+
context "when -a nonpharma -p zurrose is given" do
|
150
|
+
args = "-a nonpharma -p zurrose"
|
152
151
|
test_opts = Oddb2xml::Options.parse(args) # .should raise
|
153
|
-
expected =
|
154
|
-
expected[:price]
|
155
|
-
expected[:nonpharma]
|
152
|
+
expected = Oddb2xml::DEFAULT_OPTS.clone
|
153
|
+
expected[:price] = :zurrose
|
154
|
+
expected[:nonpharma] = true
|
156
155
|
specify { expect(test_opts).to eq expected }
|
157
156
|
end
|
158
157
|
|
159
|
-
context
|
160
|
-
args =
|
158
|
+
context "when --artikelstamm is given" do
|
159
|
+
args = "--artikelstamm"
|
161
160
|
test_opts = Oddb2xml::Options.parse(args) # .should raise
|
162
|
-
expected =
|
163
|
-
expected[:price]
|
164
|
-
expected[:extended]
|
165
|
-
expected[:artikelstamm]
|
161
|
+
expected = Oddb2xml::DEFAULT_OPTS.clone
|
162
|
+
expected[:price] = :zurrose
|
163
|
+
expected[:extended] = true
|
164
|
+
expected[:artikelstamm] = true
|
166
165
|
specify { expect(test_opts).to eq expected }
|
167
166
|
end
|
168
167
|
|
169
|
-
context
|
170
|
-
test_opts = Oddb2xml::Options.parse(
|
171
|
-
specify { expect(test_opts[:compress_ext]).to eq(
|
172
|
-
expected =
|
173
|
-
expected[:compress_ext] =
|
168
|
+
context "when -c tar.gz option is given" do
|
169
|
+
test_opts = Oddb2xml::Options.parse("-c tar.gz")
|
170
|
+
specify { expect(test_opts[:compress_ext]).to eq("tar.gz") }
|
171
|
+
expected = Oddb2xml::DEFAULT_OPTS.clone
|
172
|
+
expected[:compress_ext] = "tar.gz"
|
174
173
|
specify { expect(test_opts).to eq expected }
|
175
174
|
end
|
176
175
|
|
177
|
-
context
|
178
|
-
test_opts = Oddb2xml::Options.parse(
|
179
|
-
expected =
|
180
|
-
expected[:use_ra11zip] =
|
176
|
+
context "when --use-ra11zip is given" do
|
177
|
+
test_opts = Oddb2xml::Options.parse(" --use-ra11zip some_other_zip")
|
178
|
+
expected = Oddb2xml::DEFAULT_OPTS.clone
|
179
|
+
expected[:use_ra11zip] = "some_other_zip"
|
181
180
|
# expected[:price] = :zurrose
|
182
181
|
# expected[:extended] = true
|
183
182
|
# expected[:artikelstamm] = true
|
184
183
|
specify { expect(test_opts).to eq expected }
|
185
184
|
end
|
186
185
|
|
187
|
-
context
|
188
|
-
test_opts = Oddb2xml::Options.parse(
|
189
|
-
expected =
|
190
|
-
expected[:tag_suffix]
|
186
|
+
context "when -t swiss is given" do
|
187
|
+
test_opts = Oddb2xml::Options.parse("-t swiss")
|
188
|
+
expected = Oddb2xml::DEFAULT_OPTS.clone
|
189
|
+
expected[:tag_suffix] = "swiss"
|
191
190
|
specify { expect(test_opts).to eq expected }
|
192
191
|
end
|
193
|
-
|
194
192
|
end
|
195
|
-
|