oddb2xml 2.7.1 → 2.7.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +1 -2
  3. data/.standard.yml +2 -0
  4. data/Gemfile +3 -3
  5. data/History.txt +24 -0
  6. data/README.md +3 -3
  7. data/Rakefile +24 -23
  8. data/bin/check_artikelstamm +11 -11
  9. data/bin/compare_v5 +23 -23
  10. data/bin/oddb2xml +14 -13
  11. data/lib/oddb2xml/builder.rb +1070 -1038
  12. data/lib/oddb2xml/calc.rb +232 -233
  13. data/lib/oddb2xml/chapter_70_hack.rb +38 -32
  14. data/lib/oddb2xml/cli.rb +252 -236
  15. data/lib/oddb2xml/compare.rb +70 -59
  16. data/lib/oddb2xml/compositions_syntax.rb +451 -430
  17. data/lib/oddb2xml/compressor.rb +20 -20
  18. data/lib/oddb2xml/downloader.rb +157 -129
  19. data/lib/oddb2xml/extractor.rb +295 -295
  20. data/lib/oddb2xml/options.rb +34 -35
  21. data/lib/oddb2xml/parslet_compositions.rb +265 -269
  22. data/lib/oddb2xml/semantic_check.rb +39 -33
  23. data/lib/oddb2xml/util.rb +163 -163
  24. data/lib/oddb2xml/version.rb +1 -1
  25. data/lib/oddb2xml/xml_definitions.rb +32 -33
  26. data/lib/oddb2xml.rb +1 -1
  27. data/oddb2xml.gemspec +34 -34
  28. data/shell.nix +17 -0
  29. data/spec/artikelstamm_spec.rb +111 -110
  30. data/spec/builder_spec.rb +490 -505
  31. data/spec/calc_spec.rb +552 -593
  32. data/spec/check_artikelstamm_spec.rb +26 -26
  33. data/spec/cli_spec.rb +173 -174
  34. data/spec/compare_spec.rb +9 -11
  35. data/spec/composition_syntax_spec.rb +390 -409
  36. data/spec/compressor_spec.rb +48 -48
  37. data/spec/data/transfer.dat +1 -0
  38. data/spec/data_helper.rb +47 -49
  39. data/spec/downloader_spec.rb +251 -260
  40. data/spec/extractor_spec.rb +171 -159
  41. data/spec/fixtures/vcr_cassettes/oddb2xml.json +1 -1
  42. data/spec/galenic_spec.rb +233 -256
  43. data/spec/options_spec.rb +116 -119
  44. data/spec/parslet_spec.rb +896 -863
  45. data/spec/spec_helper.rb +153 -153
  46. data/test_options.rb +39 -42
  47. data/tools/win_fetch_cacerts.rb +2 -3
  48. metadata +42 -12
data/spec/options_spec.rb CHANGED
@@ -1,195 +1,192 @@
1
- # encoding: utf-8
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
- Default_opts = {
9
- :fi => false,
10
- :address => false,
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 'when -c tar.gz option is given' do
32
- test_opts = Oddb2xml::Options.parse('-c tar.gz')
33
- specify { expect(test_opts[:compress_ext]).to eq('tar.gz') }
34
- expected = Default_opts.clone
35
- expected[:compress_ext] = 'tar.gz'
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 'when -c tar.gz option --skip-download is given' do
40
- test_opts = Oddb2xml::Options.parse('-c tar.gz --skip-download')
41
- expected = Default_opts.clone
42
- expected[:compress_ext] = 'tar.gz'
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 'when -c tar.gz option --skip-download is given' do
48
- test_opts = Oddb2xml::Options.parse('-c tar.gz --skip-download')
49
- expected = Default_opts.clone
50
- expected[:compress_ext] = 'tar.gz'
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 'when -a is given' do
56
- test_opts = Oddb2xml::Options.parse('-a')
57
- expected = Default_opts.clone
58
- expected[:nonpharma] = true
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 'when --append is given' do
63
- test_opts = Oddb2xml::Options.parse('--append ')
64
- expected = Default_opts.clone
65
- expected[:nonpharma] = true
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 'when -e is given' do
70
- test_opts = Oddb2xml::Options.parse('-e')
71
- expected = Default_opts.clone
72
- expected[:extended] = true
73
- expected[:nonpharma] = true
74
- expected[:calc] = true
75
- expected[:price] = :zurrose
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 'when -e -I 80 is given' do
80
- test_opts = Oddb2xml::Options.parse('-e -I 80')
81
- expected = Default_opts.clone
82
- expected[:extended] = true
83
- expected[:nonpharma] = true
84
- expected[:calc] = true
85
- expected[:price] = :zurrose
86
- expected[:percent] = 80
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 'when -f dat is given' do
91
- test_opts = Oddb2xml::Options.parse('-f dat')
92
- expected = Default_opts.clone
93
- expected[:format] = :dat
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 'when -f dat -I 80 is given' do
98
- test_opts = Oddb2xml::Options.parse('-f dat -I 80')
99
- expected = Default_opts.clone
100
- expected[:format] = :dat
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] = :zurrose
101
+ expected[:price] = :zurrose
103
102
  specify { expect(test_opts).to eq expected }
104
103
  end
105
104
 
106
- context 'when -I 80 is given' do
107
- test_opts = Oddb2xml::Options.parse('-I 80')
108
- expected = Default_opts.clone
109
- expected[:percent] = 80
110
- expected[:price] = :zurrose
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 'when -o is given' do
115
- test_opts = Oddb2xml::Options.parse('-o')
116
- expected = Default_opts.clone
117
- expected[:fi] = true
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 'when -i ean14 is given' do
122
- test_opts = Oddb2xml::Options.parse('-i ean14')
123
- expected = Default_opts.clone
124
- expected[:ean14] = true
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 'when -x addr is given' do
129
- test_opts = Oddb2xml::Options.parse('-x addr')
130
- expected = Default_opts.clone
131
- expected[:address] = true
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 'when -p zurrose is given' do
136
- test_opts = Oddb2xml::Options.parse('-p zurrose')
137
- expected = Default_opts.clone
138
- expected[:price] = :zurrose
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 'when -o fi --log is given' do
143
- test_opts = Oddb2xml::Options.parse('-o fi --log')
144
- expected = Default_opts.clone
145
- expected[:fi] = true
146
- expected[:log] = true
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 'when -a nonpharma -p zurrose is given' do
151
- args = '-a nonpharma -p zurrose'
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 = Default_opts.clone
154
- expected[:price] = :zurrose
155
- expected[:nonpharma] = true
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 'when --artikelstamm is given' do
160
- args = '--artikelstamm'
158
+ context "when --artikelstamm is given" do
159
+ args = "--artikelstamm"
161
160
  test_opts = Oddb2xml::Options.parse(args) # .should raise
162
- expected = Default_opts.clone
163
- expected[:price] = :zurrose
164
- expected[:extended] = true
165
- expected[:artikelstamm] = true
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 'when -c tar.gz option is given' do
170
- test_opts = Oddb2xml::Options.parse('-c tar.gz')
171
- specify { expect(test_opts[:compress_ext]).to eq('tar.gz') }
172
- expected = Default_opts.clone
173
- expected[:compress_ext] = 'tar.gz'
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 'when --use-ra11zip is given' do
178
- test_opts = Oddb2xml::Options.parse(' --use-ra11zip some_other_zip')
179
- expected = Default_opts.clone
180
- expected[:use_ra11zip] = 'some_other_zip'
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 'when -t swiss is given' do
188
- test_opts = Oddb2xml::Options.parse('-t swiss')
189
- expected = Default_opts.clone
190
- expected[:tag_suffix] = 'swiss'
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
-