ruby-marc-spec 0.1.0
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 +7 -0
- data/.github/workflows/build.yml +18 -0
- data/.gitignore +388 -0
- data/.gitmodules +3 -0
- data/.idea/codeStyles/codeStyleConfig.xml +5 -0
- data/.idea/go.imports.xml +6 -0
- data/.idea/inspectionProfiles/Project_Default.xml +23 -0
- data/.idea/marc_spec.iml +102 -0
- data/.idea/misc.xml +6 -0
- data/.idea/modules.xml +8 -0
- data/.idea/templateLanguages.xml +6 -0
- data/.idea/vcs.xml +7 -0
- data/.rubocop.yml +269 -0
- data/.ruby-version +1 -0
- data/.simplecov +8 -0
- data/CHANGES.md +3 -0
- data/Gemfile +6 -0
- data/LICENSE.md +21 -0
- data/README.md +172 -0
- data/Rakefile +20 -0
- data/lib/.rubocop.yml +5 -0
- data/lib/marc/spec/module_info.rb +14 -0
- data/lib/marc/spec/parsing/closed_int_range.rb +28 -0
- data/lib/marc/spec/parsing/closed_lc_alpha_range.rb +28 -0
- data/lib/marc/spec/parsing/parser.rb +213 -0
- data/lib/marc/spec/parsing.rb +1 -0
- data/lib/marc/spec/queries/al_num_range.rb +105 -0
- data/lib/marc/spec/queries/applicable.rb +18 -0
- data/lib/marc/spec/queries/character_spec.rb +81 -0
- data/lib/marc/spec/queries/comparison_string.rb +45 -0
- data/lib/marc/spec/queries/condition.rb +133 -0
- data/lib/marc/spec/queries/condition_context.rb +49 -0
- data/lib/marc/spec/queries/dsl.rb +80 -0
- data/lib/marc/spec/queries/indicator_value.rb +77 -0
- data/lib/marc/spec/queries/operator.rb +129 -0
- data/lib/marc/spec/queries/part.rb +63 -0
- data/lib/marc/spec/queries/position.rb +59 -0
- data/lib/marc/spec/queries/position_or_range.rb +27 -0
- data/lib/marc/spec/queries/query.rb +94 -0
- data/lib/marc/spec/queries/query_executor.rb +52 -0
- data/lib/marc/spec/queries/selector.rb +12 -0
- data/lib/marc/spec/queries/subfield.rb +88 -0
- data/lib/marc/spec/queries/subfield_value.rb +63 -0
- data/lib/marc/spec/queries/tag.rb +107 -0
- data/lib/marc/spec/queries/transform.rb +154 -0
- data/lib/marc/spec/queries.rb +1 -0
- data/lib/marc/spec.rb +32 -0
- data/rakelib/.rubocop.yml +19 -0
- data/rakelib/bundle.rake +8 -0
- data/rakelib/coverage.rake +11 -0
- data/rakelib/gem.rake +54 -0
- data/rakelib/parser_specs/formatter.rb +31 -0
- data/rakelib/parser_specs/parser_specs.rb.txt.erb +35 -0
- data/rakelib/parser_specs/rule.rb +95 -0
- data/rakelib/parser_specs/suite.rb +91 -0
- data/rakelib/parser_specs/test.rb +97 -0
- data/rakelib/parser_specs.rb +1 -0
- data/rakelib/rubocop.rake +18 -0
- data/rakelib/spec.rake +27 -0
- data/ruby-marc-spec.gemspec +42 -0
- data/spec/.rubocop.yml +46 -0
- data/spec/README.md +16 -0
- data/spec/data/b23161018-sru.xml +182 -0
- data/spec/data/sandburg.xml +82 -0
- data/spec/generated/char_indicator_spec.rb +174 -0
- data/spec/generated/char_spec.rb +113 -0
- data/spec/generated/comparison_string_spec.rb +74 -0
- data/spec/generated/field_tag_spec.rb +156 -0
- data/spec/generated/index_char_spec.rb +669 -0
- data/spec/generated/index_indicator_spec.rb +174 -0
- data/spec/generated/index_spec.rb +113 -0
- data/spec/generated/index_sub_spec_spec.rb +1087 -0
- data/spec/generated/indicators_spec.rb +75 -0
- data/spec/generated/position_or_range_spec.rb +110 -0
- data/spec/generated/sub_spec_spec.rb +208 -0
- data/spec/generated/sub_spec_sub_spec_spec.rb +1829 -0
- data/spec/generated/subfield_char_spec.rb +405 -0
- data/spec/generated/subfield_range_range_spec.rb +48 -0
- data/spec/generated/subfield_range_spec.rb +87 -0
- data/spec/generated/subfield_range_sub_spec_spec.rb +214 -0
- data/spec/generated/subfield_tag_range_spec.rb +477 -0
- data/spec/generated/subfield_tag_sub_spec_spec.rb +3216 -0
- data/spec/generated/subfield_tag_tag_spec.rb +5592 -0
- data/spec/marc/spec/parsing/closed_int_range_spec.rb +49 -0
- data/spec/marc/spec/parsing/closed_lc_alpha_range_spec.rb +49 -0
- data/spec/marc/spec/parsing/parser_spec.rb +545 -0
- data/spec/marc/spec/queries/al_num_range_spec.rb +114 -0
- data/spec/marc/spec/queries/character_spec_spec.rb +28 -0
- data/spec/marc/spec/queries/comparison_string_spec.rb +28 -0
- data/spec/marc/spec/queries/indicator_value_spec.rb +28 -0
- data/spec/marc/spec/queries/query_spec.rb +200 -0
- data/spec/marc/spec/queries/subfield_spec.rb +92 -0
- data/spec/marc/spec/queries/subfield_value_spec.rb +31 -0
- data/spec/marc/spec/queries/tag_spec.rb +144 -0
- data/spec/marc/spec/queries/transform_spec.rb +459 -0
- data/spec/marc_spec_spec.rb +247 -0
- data/spec/scratch_spec.rb +112 -0
- data/spec/spec_helper.rb +23 -0
- metadata +341 -0
@@ -0,0 +1,3216 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'parslet/rig/rspec'
|
3
|
+
|
4
|
+
module MARC
|
5
|
+
module Spec
|
6
|
+
module Parsing
|
7
|
+
context 'suite' do
|
8
|
+
describe :subfield_tag_sub_spec do
|
9
|
+
let(:parser) { Parser.new }
|
10
|
+
let(:reporter) { Parslet::ErrorReporter::Deepest.new }
|
11
|
+
|
12
|
+
describe 'marc_spec: valid field tag, subfield tag and subspec' do
|
13
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
14
|
+
it 'subfieldtag & && all digits -> valid' do
|
15
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
16
|
+
expect(parser.marc_spec).to parse('...$&{$a~\\Poe}', trace: true, reporter: reporter)
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'subfieldtag & && all lowercase chars -> valid' do
|
20
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
21
|
+
expect(parser.marc_spec).to parse('...$&{$a~\\test\\{}', trace: true, reporter: reporter)
|
22
|
+
expect(parser.marc_spec).to parse('...$&{$a~\\test\\~}', trace: true, reporter: reporter)
|
23
|
+
expect(parser.marc_spec).to parse('...$&{$a~\\test\\?}', trace: true, reporter: reporter)
|
24
|
+
expect(parser.marc_spec).to parse('...$&{$a~\\test\\|}', trace: true, reporter: reporter)
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'subfieldtag & && all uppercase chars special leader -> valid' do
|
28
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
29
|
+
expect(parser.marc_spec).to parse('...$&{$a!~\\Poe}', trace: true, reporter: reporter)
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'subfieldtag & && all wildcards -> valid' do
|
33
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
34
|
+
expect(parser.marc_spec).to parse('...$&{245$a}', trace: true, reporter: reporter)
|
35
|
+
end
|
36
|
+
|
37
|
+
it 'subfieldtag & && mix one lowercase char and two digits -> valid' do
|
38
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
39
|
+
expect(parser.marc_spec).to parse('...$&{$a|$b|$c}', trace: true, reporter: reporter)
|
40
|
+
end
|
41
|
+
|
42
|
+
it 'subfieldtag & && mix two lowercase chars and one digit -> valid' do
|
43
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
44
|
+
expect(parser.marc_spec).to parse('...$&{$a~\\test\\$}', trace: true, reporter: reporter)
|
45
|
+
end
|
46
|
+
|
47
|
+
it 'subfieldtag & && one digit two wildcards right -> valid' do
|
48
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
49
|
+
expect(parser.marc_spec).to parse('...$&{$a!=$b}', trace: true, reporter: reporter)
|
50
|
+
end
|
51
|
+
|
52
|
+
it 'subfieldtag & && one lowercase and two wildcards right -> valid' do
|
53
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
54
|
+
expect(parser.marc_spec).to parse('...$&{$a~\\test\\=}', trace: true, reporter: reporter)
|
55
|
+
end
|
56
|
+
|
57
|
+
it 'subfieldtag & && one uppercase char two wildcards right -> valid' do
|
58
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
59
|
+
expect(parser.marc_spec).to parse('...$&{$a|$b}{$c|$d}', trace: true, reporter: reporter)
|
60
|
+
end
|
61
|
+
|
62
|
+
it 'subfieldtag & && one wildcard between uppercase chars -> valid' do
|
63
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
64
|
+
expect(parser.marc_spec).to parse('...$&{$a}{$b|$c}', trace: true, reporter: reporter)
|
65
|
+
end
|
66
|
+
|
67
|
+
it 'subfieldtag & && one wildcard left and two lowercase chars -> valid' do
|
68
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
69
|
+
expect(parser.marc_spec).to parse('...$&{$a~\\test\\!}', trace: true, reporter: reporter)
|
70
|
+
end
|
71
|
+
|
72
|
+
it 'subfieldtag & && one wildcard left two uppercase chars -> valid' do
|
73
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
74
|
+
expect(parser.marc_spec).to parse('...$&{$a|$b}{$c}', trace: true, reporter: reporter)
|
75
|
+
end
|
76
|
+
|
77
|
+
it 'subfieldtag & && one wildcard left with two digits -> valid' do
|
78
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
79
|
+
expect(parser.marc_spec).to parse('...$&{?$a}', trace: true, reporter: reporter)
|
80
|
+
end
|
81
|
+
|
82
|
+
it 'subfieldtag & && two digits wildcard right -> valid' do
|
83
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
84
|
+
expect(parser.marc_spec).to parse('...$&{$a=$b}', trace: true, reporter: reporter)
|
85
|
+
end
|
86
|
+
|
87
|
+
it 'subfieldtag & && two wildcards and one lowercase char right -> valid' do
|
88
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
89
|
+
expect(parser.marc_spec).to parse('...$&{$a~\\test\\}}', trace: true, reporter: reporter)
|
90
|
+
end
|
91
|
+
|
92
|
+
it 'subfieldtag & && two wildcards left one uppercase char -> valid' do
|
93
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
94
|
+
expect(parser.marc_spec).to parse('...$&{/#=\\/}', trace: true, reporter: reporter)
|
95
|
+
end
|
96
|
+
|
97
|
+
it 'subfieldtag & && two wildcards left with digit -> valid' do
|
98
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
99
|
+
expect(parser.marc_spec).to parse('...$&{$a}', trace: true, reporter: reporter)
|
100
|
+
end
|
101
|
+
|
102
|
+
it 'subfieldtag & && wildcard between digits -> valid' do
|
103
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
104
|
+
expect(parser.marc_spec).to parse('...$&{!$a}', trace: true, reporter: reporter)
|
105
|
+
end
|
106
|
+
|
107
|
+
describe 'lowercase alpha subfieldtag a' do
|
108
|
+
|
109
|
+
it '&& all digits -> valid' do
|
110
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
111
|
+
expect(parser.marc_spec).to parse('...$a{$a~\\Poe}', trace: true, reporter: reporter)
|
112
|
+
end
|
113
|
+
|
114
|
+
it '&& all lowercase chars -> valid' do
|
115
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
116
|
+
expect(parser.marc_spec).to parse('...$a{$a~\\test\\{}', trace: true, reporter: reporter)
|
117
|
+
expect(parser.marc_spec).to parse('...$a{$a~\\test\\~}', trace: true, reporter: reporter)
|
118
|
+
expect(parser.marc_spec).to parse('...$a{$a~\\test\\?}', trace: true, reporter: reporter)
|
119
|
+
expect(parser.marc_spec).to parse('...$a{$a~\\test\\|}', trace: true, reporter: reporter)
|
120
|
+
end
|
121
|
+
|
122
|
+
it '&& all uppercase chars special leader -> valid' do
|
123
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
124
|
+
expect(parser.marc_spec).to parse('...$a{$a!~\\Poe}', trace: true, reporter: reporter)
|
125
|
+
end
|
126
|
+
|
127
|
+
it '&& all wildcards -> valid' do
|
128
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
129
|
+
expect(parser.marc_spec).to parse('...$a{245$a}', trace: true, reporter: reporter)
|
130
|
+
end
|
131
|
+
|
132
|
+
it '&& mix one lowercase char and two digits -> valid' do
|
133
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
134
|
+
expect(parser.marc_spec).to parse('...$a{$a|$b|$c}', trace: true, reporter: reporter)
|
135
|
+
end
|
136
|
+
|
137
|
+
it '&& mix two lowercase chars and one digit -> valid' do
|
138
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
139
|
+
expect(parser.marc_spec).to parse('...$a{$a~\\test\\$}', trace: true, reporter: reporter)
|
140
|
+
end
|
141
|
+
|
142
|
+
it '&& one digit two wildcards right -> valid' do
|
143
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
144
|
+
expect(parser.marc_spec).to parse('...$a{$a!=$b}', trace: true, reporter: reporter)
|
145
|
+
end
|
146
|
+
|
147
|
+
it '&& one lowercase and two wildcards right -> valid' do
|
148
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
149
|
+
expect(parser.marc_spec).to parse('...$a{$a~\\test\\=}', trace: true, reporter: reporter)
|
150
|
+
end
|
151
|
+
|
152
|
+
it '&& one uppercase char two wildcards right -> valid' do
|
153
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
154
|
+
expect(parser.marc_spec).to parse('...$a{$a|$b}{$c|$d}', trace: true, reporter: reporter)
|
155
|
+
end
|
156
|
+
|
157
|
+
it '&& one wildcard between uppercase chars -> valid' do
|
158
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
159
|
+
expect(parser.marc_spec).to parse('...$a{$a}{$b|$c}', trace: true, reporter: reporter)
|
160
|
+
end
|
161
|
+
|
162
|
+
it '&& one wildcard left and two lowercase chars -> valid' do
|
163
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
164
|
+
expect(parser.marc_spec).to parse('...$a{$a~\\test\\!}', trace: true, reporter: reporter)
|
165
|
+
end
|
166
|
+
|
167
|
+
it '&& one wildcard left two uppercase chars -> valid' do
|
168
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
169
|
+
expect(parser.marc_spec).to parse('...$a{$a|$b}{$c}', trace: true, reporter: reporter)
|
170
|
+
end
|
171
|
+
|
172
|
+
it '&& one wildcard left with two digits -> valid' do
|
173
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
174
|
+
expect(parser.marc_spec).to parse('...$a{?$a}', trace: true, reporter: reporter)
|
175
|
+
end
|
176
|
+
|
177
|
+
it '&& two digits wildcard right -> valid' do
|
178
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
179
|
+
expect(parser.marc_spec).to parse('...$a{$a=$b}', trace: true, reporter: reporter)
|
180
|
+
end
|
181
|
+
|
182
|
+
it '&& two wildcards and one lowercase char right -> valid' do
|
183
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
184
|
+
expect(parser.marc_spec).to parse('...$a{$a~\\test\\}}', trace: true, reporter: reporter)
|
185
|
+
end
|
186
|
+
|
187
|
+
it '&& two wildcards left one uppercase char -> valid' do
|
188
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
189
|
+
expect(parser.marc_spec).to parse('...$a{/#=\\/}', trace: true, reporter: reporter)
|
190
|
+
end
|
191
|
+
|
192
|
+
it '&& two wildcards left with digit -> valid' do
|
193
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
194
|
+
expect(parser.marc_spec).to parse('...$a{$a}', trace: true, reporter: reporter)
|
195
|
+
end
|
196
|
+
|
197
|
+
it '&& wildcard between digits -> valid' do
|
198
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
199
|
+
expect(parser.marc_spec).to parse('...$a{!$a}', trace: true, reporter: reporter)
|
200
|
+
end
|
201
|
+
|
202
|
+
end
|
203
|
+
|
204
|
+
describe 'lowercase alpha subfieldtag z' do
|
205
|
+
|
206
|
+
it '&& all digits -> valid' do
|
207
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
208
|
+
expect(parser.marc_spec).to parse('...$z{$a~\\Poe}', trace: true, reporter: reporter)
|
209
|
+
end
|
210
|
+
|
211
|
+
it '&& all lowercase chars -> valid' do
|
212
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
213
|
+
expect(parser.marc_spec).to parse('...$z{$a~\\test\\{}', trace: true, reporter: reporter)
|
214
|
+
expect(parser.marc_spec).to parse('...$z{$a~\\test\\~}', trace: true, reporter: reporter)
|
215
|
+
expect(parser.marc_spec).to parse('...$z{$a~\\test\\?}', trace: true, reporter: reporter)
|
216
|
+
expect(parser.marc_spec).to parse('...$z{$a~\\test\\|}', trace: true, reporter: reporter)
|
217
|
+
end
|
218
|
+
|
219
|
+
it '&& all uppercase chars special leader -> valid' do
|
220
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
221
|
+
expect(parser.marc_spec).to parse('...$z{$a!~\\Poe}', trace: true, reporter: reporter)
|
222
|
+
end
|
223
|
+
|
224
|
+
it '&& all wildcards -> valid' do
|
225
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
226
|
+
expect(parser.marc_spec).to parse('...$z{245$a}', trace: true, reporter: reporter)
|
227
|
+
end
|
228
|
+
|
229
|
+
it '&& mix one lowercase char and two digits -> valid' do
|
230
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
231
|
+
expect(parser.marc_spec).to parse('...$z{$a|$b|$c}', trace: true, reporter: reporter)
|
232
|
+
end
|
233
|
+
|
234
|
+
it '&& mix two lowercase chars and one digit -> valid' do
|
235
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
236
|
+
expect(parser.marc_spec).to parse('...$z{$a~\\test\\$}', trace: true, reporter: reporter)
|
237
|
+
end
|
238
|
+
|
239
|
+
it '&& one digit two wildcards right -> valid' do
|
240
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
241
|
+
expect(parser.marc_spec).to parse('...$z{$a!=$b}', trace: true, reporter: reporter)
|
242
|
+
end
|
243
|
+
|
244
|
+
it '&& one lowercase and two wildcards right -> valid' do
|
245
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
246
|
+
expect(parser.marc_spec).to parse('...$z{$a~\\test\\=}', trace: true, reporter: reporter)
|
247
|
+
end
|
248
|
+
|
249
|
+
it '&& one uppercase char two wildcards right -> valid' do
|
250
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
251
|
+
expect(parser.marc_spec).to parse('...$z{$a|$b}{$c|$d}', trace: true, reporter: reporter)
|
252
|
+
end
|
253
|
+
|
254
|
+
it '&& one wildcard between uppercase chars -> valid' do
|
255
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
256
|
+
expect(parser.marc_spec).to parse('...$z{$a}{$b|$c}', trace: true, reporter: reporter)
|
257
|
+
end
|
258
|
+
|
259
|
+
it '&& one wildcard left and two lowercase chars -> valid' do
|
260
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
261
|
+
expect(parser.marc_spec).to parse('...$z{$a~\\test\\!}', trace: true, reporter: reporter)
|
262
|
+
end
|
263
|
+
|
264
|
+
it '&& one wildcard left two uppercase chars -> valid' do
|
265
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
266
|
+
expect(parser.marc_spec).to parse('...$z{$a|$b}{$c}', trace: true, reporter: reporter)
|
267
|
+
end
|
268
|
+
|
269
|
+
it '&& one wildcard left with two digits -> valid' do
|
270
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
271
|
+
expect(parser.marc_spec).to parse('...$z{?$a}', trace: true, reporter: reporter)
|
272
|
+
end
|
273
|
+
|
274
|
+
it '&& two digits wildcard right -> valid' do
|
275
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
276
|
+
expect(parser.marc_spec).to parse('...$z{$a=$b}', trace: true, reporter: reporter)
|
277
|
+
end
|
278
|
+
|
279
|
+
it '&& two wildcards and one lowercase char right -> valid' do
|
280
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
281
|
+
expect(parser.marc_spec).to parse('...$z{$a~\\test\\}}', trace: true, reporter: reporter)
|
282
|
+
end
|
283
|
+
|
284
|
+
it '&& two wildcards left one uppercase char -> valid' do
|
285
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
286
|
+
expect(parser.marc_spec).to parse('...$z{/#=\\/}', trace: true, reporter: reporter)
|
287
|
+
end
|
288
|
+
|
289
|
+
it '&& two wildcards left with digit -> valid' do
|
290
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
291
|
+
expect(parser.marc_spec).to parse('...$z{$a}', trace: true, reporter: reporter)
|
292
|
+
end
|
293
|
+
|
294
|
+
it '&& wildcard between digits -> valid' do
|
295
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
296
|
+
expect(parser.marc_spec).to parse('...$z{!$a}', trace: true, reporter: reporter)
|
297
|
+
end
|
298
|
+
|
299
|
+
end
|
300
|
+
|
301
|
+
describe 'digit subfieldtag 0' do
|
302
|
+
|
303
|
+
it '&& all digits -> valid' do
|
304
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
305
|
+
expect(parser.marc_spec).to parse('...$0{$a~\\Poe}', trace: true, reporter: reporter)
|
306
|
+
end
|
307
|
+
|
308
|
+
it '&& all lowercase chars -> valid' do
|
309
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
310
|
+
expect(parser.marc_spec).to parse('...$0{$a~\\test\\{}', trace: true, reporter: reporter)
|
311
|
+
expect(parser.marc_spec).to parse('...$0{$a~\\test\\~}', trace: true, reporter: reporter)
|
312
|
+
expect(parser.marc_spec).to parse('...$0{$a~\\test\\?}', trace: true, reporter: reporter)
|
313
|
+
expect(parser.marc_spec).to parse('...$0{$a~\\test\\|}', trace: true, reporter: reporter)
|
314
|
+
end
|
315
|
+
|
316
|
+
it '&& all uppercase chars special leader -> valid' do
|
317
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
318
|
+
expect(parser.marc_spec).to parse('...$0{$a!~\\Poe}', trace: true, reporter: reporter)
|
319
|
+
end
|
320
|
+
|
321
|
+
it '&& all wildcards -> valid' do
|
322
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
323
|
+
expect(parser.marc_spec).to parse('...$0{245$a}', trace: true, reporter: reporter)
|
324
|
+
end
|
325
|
+
|
326
|
+
it '&& mix one lowercase char and two digits -> valid' do
|
327
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
328
|
+
expect(parser.marc_spec).to parse('...$0{$a|$b|$c}', trace: true, reporter: reporter)
|
329
|
+
end
|
330
|
+
|
331
|
+
it '&& mix two lowercase chars and one digit -> valid' do
|
332
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
333
|
+
expect(parser.marc_spec).to parse('...$0{$a~\\test\\$}', trace: true, reporter: reporter)
|
334
|
+
end
|
335
|
+
|
336
|
+
it '&& one digit two wildcards right -> valid' do
|
337
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
338
|
+
expect(parser.marc_spec).to parse('...$0{$a!=$b}', trace: true, reporter: reporter)
|
339
|
+
end
|
340
|
+
|
341
|
+
it '&& one lowercase and two wildcards right -> valid' do
|
342
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
343
|
+
expect(parser.marc_spec).to parse('...$0{$a~\\test\\=}', trace: true, reporter: reporter)
|
344
|
+
end
|
345
|
+
|
346
|
+
it '&& one uppercase char two wildcards right -> valid' do
|
347
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
348
|
+
expect(parser.marc_spec).to parse('...$0{$a|$b}{$c|$d}', trace: true, reporter: reporter)
|
349
|
+
end
|
350
|
+
|
351
|
+
it '&& one wildcard between uppercase chars -> valid' do
|
352
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
353
|
+
expect(parser.marc_spec).to parse('...$0{$a}{$b|$c}', trace: true, reporter: reporter)
|
354
|
+
end
|
355
|
+
|
356
|
+
it '&& one wildcard left and two lowercase chars -> valid' do
|
357
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
358
|
+
expect(parser.marc_spec).to parse('...$0{$a~\\test\\!}', trace: true, reporter: reporter)
|
359
|
+
end
|
360
|
+
|
361
|
+
it '&& one wildcard left two uppercase chars -> valid' do
|
362
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
363
|
+
expect(parser.marc_spec).to parse('...$0{$a|$b}{$c}', trace: true, reporter: reporter)
|
364
|
+
end
|
365
|
+
|
366
|
+
it '&& one wildcard left with two digits -> valid' do
|
367
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
368
|
+
expect(parser.marc_spec).to parse('...$0{?$a}', trace: true, reporter: reporter)
|
369
|
+
end
|
370
|
+
|
371
|
+
it '&& two digits wildcard right -> valid' do
|
372
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
373
|
+
expect(parser.marc_spec).to parse('...$0{$a=$b}', trace: true, reporter: reporter)
|
374
|
+
end
|
375
|
+
|
376
|
+
it '&& two wildcards and one lowercase char right -> valid' do
|
377
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
378
|
+
expect(parser.marc_spec).to parse('...$0{$a~\\test\\}}', trace: true, reporter: reporter)
|
379
|
+
end
|
380
|
+
|
381
|
+
it '&& two wildcards left one uppercase char -> valid' do
|
382
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
383
|
+
expect(parser.marc_spec).to parse('...$0{/#=\\/}', trace: true, reporter: reporter)
|
384
|
+
end
|
385
|
+
|
386
|
+
it '&& two wildcards left with digit -> valid' do
|
387
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
388
|
+
expect(parser.marc_spec).to parse('...$0{$a}', trace: true, reporter: reporter)
|
389
|
+
end
|
390
|
+
|
391
|
+
it '&& wildcard between digits -> valid' do
|
392
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
393
|
+
expect(parser.marc_spec).to parse('...$0{!$a}', trace: true, reporter: reporter)
|
394
|
+
end
|
395
|
+
|
396
|
+
end
|
397
|
+
|
398
|
+
describe 'digit subfieldtag 9' do
|
399
|
+
|
400
|
+
it '&& all digits -> valid' do
|
401
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
402
|
+
expect(parser.marc_spec).to parse('...$9{$a~\\Poe}', trace: true, reporter: reporter)
|
403
|
+
end
|
404
|
+
|
405
|
+
it '&& all lowercase chars -> valid' do
|
406
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
407
|
+
expect(parser.marc_spec).to parse('...$9{$a~\\test\\{}', trace: true, reporter: reporter)
|
408
|
+
expect(parser.marc_spec).to parse('...$9{$a~\\test\\~}', trace: true, reporter: reporter)
|
409
|
+
expect(parser.marc_spec).to parse('...$9{$a~\\test\\?}', trace: true, reporter: reporter)
|
410
|
+
expect(parser.marc_spec).to parse('...$9{$a~\\test\\|}', trace: true, reporter: reporter)
|
411
|
+
end
|
412
|
+
|
413
|
+
it '&& all uppercase chars special leader -> valid' do
|
414
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
415
|
+
expect(parser.marc_spec).to parse('...$9{$a!~\\Poe}', trace: true, reporter: reporter)
|
416
|
+
end
|
417
|
+
|
418
|
+
it '&& all wildcards -> valid' do
|
419
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
420
|
+
expect(parser.marc_spec).to parse('...$9{245$a}', trace: true, reporter: reporter)
|
421
|
+
end
|
422
|
+
|
423
|
+
it '&& mix one lowercase char and two digits -> valid' do
|
424
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
425
|
+
expect(parser.marc_spec).to parse('...$9{$a|$b|$c}', trace: true, reporter: reporter)
|
426
|
+
end
|
427
|
+
|
428
|
+
it '&& mix two lowercase chars and one digit -> valid' do
|
429
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
430
|
+
expect(parser.marc_spec).to parse('...$9{$a~\\test\\$}', trace: true, reporter: reporter)
|
431
|
+
end
|
432
|
+
|
433
|
+
it '&& one digit two wildcards right -> valid' do
|
434
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
435
|
+
expect(parser.marc_spec).to parse('...$9{$a!=$b}', trace: true, reporter: reporter)
|
436
|
+
end
|
437
|
+
|
438
|
+
it '&& one lowercase and two wildcards right -> valid' do
|
439
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
440
|
+
expect(parser.marc_spec).to parse('...$9{$a~\\test\\=}', trace: true, reporter: reporter)
|
441
|
+
end
|
442
|
+
|
443
|
+
it '&& one uppercase char two wildcards right -> valid' do
|
444
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
445
|
+
expect(parser.marc_spec).to parse('...$9{$a|$b}{$c|$d}', trace: true, reporter: reporter)
|
446
|
+
end
|
447
|
+
|
448
|
+
it '&& one wildcard between uppercase chars -> valid' do
|
449
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
450
|
+
expect(parser.marc_spec).to parse('...$9{$a}{$b|$c}', trace: true, reporter: reporter)
|
451
|
+
end
|
452
|
+
|
453
|
+
it '&& one wildcard left and two lowercase chars -> valid' do
|
454
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
455
|
+
expect(parser.marc_spec).to parse('...$9{$a~\\test\\!}', trace: true, reporter: reporter)
|
456
|
+
end
|
457
|
+
|
458
|
+
it '&& one wildcard left two uppercase chars -> valid' do
|
459
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
460
|
+
expect(parser.marc_spec).to parse('...$9{$a|$b}{$c}', trace: true, reporter: reporter)
|
461
|
+
end
|
462
|
+
|
463
|
+
it '&& one wildcard left with two digits -> valid' do
|
464
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
465
|
+
expect(parser.marc_spec).to parse('...$9{?$a}', trace: true, reporter: reporter)
|
466
|
+
end
|
467
|
+
|
468
|
+
it '&& two digits wildcard right -> valid' do
|
469
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
470
|
+
expect(parser.marc_spec).to parse('...$9{$a=$b}', trace: true, reporter: reporter)
|
471
|
+
end
|
472
|
+
|
473
|
+
it '&& two wildcards and one lowercase char right -> valid' do
|
474
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
475
|
+
expect(parser.marc_spec).to parse('...$9{$a~\\test\\}}', trace: true, reporter: reporter)
|
476
|
+
end
|
477
|
+
|
478
|
+
it '&& two wildcards left one uppercase char -> valid' do
|
479
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
480
|
+
expect(parser.marc_spec).to parse('...$9{/#=\\/}', trace: true, reporter: reporter)
|
481
|
+
end
|
482
|
+
|
483
|
+
it '&& two wildcards left with digit -> valid' do
|
484
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
485
|
+
expect(parser.marc_spec).to parse('...$9{$a}', trace: true, reporter: reporter)
|
486
|
+
end
|
487
|
+
|
488
|
+
it '&& wildcard between digits -> valid' do
|
489
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
490
|
+
expect(parser.marc_spec).to parse('...$9{!$a}', trace: true, reporter: reporter)
|
491
|
+
end
|
492
|
+
|
493
|
+
end
|
494
|
+
|
495
|
+
describe 'subfieldtag !' do
|
496
|
+
|
497
|
+
it '&& all digits -> valid' do
|
498
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
499
|
+
expect(parser.marc_spec).to parse('...$!{$a~\\Poe}', trace: true, reporter: reporter)
|
500
|
+
end
|
501
|
+
|
502
|
+
it '&& all lowercase chars -> valid' do
|
503
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
504
|
+
expect(parser.marc_spec).to parse('...$!{$a~\\test\\{}', trace: true, reporter: reporter)
|
505
|
+
expect(parser.marc_spec).to parse('...$!{$a~\\test\\~}', trace: true, reporter: reporter)
|
506
|
+
expect(parser.marc_spec).to parse('...$!{$a~\\test\\?}', trace: true, reporter: reporter)
|
507
|
+
expect(parser.marc_spec).to parse('...$!{$a~\\test\\|}', trace: true, reporter: reporter)
|
508
|
+
end
|
509
|
+
|
510
|
+
it '&& all uppercase chars special leader -> valid' do
|
511
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
512
|
+
expect(parser.marc_spec).to parse('...$!{$a!~\\Poe}', trace: true, reporter: reporter)
|
513
|
+
end
|
514
|
+
|
515
|
+
it '&& all wildcards -> valid' do
|
516
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
517
|
+
expect(parser.marc_spec).to parse('...$!{245$a}', trace: true, reporter: reporter)
|
518
|
+
end
|
519
|
+
|
520
|
+
it '&& mix one lowercase char and two digits -> valid' do
|
521
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
522
|
+
expect(parser.marc_spec).to parse('...$!{$a|$b|$c}', trace: true, reporter: reporter)
|
523
|
+
end
|
524
|
+
|
525
|
+
it '&& mix two lowercase chars and one digit -> valid' do
|
526
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
527
|
+
expect(parser.marc_spec).to parse('...$!{$a~\\test\\$}', trace: true, reporter: reporter)
|
528
|
+
end
|
529
|
+
|
530
|
+
it '&& one digit two wildcards right -> valid' do
|
531
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
532
|
+
expect(parser.marc_spec).to parse('...$!{$a!=$b}', trace: true, reporter: reporter)
|
533
|
+
end
|
534
|
+
|
535
|
+
it '&& one lowercase and two wildcards right -> valid' do
|
536
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
537
|
+
expect(parser.marc_spec).to parse('...$!{$a~\\test\\=}', trace: true, reporter: reporter)
|
538
|
+
end
|
539
|
+
|
540
|
+
it '&& one uppercase char two wildcards right -> valid' do
|
541
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
542
|
+
expect(parser.marc_spec).to parse('...$!{$a|$b}{$c|$d}', trace: true, reporter: reporter)
|
543
|
+
end
|
544
|
+
|
545
|
+
it '&& one wildcard between uppercase chars -> valid' do
|
546
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
547
|
+
expect(parser.marc_spec).to parse('...$!{$a}{$b|$c}', trace: true, reporter: reporter)
|
548
|
+
end
|
549
|
+
|
550
|
+
it '&& one wildcard left and two lowercase chars -> valid' do
|
551
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
552
|
+
expect(parser.marc_spec).to parse('...$!{$a~\\test\\!}', trace: true, reporter: reporter)
|
553
|
+
end
|
554
|
+
|
555
|
+
it '&& one wildcard left two uppercase chars -> valid' do
|
556
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
557
|
+
expect(parser.marc_spec).to parse('...$!{$a|$b}{$c}', trace: true, reporter: reporter)
|
558
|
+
end
|
559
|
+
|
560
|
+
it '&& one wildcard left with two digits -> valid' do
|
561
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
562
|
+
expect(parser.marc_spec).to parse('...$!{?$a}', trace: true, reporter: reporter)
|
563
|
+
end
|
564
|
+
|
565
|
+
it '&& two digits wildcard right -> valid' do
|
566
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
567
|
+
expect(parser.marc_spec).to parse('...$!{$a=$b}', trace: true, reporter: reporter)
|
568
|
+
end
|
569
|
+
|
570
|
+
it '&& two wildcards and one lowercase char right -> valid' do
|
571
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
572
|
+
expect(parser.marc_spec).to parse('...$!{$a~\\test\\}}', trace: true, reporter: reporter)
|
573
|
+
end
|
574
|
+
|
575
|
+
it '&& two wildcards left one uppercase char -> valid' do
|
576
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
577
|
+
expect(parser.marc_spec).to parse('...$!{/#=\\/}', trace: true, reporter: reporter)
|
578
|
+
end
|
579
|
+
|
580
|
+
it '&& two wildcards left with digit -> valid' do
|
581
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
582
|
+
expect(parser.marc_spec).to parse('...$!{$a}', trace: true, reporter: reporter)
|
583
|
+
end
|
584
|
+
|
585
|
+
it '&& wildcard between digits -> valid' do
|
586
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
587
|
+
expect(parser.marc_spec).to parse('...$!{!$a}', trace: true, reporter: reporter)
|
588
|
+
end
|
589
|
+
|
590
|
+
end
|
591
|
+
|
592
|
+
describe 'subfieldtag #' do
|
593
|
+
|
594
|
+
it '&& all digits -> valid' do
|
595
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
596
|
+
expect(parser.marc_spec).to parse("...$\#{$a~\\Poe}", trace: true, reporter: reporter)
|
597
|
+
end
|
598
|
+
|
599
|
+
it '&& all lowercase chars -> valid' do
|
600
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
601
|
+
expect(parser.marc_spec).to parse("...$\#{$a~\\test\\{}", trace: true, reporter: reporter)
|
602
|
+
expect(parser.marc_spec).to parse("...$\#{$a~\\test\\~}", trace: true, reporter: reporter)
|
603
|
+
expect(parser.marc_spec).to parse("...$\#{$a~\\test\\?}", trace: true, reporter: reporter)
|
604
|
+
expect(parser.marc_spec).to parse("...$\#{$a~\\test\\|}", trace: true, reporter: reporter)
|
605
|
+
end
|
606
|
+
|
607
|
+
it '&& all uppercase chars special leader -> valid' do
|
608
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
609
|
+
expect(parser.marc_spec).to parse("...$\#{$a!~\\Poe}", trace: true, reporter: reporter)
|
610
|
+
end
|
611
|
+
|
612
|
+
it '&& all wildcards -> valid' do
|
613
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
614
|
+
expect(parser.marc_spec).to parse("...$\#{245$a}", trace: true, reporter: reporter)
|
615
|
+
end
|
616
|
+
|
617
|
+
it '&& mix one lowercase char and two digits -> valid' do
|
618
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
619
|
+
expect(parser.marc_spec).to parse("...$\#{$a|$b|$c}", trace: true, reporter: reporter)
|
620
|
+
end
|
621
|
+
|
622
|
+
it '&& mix two lowercase chars and one digit -> valid' do
|
623
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
624
|
+
expect(parser.marc_spec).to parse("...$\#{$a~\\test\\$}", trace: true, reporter: reporter)
|
625
|
+
end
|
626
|
+
|
627
|
+
it '&& one digit two wildcards right -> valid' do
|
628
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
629
|
+
expect(parser.marc_spec).to parse("...$\#{$a!=$b}", trace: true, reporter: reporter)
|
630
|
+
end
|
631
|
+
|
632
|
+
it '&& one lowercase and two wildcards right -> valid' do
|
633
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
634
|
+
expect(parser.marc_spec).to parse("...$\#{$a~\\test\\=}", trace: true, reporter: reporter)
|
635
|
+
end
|
636
|
+
|
637
|
+
it '&& one uppercase char two wildcards right -> valid' do
|
638
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
639
|
+
expect(parser.marc_spec).to parse("...$\#{$a|$b}{$c|$d}", trace: true, reporter: reporter)
|
640
|
+
end
|
641
|
+
|
642
|
+
it '&& one wildcard between uppercase chars -> valid' do
|
643
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
644
|
+
expect(parser.marc_spec).to parse("...$\#{$a}{$b|$c}", trace: true, reporter: reporter)
|
645
|
+
end
|
646
|
+
|
647
|
+
it '&& one wildcard left and two lowercase chars -> valid' do
|
648
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
649
|
+
expect(parser.marc_spec).to parse("...$\#{$a~\\test\\!}", trace: true, reporter: reporter)
|
650
|
+
end
|
651
|
+
|
652
|
+
it '&& one wildcard left two uppercase chars -> valid' do
|
653
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
654
|
+
expect(parser.marc_spec).to parse("...$\#{$a|$b}{$c}", trace: true, reporter: reporter)
|
655
|
+
end
|
656
|
+
|
657
|
+
it '&& one wildcard left with two digits -> valid' do
|
658
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
659
|
+
expect(parser.marc_spec).to parse("...$\#{?$a}", trace: true, reporter: reporter)
|
660
|
+
end
|
661
|
+
|
662
|
+
it '&& two digits wildcard right -> valid' do
|
663
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
664
|
+
expect(parser.marc_spec).to parse("...$\#{$a=$b}", trace: true, reporter: reporter)
|
665
|
+
end
|
666
|
+
|
667
|
+
it '&& two wildcards and one lowercase char right -> valid' do
|
668
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
669
|
+
expect(parser.marc_spec).to parse("...$\#{$a~\\test\\}}", trace: true, reporter: reporter)
|
670
|
+
end
|
671
|
+
|
672
|
+
it '&& two wildcards left one uppercase char -> valid' do
|
673
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
674
|
+
expect(parser.marc_spec).to parse("...$\#{/#=\\/}", trace: true, reporter: reporter)
|
675
|
+
end
|
676
|
+
|
677
|
+
it '&& two wildcards left with digit -> valid' do
|
678
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
679
|
+
expect(parser.marc_spec).to parse("...$\#{$a}", trace: true, reporter: reporter)
|
680
|
+
end
|
681
|
+
|
682
|
+
it '&& wildcard between digits -> valid' do
|
683
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
684
|
+
expect(parser.marc_spec).to parse("...$\#{!$a}", trace: true, reporter: reporter)
|
685
|
+
end
|
686
|
+
|
687
|
+
end
|
688
|
+
|
689
|
+
describe 'subfieldtag $' do
|
690
|
+
|
691
|
+
it '&& all digits -> valid' do
|
692
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
693
|
+
expect(parser.marc_spec).to parse('...$${$a~\\Poe}', trace: true, reporter: reporter)
|
694
|
+
end
|
695
|
+
|
696
|
+
it '&& all lowercase chars -> valid' do
|
697
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
698
|
+
expect(parser.marc_spec).to parse('...$${$a~\\test\\{}', trace: true, reporter: reporter)
|
699
|
+
expect(parser.marc_spec).to parse('...$${$a~\\test\\~}', trace: true, reporter: reporter)
|
700
|
+
expect(parser.marc_spec).to parse('...$${$a~\\test\\?}', trace: true, reporter: reporter)
|
701
|
+
expect(parser.marc_spec).to parse('...$${$a~\\test\\|}', trace: true, reporter: reporter)
|
702
|
+
end
|
703
|
+
|
704
|
+
it '&& all uppercase chars special leader -> valid' do
|
705
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
706
|
+
expect(parser.marc_spec).to parse('...$${$a!~\\Poe}', trace: true, reporter: reporter)
|
707
|
+
end
|
708
|
+
|
709
|
+
it '&& all wildcards -> valid' do
|
710
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
711
|
+
expect(parser.marc_spec).to parse('...$${245$a}', trace: true, reporter: reporter)
|
712
|
+
end
|
713
|
+
|
714
|
+
it '&& mix one lowercase char and two digits -> valid' do
|
715
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
716
|
+
expect(parser.marc_spec).to parse('...$${$a|$b|$c}', trace: true, reporter: reporter)
|
717
|
+
end
|
718
|
+
|
719
|
+
it '&& mix two lowercase chars and one digit -> valid' do
|
720
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
721
|
+
expect(parser.marc_spec).to parse('...$${$a~\\test\\$}', trace: true, reporter: reporter)
|
722
|
+
end
|
723
|
+
|
724
|
+
it '&& one digit two wildcards right -> valid' do
|
725
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
726
|
+
expect(parser.marc_spec).to parse('...$${$a!=$b}', trace: true, reporter: reporter)
|
727
|
+
end
|
728
|
+
|
729
|
+
it '&& one lowercase and two wildcards right -> valid' do
|
730
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
731
|
+
expect(parser.marc_spec).to parse('...$${$a~\\test\\=}', trace: true, reporter: reporter)
|
732
|
+
end
|
733
|
+
|
734
|
+
it '&& one uppercase char two wildcards right -> valid' do
|
735
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
736
|
+
expect(parser.marc_spec).to parse('...$${$a|$b}{$c|$d}', trace: true, reporter: reporter)
|
737
|
+
end
|
738
|
+
|
739
|
+
it '&& one wildcard between uppercase chars -> valid' do
|
740
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
741
|
+
expect(parser.marc_spec).to parse('...$${$a}{$b|$c}', trace: true, reporter: reporter)
|
742
|
+
end
|
743
|
+
|
744
|
+
it '&& one wildcard left and two lowercase chars -> valid' do
|
745
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
746
|
+
expect(parser.marc_spec).to parse('...$${$a~\\test\\!}', trace: true, reporter: reporter)
|
747
|
+
end
|
748
|
+
|
749
|
+
it '&& one wildcard left two uppercase chars -> valid' do
|
750
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
751
|
+
expect(parser.marc_spec).to parse('...$${$a|$b}{$c}', trace: true, reporter: reporter)
|
752
|
+
end
|
753
|
+
|
754
|
+
it '&& one wildcard left with two digits -> valid' do
|
755
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
756
|
+
expect(parser.marc_spec).to parse('...$${?$a}', trace: true, reporter: reporter)
|
757
|
+
end
|
758
|
+
|
759
|
+
it '&& two digits wildcard right -> valid' do
|
760
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
761
|
+
expect(parser.marc_spec).to parse('...$${$a=$b}', trace: true, reporter: reporter)
|
762
|
+
end
|
763
|
+
|
764
|
+
it '&& two wildcards and one lowercase char right -> valid' do
|
765
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
766
|
+
expect(parser.marc_spec).to parse('...$${$a~\\test\\}}', trace: true, reporter: reporter)
|
767
|
+
end
|
768
|
+
|
769
|
+
it '&& two wildcards left one uppercase char -> valid' do
|
770
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
771
|
+
expect(parser.marc_spec).to parse('...$${/#=\\/}', trace: true, reporter: reporter)
|
772
|
+
end
|
773
|
+
|
774
|
+
it '&& two wildcards left with digit -> valid' do
|
775
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
776
|
+
expect(parser.marc_spec).to parse('...$${$a}', trace: true, reporter: reporter)
|
777
|
+
end
|
778
|
+
|
779
|
+
it '&& wildcard between digits -> valid' do
|
780
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
781
|
+
expect(parser.marc_spec).to parse('...$${!$a}', trace: true, reporter: reporter)
|
782
|
+
end
|
783
|
+
|
784
|
+
end
|
785
|
+
|
786
|
+
describe 'subfieldtag %' do
|
787
|
+
|
788
|
+
it '&& all digits -> valid' do
|
789
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
790
|
+
expect(parser.marc_spec).to parse('...$%{$a~\\Poe}', trace: true, reporter: reporter)
|
791
|
+
end
|
792
|
+
|
793
|
+
it '&& all lowercase chars -> valid' do
|
794
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
795
|
+
expect(parser.marc_spec).to parse('...$%{$a~\\test\\{}', trace: true, reporter: reporter)
|
796
|
+
expect(parser.marc_spec).to parse('...$%{$a~\\test\\~}', trace: true, reporter: reporter)
|
797
|
+
expect(parser.marc_spec).to parse('...$%{$a~\\test\\?}', trace: true, reporter: reporter)
|
798
|
+
expect(parser.marc_spec).to parse('...$%{$a~\\test\\|}', trace: true, reporter: reporter)
|
799
|
+
end
|
800
|
+
|
801
|
+
it '&& all uppercase chars special leader -> valid' do
|
802
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
803
|
+
expect(parser.marc_spec).to parse('...$%{$a!~\\Poe}', trace: true, reporter: reporter)
|
804
|
+
end
|
805
|
+
|
806
|
+
it '&& all wildcards -> valid' do
|
807
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
808
|
+
expect(parser.marc_spec).to parse('...$%{245$a}', trace: true, reporter: reporter)
|
809
|
+
end
|
810
|
+
|
811
|
+
it '&& mix one lowercase char and two digits -> valid' do
|
812
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
813
|
+
expect(parser.marc_spec).to parse('...$%{$a|$b|$c}', trace: true, reporter: reporter)
|
814
|
+
end
|
815
|
+
|
816
|
+
it '&& mix two lowercase chars and one digit -> valid' do
|
817
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
818
|
+
expect(parser.marc_spec).to parse('...$%{$a~\\test\\$}', trace: true, reporter: reporter)
|
819
|
+
end
|
820
|
+
|
821
|
+
it '&& one digit two wildcards right -> valid' do
|
822
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
823
|
+
expect(parser.marc_spec).to parse('...$%{$a!=$b}', trace: true, reporter: reporter)
|
824
|
+
end
|
825
|
+
|
826
|
+
it '&& one lowercase and two wildcards right -> valid' do
|
827
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
828
|
+
expect(parser.marc_spec).to parse('...$%{$a~\\test\\=}', trace: true, reporter: reporter)
|
829
|
+
end
|
830
|
+
|
831
|
+
it '&& one uppercase char two wildcards right -> valid' do
|
832
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
833
|
+
expect(parser.marc_spec).to parse('...$%{$a|$b}{$c|$d}', trace: true, reporter: reporter)
|
834
|
+
end
|
835
|
+
|
836
|
+
it '&& one wildcard between uppercase chars -> valid' do
|
837
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
838
|
+
expect(parser.marc_spec).to parse('...$%{$a}{$b|$c}', trace: true, reporter: reporter)
|
839
|
+
end
|
840
|
+
|
841
|
+
it '&& one wildcard left and two lowercase chars -> valid' do
|
842
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
843
|
+
expect(parser.marc_spec).to parse('...$%{$a~\\test\\!}', trace: true, reporter: reporter)
|
844
|
+
end
|
845
|
+
|
846
|
+
it '&& one wildcard left two uppercase chars -> valid' do
|
847
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
848
|
+
expect(parser.marc_spec).to parse('...$%{$a|$b}{$c}', trace: true, reporter: reporter)
|
849
|
+
end
|
850
|
+
|
851
|
+
it '&& one wildcard left with two digits -> valid' do
|
852
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
853
|
+
expect(parser.marc_spec).to parse('...$%{?$a}', trace: true, reporter: reporter)
|
854
|
+
end
|
855
|
+
|
856
|
+
it '&& two digits wildcard right -> valid' do
|
857
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
858
|
+
expect(parser.marc_spec).to parse('...$%{$a=$b}', trace: true, reporter: reporter)
|
859
|
+
end
|
860
|
+
|
861
|
+
it '&& two wildcards and one lowercase char right -> valid' do
|
862
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
863
|
+
expect(parser.marc_spec).to parse('...$%{$a~\\test\\}}', trace: true, reporter: reporter)
|
864
|
+
end
|
865
|
+
|
866
|
+
it '&& two wildcards left one uppercase char -> valid' do
|
867
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
868
|
+
expect(parser.marc_spec).to parse('...$%{/#=\\/}', trace: true, reporter: reporter)
|
869
|
+
end
|
870
|
+
|
871
|
+
it '&& two wildcards left with digit -> valid' do
|
872
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
873
|
+
expect(parser.marc_spec).to parse('...$%{$a}', trace: true, reporter: reporter)
|
874
|
+
end
|
875
|
+
|
876
|
+
it '&& wildcard between digits -> valid' do
|
877
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
878
|
+
expect(parser.marc_spec).to parse('...$%{!$a}', trace: true, reporter: reporter)
|
879
|
+
end
|
880
|
+
|
881
|
+
end
|
882
|
+
|
883
|
+
describe "subfieldtag '" do
|
884
|
+
|
885
|
+
it '&& all digits -> valid' do
|
886
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
887
|
+
expect(parser.marc_spec).to parse("...$'{$a~\\Poe}", trace: true, reporter: reporter)
|
888
|
+
end
|
889
|
+
|
890
|
+
it '&& all lowercase chars -> valid' do
|
891
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
892
|
+
expect(parser.marc_spec).to parse("...$'{$a~\\test\\{}", trace: true, reporter: reporter)
|
893
|
+
expect(parser.marc_spec).to parse("...$'{$a~\\test\\~}", trace: true, reporter: reporter)
|
894
|
+
expect(parser.marc_spec).to parse("...$'{$a~\\test\\?}", trace: true, reporter: reporter)
|
895
|
+
expect(parser.marc_spec).to parse("...$'{$a~\\test\\|}", trace: true, reporter: reporter)
|
896
|
+
end
|
897
|
+
|
898
|
+
it '&& all uppercase chars special leader -> valid' do
|
899
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
900
|
+
expect(parser.marc_spec).to parse("...$'{$a!~\\Poe}", trace: true, reporter: reporter)
|
901
|
+
end
|
902
|
+
|
903
|
+
it '&& all wildcards -> valid' do
|
904
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
905
|
+
expect(parser.marc_spec).to parse("...$'{245$a}", trace: true, reporter: reporter)
|
906
|
+
end
|
907
|
+
|
908
|
+
it '&& mix one lowercase char and two digits -> valid' do
|
909
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
910
|
+
expect(parser.marc_spec).to parse("...$'{$a|$b|$c}", trace: true, reporter: reporter)
|
911
|
+
end
|
912
|
+
|
913
|
+
it '&& mix two lowercase chars and one digit -> valid' do
|
914
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
915
|
+
expect(parser.marc_spec).to parse("...$'{$a~\\test\\$}", trace: true, reporter: reporter)
|
916
|
+
end
|
917
|
+
|
918
|
+
it '&& one digit two wildcards right -> valid' do
|
919
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
920
|
+
expect(parser.marc_spec).to parse("...$'{$a!=$b}", trace: true, reporter: reporter)
|
921
|
+
end
|
922
|
+
|
923
|
+
it '&& one lowercase and two wildcards right -> valid' do
|
924
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
925
|
+
expect(parser.marc_spec).to parse("...$'{$a~\\test\\=}", trace: true, reporter: reporter)
|
926
|
+
end
|
927
|
+
|
928
|
+
it '&& one uppercase char two wildcards right -> valid' do
|
929
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
930
|
+
expect(parser.marc_spec).to parse("...$'{$a|$b}{$c|$d}", trace: true, reporter: reporter)
|
931
|
+
end
|
932
|
+
|
933
|
+
it '&& one wildcard between uppercase chars -> valid' do
|
934
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
935
|
+
expect(parser.marc_spec).to parse("...$'{$a}{$b|$c}", trace: true, reporter: reporter)
|
936
|
+
end
|
937
|
+
|
938
|
+
it '&& one wildcard left and two lowercase chars -> valid' do
|
939
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
940
|
+
expect(parser.marc_spec).to parse("...$'{$a~\\test\\!}", trace: true, reporter: reporter)
|
941
|
+
end
|
942
|
+
|
943
|
+
it '&& one wildcard left two uppercase chars -> valid' do
|
944
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
945
|
+
expect(parser.marc_spec).to parse("...$'{$a|$b}{$c}", trace: true, reporter: reporter)
|
946
|
+
end
|
947
|
+
|
948
|
+
it '&& one wildcard left with two digits -> valid' do
|
949
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
950
|
+
expect(parser.marc_spec).to parse("...$'{?$a}", trace: true, reporter: reporter)
|
951
|
+
end
|
952
|
+
|
953
|
+
it '&& two digits wildcard right -> valid' do
|
954
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
955
|
+
expect(parser.marc_spec).to parse("...$'{$a=$b}", trace: true, reporter: reporter)
|
956
|
+
end
|
957
|
+
|
958
|
+
it '&& two wildcards and one lowercase char right -> valid' do
|
959
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
960
|
+
expect(parser.marc_spec).to parse("...$'{$a~\\test\\}}", trace: true, reporter: reporter)
|
961
|
+
end
|
962
|
+
|
963
|
+
it '&& two wildcards left one uppercase char -> valid' do
|
964
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
965
|
+
expect(parser.marc_spec).to parse("...$'{/#=\\/}", trace: true, reporter: reporter)
|
966
|
+
end
|
967
|
+
|
968
|
+
it '&& two wildcards left with digit -> valid' do
|
969
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
970
|
+
expect(parser.marc_spec).to parse("...$'{$a}", trace: true, reporter: reporter)
|
971
|
+
end
|
972
|
+
|
973
|
+
it '&& wildcard between digits -> valid' do
|
974
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
975
|
+
expect(parser.marc_spec).to parse("...$'{!$a}", trace: true, reporter: reporter)
|
976
|
+
end
|
977
|
+
|
978
|
+
end
|
979
|
+
|
980
|
+
describe 'subfieldtag (' do
|
981
|
+
|
982
|
+
it '&& all digits -> valid' do
|
983
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
984
|
+
expect(parser.marc_spec).to parse('...$({$a~\\Poe}', trace: true, reporter: reporter)
|
985
|
+
end
|
986
|
+
|
987
|
+
it '&& all lowercase chars -> valid' do
|
988
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
989
|
+
expect(parser.marc_spec).to parse('...$({$a~\\test\\{}', trace: true, reporter: reporter)
|
990
|
+
expect(parser.marc_spec).to parse('...$({$a~\\test\\~}', trace: true, reporter: reporter)
|
991
|
+
expect(parser.marc_spec).to parse('...$({$a~\\test\\?}', trace: true, reporter: reporter)
|
992
|
+
expect(parser.marc_spec).to parse('...$({$a~\\test\\|}', trace: true, reporter: reporter)
|
993
|
+
end
|
994
|
+
|
995
|
+
it '&& all uppercase chars special leader -> valid' do
|
996
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
997
|
+
expect(parser.marc_spec).to parse('...$({$a!~\\Poe}', trace: true, reporter: reporter)
|
998
|
+
end
|
999
|
+
|
1000
|
+
it '&& all wildcards -> valid' do
|
1001
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1002
|
+
expect(parser.marc_spec).to parse('...$({245$a}', trace: true, reporter: reporter)
|
1003
|
+
end
|
1004
|
+
|
1005
|
+
it '&& mix one lowercase char and two digits -> valid' do
|
1006
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1007
|
+
expect(parser.marc_spec).to parse('...$({$a|$b|$c}', trace: true, reporter: reporter)
|
1008
|
+
end
|
1009
|
+
|
1010
|
+
it '&& mix two lowercase chars and one digit -> valid' do
|
1011
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1012
|
+
expect(parser.marc_spec).to parse('...$({$a~\\test\\$}', trace: true, reporter: reporter)
|
1013
|
+
end
|
1014
|
+
|
1015
|
+
it '&& one digit two wildcards right -> valid' do
|
1016
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1017
|
+
expect(parser.marc_spec).to parse('...$({$a!=$b}', trace: true, reporter: reporter)
|
1018
|
+
end
|
1019
|
+
|
1020
|
+
it '&& one lowercase and two wildcards right -> valid' do
|
1021
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1022
|
+
expect(parser.marc_spec).to parse('...$({$a~\\test\\=}', trace: true, reporter: reporter)
|
1023
|
+
end
|
1024
|
+
|
1025
|
+
it '&& one uppercase char two wildcards right -> valid' do
|
1026
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1027
|
+
expect(parser.marc_spec).to parse('...$({$a|$b}{$c|$d}', trace: true, reporter: reporter)
|
1028
|
+
end
|
1029
|
+
|
1030
|
+
it '&& one wildcard between uppercase chars -> valid' do
|
1031
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1032
|
+
expect(parser.marc_spec).to parse('...$({$a}{$b|$c}', trace: true, reporter: reporter)
|
1033
|
+
end
|
1034
|
+
|
1035
|
+
it '&& one wildcard left and two lowercase chars -> valid' do
|
1036
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1037
|
+
expect(parser.marc_spec).to parse('...$({$a~\\test\\!}', trace: true, reporter: reporter)
|
1038
|
+
end
|
1039
|
+
|
1040
|
+
it '&& one wildcard left two uppercase chars -> valid' do
|
1041
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1042
|
+
expect(parser.marc_spec).to parse('...$({$a|$b}{$c}', trace: true, reporter: reporter)
|
1043
|
+
end
|
1044
|
+
|
1045
|
+
it '&& one wildcard left with two digits -> valid' do
|
1046
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1047
|
+
expect(parser.marc_spec).to parse('...$({?$a}', trace: true, reporter: reporter)
|
1048
|
+
end
|
1049
|
+
|
1050
|
+
it '&& two digits wildcard right -> valid' do
|
1051
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1052
|
+
expect(parser.marc_spec).to parse('...$({$a=$b}', trace: true, reporter: reporter)
|
1053
|
+
end
|
1054
|
+
|
1055
|
+
it '&& two wildcards and one lowercase char right -> valid' do
|
1056
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1057
|
+
expect(parser.marc_spec).to parse('...$({$a~\\test\\}}', trace: true, reporter: reporter)
|
1058
|
+
end
|
1059
|
+
|
1060
|
+
it '&& two wildcards left one uppercase char -> valid' do
|
1061
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1062
|
+
expect(parser.marc_spec).to parse('...$({/#=\\/}', trace: true, reporter: reporter)
|
1063
|
+
end
|
1064
|
+
|
1065
|
+
it '&& two wildcards left with digit -> valid' do
|
1066
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1067
|
+
expect(parser.marc_spec).to parse('...$({$a}', trace: true, reporter: reporter)
|
1068
|
+
end
|
1069
|
+
|
1070
|
+
it '&& wildcard between digits -> valid' do
|
1071
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1072
|
+
expect(parser.marc_spec).to parse('...$({!$a}', trace: true, reporter: reporter)
|
1073
|
+
end
|
1074
|
+
|
1075
|
+
end
|
1076
|
+
|
1077
|
+
describe 'subfieldtag )' do
|
1078
|
+
|
1079
|
+
it '&& all digits -> valid' do
|
1080
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1081
|
+
expect(parser.marc_spec).to parse('...$){$a~\\Poe}', trace: true, reporter: reporter)
|
1082
|
+
end
|
1083
|
+
|
1084
|
+
it '&& all lowercase chars -> valid' do
|
1085
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1086
|
+
expect(parser.marc_spec).to parse('...$){$a~\\test\\{}', trace: true, reporter: reporter)
|
1087
|
+
expect(parser.marc_spec).to parse('...$){$a~\\test\\~}', trace: true, reporter: reporter)
|
1088
|
+
expect(parser.marc_spec).to parse('...$){$a~\\test\\?}', trace: true, reporter: reporter)
|
1089
|
+
expect(parser.marc_spec).to parse('...$){$a~\\test\\|}', trace: true, reporter: reporter)
|
1090
|
+
end
|
1091
|
+
|
1092
|
+
it '&& all uppercase chars special leader -> valid' do
|
1093
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1094
|
+
expect(parser.marc_spec).to parse('...$){$a!~\\Poe}', trace: true, reporter: reporter)
|
1095
|
+
end
|
1096
|
+
|
1097
|
+
it '&& all wildcards -> valid' do
|
1098
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1099
|
+
expect(parser.marc_spec).to parse('...$){245$a}', trace: true, reporter: reporter)
|
1100
|
+
end
|
1101
|
+
|
1102
|
+
it '&& mix one lowercase char and two digits -> valid' do
|
1103
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1104
|
+
expect(parser.marc_spec).to parse('...$){$a|$b|$c}', trace: true, reporter: reporter)
|
1105
|
+
end
|
1106
|
+
|
1107
|
+
it '&& mix two lowercase chars and one digit -> valid' do
|
1108
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1109
|
+
expect(parser.marc_spec).to parse('...$){$a~\\test\\$}', trace: true, reporter: reporter)
|
1110
|
+
end
|
1111
|
+
|
1112
|
+
it '&& one digit two wildcards right -> valid' do
|
1113
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1114
|
+
expect(parser.marc_spec).to parse('...$){$a!=$b}', trace: true, reporter: reporter)
|
1115
|
+
end
|
1116
|
+
|
1117
|
+
it '&& one lowercase and two wildcards right -> valid' do
|
1118
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1119
|
+
expect(parser.marc_spec).to parse('...$){$a~\\test\\=}', trace: true, reporter: reporter)
|
1120
|
+
end
|
1121
|
+
|
1122
|
+
it '&& one uppercase char two wildcards right -> valid' do
|
1123
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1124
|
+
expect(parser.marc_spec).to parse('...$){$a|$b}{$c|$d}', trace: true, reporter: reporter)
|
1125
|
+
end
|
1126
|
+
|
1127
|
+
it '&& one wildcard between uppercase chars -> valid' do
|
1128
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1129
|
+
expect(parser.marc_spec).to parse('...$){$a}{$b|$c}', trace: true, reporter: reporter)
|
1130
|
+
end
|
1131
|
+
|
1132
|
+
it '&& one wildcard left and two lowercase chars -> valid' do
|
1133
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1134
|
+
expect(parser.marc_spec).to parse('...$){$a~\\test\\!}', trace: true, reporter: reporter)
|
1135
|
+
end
|
1136
|
+
|
1137
|
+
it '&& one wildcard left two uppercase chars -> valid' do
|
1138
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1139
|
+
expect(parser.marc_spec).to parse('...$){$a|$b}{$c}', trace: true, reporter: reporter)
|
1140
|
+
end
|
1141
|
+
|
1142
|
+
it '&& one wildcard left with two digits -> valid' do
|
1143
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1144
|
+
expect(parser.marc_spec).to parse('...$){?$a}', trace: true, reporter: reporter)
|
1145
|
+
end
|
1146
|
+
|
1147
|
+
it '&& two digits wildcard right -> valid' do
|
1148
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1149
|
+
expect(parser.marc_spec).to parse('...$){$a=$b}', trace: true, reporter: reporter)
|
1150
|
+
end
|
1151
|
+
|
1152
|
+
it '&& two wildcards and one lowercase char right -> valid' do
|
1153
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1154
|
+
expect(parser.marc_spec).to parse('...$){$a~\\test\\}}', trace: true, reporter: reporter)
|
1155
|
+
end
|
1156
|
+
|
1157
|
+
it '&& two wildcards left one uppercase char -> valid' do
|
1158
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1159
|
+
expect(parser.marc_spec).to parse('...$){/#=\\/}', trace: true, reporter: reporter)
|
1160
|
+
end
|
1161
|
+
|
1162
|
+
it '&& two wildcards left with digit -> valid' do
|
1163
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1164
|
+
expect(parser.marc_spec).to parse('...$){$a}', trace: true, reporter: reporter)
|
1165
|
+
end
|
1166
|
+
|
1167
|
+
it '&& wildcard between digits -> valid' do
|
1168
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1169
|
+
expect(parser.marc_spec).to parse('...$){!$a}', trace: true, reporter: reporter)
|
1170
|
+
end
|
1171
|
+
|
1172
|
+
end
|
1173
|
+
|
1174
|
+
describe 'subfieldtag *' do
|
1175
|
+
|
1176
|
+
it '&& all digits -> valid' do
|
1177
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1178
|
+
expect(parser.marc_spec).to parse('...$*{$a~\\Poe}', trace: true, reporter: reporter)
|
1179
|
+
end
|
1180
|
+
|
1181
|
+
it '&& all lowercase chars -> valid' do
|
1182
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1183
|
+
expect(parser.marc_spec).to parse('...$*{$a~\\test\\{}', trace: true, reporter: reporter)
|
1184
|
+
expect(parser.marc_spec).to parse('...$*{$a~\\test\\~}', trace: true, reporter: reporter)
|
1185
|
+
expect(parser.marc_spec).to parse('...$*{$a~\\test\\?}', trace: true, reporter: reporter)
|
1186
|
+
expect(parser.marc_spec).to parse('...$*{$a~\\test\\|}', trace: true, reporter: reporter)
|
1187
|
+
end
|
1188
|
+
|
1189
|
+
it '&& all uppercase chars special leader -> valid' do
|
1190
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1191
|
+
expect(parser.marc_spec).to parse('...$*{$a!~\\Poe}', trace: true, reporter: reporter)
|
1192
|
+
end
|
1193
|
+
|
1194
|
+
it '&& all wildcards -> valid' do
|
1195
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1196
|
+
expect(parser.marc_spec).to parse('...$*{245$a}', trace: true, reporter: reporter)
|
1197
|
+
end
|
1198
|
+
|
1199
|
+
it '&& mix one lowercase char and two digits -> valid' do
|
1200
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1201
|
+
expect(parser.marc_spec).to parse('...$*{$a|$b|$c}', trace: true, reporter: reporter)
|
1202
|
+
end
|
1203
|
+
|
1204
|
+
it '&& mix two lowercase chars and one digit -> valid' do
|
1205
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1206
|
+
expect(parser.marc_spec).to parse('...$*{$a~\\test\\$}', trace: true, reporter: reporter)
|
1207
|
+
end
|
1208
|
+
|
1209
|
+
it '&& one digit two wildcards right -> valid' do
|
1210
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1211
|
+
expect(parser.marc_spec).to parse('...$*{$a!=$b}', trace: true, reporter: reporter)
|
1212
|
+
end
|
1213
|
+
|
1214
|
+
it '&& one lowercase and two wildcards right -> valid' do
|
1215
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1216
|
+
expect(parser.marc_spec).to parse('...$*{$a~\\test\\=}', trace: true, reporter: reporter)
|
1217
|
+
end
|
1218
|
+
|
1219
|
+
it '&& one uppercase char two wildcards right -> valid' do
|
1220
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1221
|
+
expect(parser.marc_spec).to parse('...$*{$a|$b}{$c|$d}', trace: true, reporter: reporter)
|
1222
|
+
end
|
1223
|
+
|
1224
|
+
it '&& one wildcard between uppercase chars -> valid' do
|
1225
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1226
|
+
expect(parser.marc_spec).to parse('...$*{$a}{$b|$c}', trace: true, reporter: reporter)
|
1227
|
+
end
|
1228
|
+
|
1229
|
+
it '&& one wildcard left and two lowercase chars -> valid' do
|
1230
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1231
|
+
expect(parser.marc_spec).to parse('...$*{$a~\\test\\!}', trace: true, reporter: reporter)
|
1232
|
+
end
|
1233
|
+
|
1234
|
+
it '&& one wildcard left two uppercase chars -> valid' do
|
1235
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1236
|
+
expect(parser.marc_spec).to parse('...$*{$a|$b}{$c}', trace: true, reporter: reporter)
|
1237
|
+
end
|
1238
|
+
|
1239
|
+
it '&& one wildcard left with two digits -> valid' do
|
1240
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1241
|
+
expect(parser.marc_spec).to parse('...$*{?$a}', trace: true, reporter: reporter)
|
1242
|
+
end
|
1243
|
+
|
1244
|
+
it '&& two digits wildcard right -> valid' do
|
1245
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1246
|
+
expect(parser.marc_spec).to parse('...$*{$a=$b}', trace: true, reporter: reporter)
|
1247
|
+
end
|
1248
|
+
|
1249
|
+
it '&& two wildcards and one lowercase char right -> valid' do
|
1250
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1251
|
+
expect(parser.marc_spec).to parse('...$*{$a~\\test\\}}', trace: true, reporter: reporter)
|
1252
|
+
end
|
1253
|
+
|
1254
|
+
it '&& two wildcards left one uppercase char -> valid' do
|
1255
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1256
|
+
expect(parser.marc_spec).to parse('...$*{/#=\\/}', trace: true, reporter: reporter)
|
1257
|
+
end
|
1258
|
+
|
1259
|
+
it '&& two wildcards left with digit -> valid' do
|
1260
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1261
|
+
expect(parser.marc_spec).to parse('...$*{$a}', trace: true, reporter: reporter)
|
1262
|
+
end
|
1263
|
+
|
1264
|
+
it '&& wildcard between digits -> valid' do
|
1265
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1266
|
+
expect(parser.marc_spec).to parse('...$*{!$a}', trace: true, reporter: reporter)
|
1267
|
+
end
|
1268
|
+
|
1269
|
+
end
|
1270
|
+
|
1271
|
+
describe 'subfieldtag +' do
|
1272
|
+
|
1273
|
+
it '&& all digits -> valid' do
|
1274
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1275
|
+
expect(parser.marc_spec).to parse('...$+{$a~\\Poe}', trace: true, reporter: reporter)
|
1276
|
+
end
|
1277
|
+
|
1278
|
+
it '&& all lowercase chars -> valid' do
|
1279
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1280
|
+
expect(parser.marc_spec).to parse('...$+{$a~\\test\\{}', trace: true, reporter: reporter)
|
1281
|
+
expect(parser.marc_spec).to parse('...$+{$a~\\test\\~}', trace: true, reporter: reporter)
|
1282
|
+
expect(parser.marc_spec).to parse('...$+{$a~\\test\\?}', trace: true, reporter: reporter)
|
1283
|
+
expect(parser.marc_spec).to parse('...$+{$a~\\test\\|}', trace: true, reporter: reporter)
|
1284
|
+
end
|
1285
|
+
|
1286
|
+
it '&& all uppercase chars special leader -> valid' do
|
1287
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1288
|
+
expect(parser.marc_spec).to parse('...$+{$a!~\\Poe}', trace: true, reporter: reporter)
|
1289
|
+
end
|
1290
|
+
|
1291
|
+
it '&& all wildcards -> valid' do
|
1292
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1293
|
+
expect(parser.marc_spec).to parse('...$+{245$a}', trace: true, reporter: reporter)
|
1294
|
+
end
|
1295
|
+
|
1296
|
+
it '&& mix one lowercase char and two digits -> valid' do
|
1297
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1298
|
+
expect(parser.marc_spec).to parse('...$+{$a|$b|$c}', trace: true, reporter: reporter)
|
1299
|
+
end
|
1300
|
+
|
1301
|
+
it '&& mix two lowercase chars and one digit -> valid' do
|
1302
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1303
|
+
expect(parser.marc_spec).to parse('...$+{$a~\\test\\$}', trace: true, reporter: reporter)
|
1304
|
+
end
|
1305
|
+
|
1306
|
+
it '&& one digit two wildcards right -> valid' do
|
1307
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1308
|
+
expect(parser.marc_spec).to parse('...$+{$a!=$b}', trace: true, reporter: reporter)
|
1309
|
+
end
|
1310
|
+
|
1311
|
+
it '&& one lowercase and two wildcards right -> valid' do
|
1312
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1313
|
+
expect(parser.marc_spec).to parse('...$+{$a~\\test\\=}', trace: true, reporter: reporter)
|
1314
|
+
end
|
1315
|
+
|
1316
|
+
it '&& one uppercase char two wildcards right -> valid' do
|
1317
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1318
|
+
expect(parser.marc_spec).to parse('...$+{$a|$b}{$c|$d}', trace: true, reporter: reporter)
|
1319
|
+
end
|
1320
|
+
|
1321
|
+
it '&& one wildcard between uppercase chars -> valid' do
|
1322
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1323
|
+
expect(parser.marc_spec).to parse('...$+{$a}{$b|$c}', trace: true, reporter: reporter)
|
1324
|
+
end
|
1325
|
+
|
1326
|
+
it '&& one wildcard left and two lowercase chars -> valid' do
|
1327
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1328
|
+
expect(parser.marc_spec).to parse('...$+{$a~\\test\\!}', trace: true, reporter: reporter)
|
1329
|
+
end
|
1330
|
+
|
1331
|
+
it '&& one wildcard left two uppercase chars -> valid' do
|
1332
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1333
|
+
expect(parser.marc_spec).to parse('...$+{$a|$b}{$c}', trace: true, reporter: reporter)
|
1334
|
+
end
|
1335
|
+
|
1336
|
+
it '&& one wildcard left with two digits -> valid' do
|
1337
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1338
|
+
expect(parser.marc_spec).to parse('...$+{?$a}', trace: true, reporter: reporter)
|
1339
|
+
end
|
1340
|
+
|
1341
|
+
it '&& two digits wildcard right -> valid' do
|
1342
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1343
|
+
expect(parser.marc_spec).to parse('...$+{$a=$b}', trace: true, reporter: reporter)
|
1344
|
+
end
|
1345
|
+
|
1346
|
+
it '&& two wildcards and one lowercase char right -> valid' do
|
1347
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1348
|
+
expect(parser.marc_spec).to parse('...$+{$a~\\test\\}}', trace: true, reporter: reporter)
|
1349
|
+
end
|
1350
|
+
|
1351
|
+
it '&& two wildcards left one uppercase char -> valid' do
|
1352
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1353
|
+
expect(parser.marc_spec).to parse('...$+{/#=\\/}', trace: true, reporter: reporter)
|
1354
|
+
end
|
1355
|
+
|
1356
|
+
it '&& two wildcards left with digit -> valid' do
|
1357
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1358
|
+
expect(parser.marc_spec).to parse('...$+{$a}', trace: true, reporter: reporter)
|
1359
|
+
end
|
1360
|
+
|
1361
|
+
it '&& wildcard between digits -> valid' do
|
1362
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1363
|
+
expect(parser.marc_spec).to parse('...$+{!$a}', trace: true, reporter: reporter)
|
1364
|
+
end
|
1365
|
+
|
1366
|
+
end
|
1367
|
+
|
1368
|
+
describe 'subfieldtag ,' do
|
1369
|
+
|
1370
|
+
it '&& all digits -> valid' do
|
1371
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1372
|
+
expect(parser.marc_spec).to parse('...$,{$a~\\Poe}', trace: true, reporter: reporter)
|
1373
|
+
end
|
1374
|
+
|
1375
|
+
it '&& all lowercase chars -> valid' do
|
1376
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1377
|
+
expect(parser.marc_spec).to parse('...$,{$a~\\test\\{}', trace: true, reporter: reporter)
|
1378
|
+
expect(parser.marc_spec).to parse('...$,{$a~\\test\\~}', trace: true, reporter: reporter)
|
1379
|
+
expect(parser.marc_spec).to parse('...$,{$a~\\test\\?}', trace: true, reporter: reporter)
|
1380
|
+
expect(parser.marc_spec).to parse('...$,{$a~\\test\\|}', trace: true, reporter: reporter)
|
1381
|
+
end
|
1382
|
+
|
1383
|
+
it '&& all uppercase chars special leader -> valid' do
|
1384
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1385
|
+
expect(parser.marc_spec).to parse('...$,{$a!~\\Poe}', trace: true, reporter: reporter)
|
1386
|
+
end
|
1387
|
+
|
1388
|
+
it '&& all wildcards -> valid' do
|
1389
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1390
|
+
expect(parser.marc_spec).to parse('...$,{245$a}', trace: true, reporter: reporter)
|
1391
|
+
end
|
1392
|
+
|
1393
|
+
it '&& mix one lowercase char and two digits -> valid' do
|
1394
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1395
|
+
expect(parser.marc_spec).to parse('...$,{$a|$b|$c}', trace: true, reporter: reporter)
|
1396
|
+
end
|
1397
|
+
|
1398
|
+
it '&& mix two lowercase chars and one digit -> valid' do
|
1399
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1400
|
+
expect(parser.marc_spec).to parse('...$,{$a~\\test\\$}', trace: true, reporter: reporter)
|
1401
|
+
end
|
1402
|
+
|
1403
|
+
it '&& one digit two wildcards right -> valid' do
|
1404
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1405
|
+
expect(parser.marc_spec).to parse('...$,{$a!=$b}', trace: true, reporter: reporter)
|
1406
|
+
end
|
1407
|
+
|
1408
|
+
it '&& one lowercase and two wildcards right -> valid' do
|
1409
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1410
|
+
expect(parser.marc_spec).to parse('...$,{$a~\\test\\=}', trace: true, reporter: reporter)
|
1411
|
+
end
|
1412
|
+
|
1413
|
+
it '&& one uppercase char two wildcards right -> valid' do
|
1414
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1415
|
+
expect(parser.marc_spec).to parse('...$,{$a|$b}{$c|$d}', trace: true, reporter: reporter)
|
1416
|
+
end
|
1417
|
+
|
1418
|
+
it '&& one wildcard between uppercase chars -> valid' do
|
1419
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1420
|
+
expect(parser.marc_spec).to parse('...$,{$a}{$b|$c}', trace: true, reporter: reporter)
|
1421
|
+
end
|
1422
|
+
|
1423
|
+
it '&& one wildcard left and two lowercase chars -> valid' do
|
1424
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1425
|
+
expect(parser.marc_spec).to parse('...$,{$a~\\test\\!}', trace: true, reporter: reporter)
|
1426
|
+
end
|
1427
|
+
|
1428
|
+
it '&& one wildcard left two uppercase chars -> valid' do
|
1429
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1430
|
+
expect(parser.marc_spec).to parse('...$,{$a|$b}{$c}', trace: true, reporter: reporter)
|
1431
|
+
end
|
1432
|
+
|
1433
|
+
it '&& one wildcard left with two digits -> valid' do
|
1434
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1435
|
+
expect(parser.marc_spec).to parse('...$,{?$a}', trace: true, reporter: reporter)
|
1436
|
+
end
|
1437
|
+
|
1438
|
+
it '&& two digits wildcard right -> valid' do
|
1439
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1440
|
+
expect(parser.marc_spec).to parse('...$,{$a=$b}', trace: true, reporter: reporter)
|
1441
|
+
end
|
1442
|
+
|
1443
|
+
it '&& two wildcards and one lowercase char right -> valid' do
|
1444
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1445
|
+
expect(parser.marc_spec).to parse('...$,{$a~\\test\\}}', trace: true, reporter: reporter)
|
1446
|
+
end
|
1447
|
+
|
1448
|
+
it '&& two wildcards left one uppercase char -> valid' do
|
1449
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1450
|
+
expect(parser.marc_spec).to parse('...$,{/#=\\/}', trace: true, reporter: reporter)
|
1451
|
+
end
|
1452
|
+
|
1453
|
+
it '&& two wildcards left with digit -> valid' do
|
1454
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1455
|
+
expect(parser.marc_spec).to parse('...$,{$a}', trace: true, reporter: reporter)
|
1456
|
+
end
|
1457
|
+
|
1458
|
+
it '&& wildcard between digits -> valid' do
|
1459
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1460
|
+
expect(parser.marc_spec).to parse('...$,{!$a}', trace: true, reporter: reporter)
|
1461
|
+
end
|
1462
|
+
|
1463
|
+
end
|
1464
|
+
|
1465
|
+
describe 'subfieldtag -' do
|
1466
|
+
|
1467
|
+
it '&& all digits -> valid' do
|
1468
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1469
|
+
expect(parser.marc_spec).to parse('...$-{$a~\\Poe}', trace: true, reporter: reporter)
|
1470
|
+
end
|
1471
|
+
|
1472
|
+
it '&& all lowercase chars -> valid' do
|
1473
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1474
|
+
expect(parser.marc_spec).to parse('...$-{$a~\\test\\{}', trace: true, reporter: reporter)
|
1475
|
+
expect(parser.marc_spec).to parse('...$-{$a~\\test\\~}', trace: true, reporter: reporter)
|
1476
|
+
expect(parser.marc_spec).to parse('...$-{$a~\\test\\?}', trace: true, reporter: reporter)
|
1477
|
+
expect(parser.marc_spec).to parse('...$-{$a~\\test\\|}', trace: true, reporter: reporter)
|
1478
|
+
end
|
1479
|
+
|
1480
|
+
it '&& all uppercase chars special leader -> valid' do
|
1481
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1482
|
+
expect(parser.marc_spec).to parse('...$-{$a!~\\Poe}', trace: true, reporter: reporter)
|
1483
|
+
end
|
1484
|
+
|
1485
|
+
it '&& all wildcards -> valid' do
|
1486
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1487
|
+
expect(parser.marc_spec).to parse('...$-{245$a}', trace: true, reporter: reporter)
|
1488
|
+
end
|
1489
|
+
|
1490
|
+
it '&& mix one lowercase char and two digits -> valid' do
|
1491
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1492
|
+
expect(parser.marc_spec).to parse('...$-{$a|$b|$c}', trace: true, reporter: reporter)
|
1493
|
+
end
|
1494
|
+
|
1495
|
+
it '&& mix two lowercase chars and one digit -> valid' do
|
1496
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1497
|
+
expect(parser.marc_spec).to parse('...$-{$a~\\test\\$}', trace: true, reporter: reporter)
|
1498
|
+
end
|
1499
|
+
|
1500
|
+
it '&& one digit two wildcards right -> valid' do
|
1501
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1502
|
+
expect(parser.marc_spec).to parse('...$-{$a!=$b}', trace: true, reporter: reporter)
|
1503
|
+
end
|
1504
|
+
|
1505
|
+
it '&& one lowercase and two wildcards right -> valid' do
|
1506
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1507
|
+
expect(parser.marc_spec).to parse('...$-{$a~\\test\\=}', trace: true, reporter: reporter)
|
1508
|
+
end
|
1509
|
+
|
1510
|
+
it '&& one uppercase char two wildcards right -> valid' do
|
1511
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1512
|
+
expect(parser.marc_spec).to parse('...$-{$a|$b}{$c|$d}', trace: true, reporter: reporter)
|
1513
|
+
end
|
1514
|
+
|
1515
|
+
it '&& one wildcard between uppercase chars -> valid' do
|
1516
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1517
|
+
expect(parser.marc_spec).to parse('...$-{$a}{$b|$c}', trace: true, reporter: reporter)
|
1518
|
+
end
|
1519
|
+
|
1520
|
+
it '&& one wildcard left and two lowercase chars -> valid' do
|
1521
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1522
|
+
expect(parser.marc_spec).to parse('...$-{$a~\\test\\!}', trace: true, reporter: reporter)
|
1523
|
+
end
|
1524
|
+
|
1525
|
+
it '&& one wildcard left two uppercase chars -> valid' do
|
1526
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1527
|
+
expect(parser.marc_spec).to parse('...$-{$a|$b}{$c}', trace: true, reporter: reporter)
|
1528
|
+
end
|
1529
|
+
|
1530
|
+
it '&& one wildcard left with two digits -> valid' do
|
1531
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1532
|
+
expect(parser.marc_spec).to parse('...$-{?$a}', trace: true, reporter: reporter)
|
1533
|
+
end
|
1534
|
+
|
1535
|
+
it '&& two digits wildcard right -> valid' do
|
1536
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1537
|
+
expect(parser.marc_spec).to parse('...$-{$a=$b}', trace: true, reporter: reporter)
|
1538
|
+
end
|
1539
|
+
|
1540
|
+
it '&& two wildcards and one lowercase char right -> valid' do
|
1541
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1542
|
+
expect(parser.marc_spec).to parse('...$-{$a~\\test\\}}', trace: true, reporter: reporter)
|
1543
|
+
end
|
1544
|
+
|
1545
|
+
it '&& two wildcards left one uppercase char -> valid' do
|
1546
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1547
|
+
expect(parser.marc_spec).to parse('...$-{/#=\\/}', trace: true, reporter: reporter)
|
1548
|
+
end
|
1549
|
+
|
1550
|
+
it '&& two wildcards left with digit -> valid' do
|
1551
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1552
|
+
expect(parser.marc_spec).to parse('...$-{$a}', trace: true, reporter: reporter)
|
1553
|
+
end
|
1554
|
+
|
1555
|
+
it '&& wildcard between digits -> valid' do
|
1556
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1557
|
+
expect(parser.marc_spec).to parse('...$-{!$a}', trace: true, reporter: reporter)
|
1558
|
+
end
|
1559
|
+
|
1560
|
+
end
|
1561
|
+
|
1562
|
+
describe 'subfieldtag .' do
|
1563
|
+
|
1564
|
+
it '&& all digits -> valid' do
|
1565
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1566
|
+
expect(parser.marc_spec).to parse('...$.{$a~\\Poe}', trace: true, reporter: reporter)
|
1567
|
+
end
|
1568
|
+
|
1569
|
+
it '&& all lowercase chars -> valid' do
|
1570
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1571
|
+
expect(parser.marc_spec).to parse('...$.{$a~\\test\\{}', trace: true, reporter: reporter)
|
1572
|
+
expect(parser.marc_spec).to parse('...$.{$a~\\test\\~}', trace: true, reporter: reporter)
|
1573
|
+
expect(parser.marc_spec).to parse('...$.{$a~\\test\\?}', trace: true, reporter: reporter)
|
1574
|
+
expect(parser.marc_spec).to parse('...$.{$a~\\test\\|}', trace: true, reporter: reporter)
|
1575
|
+
end
|
1576
|
+
|
1577
|
+
it '&& all uppercase chars special leader -> valid' do
|
1578
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1579
|
+
expect(parser.marc_spec).to parse('...$.{$a!~\\Poe}', trace: true, reporter: reporter)
|
1580
|
+
end
|
1581
|
+
|
1582
|
+
it '&& all wildcards -> valid' do
|
1583
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1584
|
+
expect(parser.marc_spec).to parse('...$.{245$a}', trace: true, reporter: reporter)
|
1585
|
+
end
|
1586
|
+
|
1587
|
+
it '&& mix one lowercase char and two digits -> valid' do
|
1588
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1589
|
+
expect(parser.marc_spec).to parse('...$.{$a|$b|$c}', trace: true, reporter: reporter)
|
1590
|
+
end
|
1591
|
+
|
1592
|
+
it '&& mix two lowercase chars and one digit -> valid' do
|
1593
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1594
|
+
expect(parser.marc_spec).to parse('...$.{$a~\\test\\$}', trace: true, reporter: reporter)
|
1595
|
+
end
|
1596
|
+
|
1597
|
+
it '&& one digit two wildcards right -> valid' do
|
1598
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1599
|
+
expect(parser.marc_spec).to parse('...$.{$a!=$b}', trace: true, reporter: reporter)
|
1600
|
+
end
|
1601
|
+
|
1602
|
+
it '&& one lowercase and two wildcards right -> valid' do
|
1603
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1604
|
+
expect(parser.marc_spec).to parse('...$.{$a~\\test\\=}', trace: true, reporter: reporter)
|
1605
|
+
end
|
1606
|
+
|
1607
|
+
it '&& one uppercase char two wildcards right -> valid' do
|
1608
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1609
|
+
expect(parser.marc_spec).to parse('...$.{$a|$b}{$c|$d}', trace: true, reporter: reporter)
|
1610
|
+
end
|
1611
|
+
|
1612
|
+
it '&& one wildcard between uppercase chars -> valid' do
|
1613
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1614
|
+
expect(parser.marc_spec).to parse('...$.{$a}{$b|$c}', trace: true, reporter: reporter)
|
1615
|
+
end
|
1616
|
+
|
1617
|
+
it '&& one wildcard left and two lowercase chars -> valid' do
|
1618
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1619
|
+
expect(parser.marc_spec).to parse('...$.{$a~\\test\\!}', trace: true, reporter: reporter)
|
1620
|
+
end
|
1621
|
+
|
1622
|
+
it '&& one wildcard left two uppercase chars -> valid' do
|
1623
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1624
|
+
expect(parser.marc_spec).to parse('...$.{$a|$b}{$c}', trace: true, reporter: reporter)
|
1625
|
+
end
|
1626
|
+
|
1627
|
+
it '&& one wildcard left with two digits -> valid' do
|
1628
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1629
|
+
expect(parser.marc_spec).to parse('...$.{?$a}', trace: true, reporter: reporter)
|
1630
|
+
end
|
1631
|
+
|
1632
|
+
it '&& two digits wildcard right -> valid' do
|
1633
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1634
|
+
expect(parser.marc_spec).to parse('...$.{$a=$b}', trace: true, reporter: reporter)
|
1635
|
+
end
|
1636
|
+
|
1637
|
+
it '&& two wildcards and one lowercase char right -> valid' do
|
1638
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1639
|
+
expect(parser.marc_spec).to parse('...$.{$a~\\test\\}}', trace: true, reporter: reporter)
|
1640
|
+
end
|
1641
|
+
|
1642
|
+
it '&& two wildcards left one uppercase char -> valid' do
|
1643
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1644
|
+
expect(parser.marc_spec).to parse('...$.{/#=\\/}', trace: true, reporter: reporter)
|
1645
|
+
end
|
1646
|
+
|
1647
|
+
it '&& two wildcards left with digit -> valid' do
|
1648
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1649
|
+
expect(parser.marc_spec).to parse('...$.{$a}', trace: true, reporter: reporter)
|
1650
|
+
end
|
1651
|
+
|
1652
|
+
it '&& wildcard between digits -> valid' do
|
1653
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1654
|
+
expect(parser.marc_spec).to parse('...$.{!$a}', trace: true, reporter: reporter)
|
1655
|
+
end
|
1656
|
+
|
1657
|
+
end
|
1658
|
+
|
1659
|
+
describe 'subfieldtag /' do
|
1660
|
+
|
1661
|
+
it '&& all digits -> valid' do
|
1662
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1663
|
+
expect(parser.marc_spec).to parse('...$/{$a~\\Poe}', trace: true, reporter: reporter)
|
1664
|
+
end
|
1665
|
+
|
1666
|
+
it '&& all lowercase chars -> valid' do
|
1667
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1668
|
+
expect(parser.marc_spec).to parse('...$/{$a~\\test\\{}', trace: true, reporter: reporter)
|
1669
|
+
expect(parser.marc_spec).to parse('...$/{$a~\\test\\~}', trace: true, reporter: reporter)
|
1670
|
+
expect(parser.marc_spec).to parse('...$/{$a~\\test\\?}', trace: true, reporter: reporter)
|
1671
|
+
expect(parser.marc_spec).to parse('...$/{$a~\\test\\|}', trace: true, reporter: reporter)
|
1672
|
+
end
|
1673
|
+
|
1674
|
+
it '&& all uppercase chars special leader -> valid' do
|
1675
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1676
|
+
expect(parser.marc_spec).to parse('...$/{$a!~\\Poe}', trace: true, reporter: reporter)
|
1677
|
+
end
|
1678
|
+
|
1679
|
+
it '&& all wildcards -> valid' do
|
1680
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1681
|
+
expect(parser.marc_spec).to parse('...$/{245$a}', trace: true, reporter: reporter)
|
1682
|
+
end
|
1683
|
+
|
1684
|
+
it '&& mix one lowercase char and two digits -> valid' do
|
1685
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1686
|
+
expect(parser.marc_spec).to parse('...$/{$a|$b|$c}', trace: true, reporter: reporter)
|
1687
|
+
end
|
1688
|
+
|
1689
|
+
it '&& mix two lowercase chars and one digit -> valid' do
|
1690
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1691
|
+
expect(parser.marc_spec).to parse('...$/{$a~\\test\\$}', trace: true, reporter: reporter)
|
1692
|
+
end
|
1693
|
+
|
1694
|
+
it '&& one digit two wildcards right -> valid' do
|
1695
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1696
|
+
expect(parser.marc_spec).to parse('...$/{$a!=$b}', trace: true, reporter: reporter)
|
1697
|
+
end
|
1698
|
+
|
1699
|
+
it '&& one lowercase and two wildcards right -> valid' do
|
1700
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1701
|
+
expect(parser.marc_spec).to parse('...$/{$a~\\test\\=}', trace: true, reporter: reporter)
|
1702
|
+
end
|
1703
|
+
|
1704
|
+
it '&& one uppercase char two wildcards right -> valid' do
|
1705
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1706
|
+
expect(parser.marc_spec).to parse('...$/{$a|$b}{$c|$d}', trace: true, reporter: reporter)
|
1707
|
+
end
|
1708
|
+
|
1709
|
+
it '&& one wildcard between uppercase chars -> valid' do
|
1710
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1711
|
+
expect(parser.marc_spec).to parse('...$/{$a}{$b|$c}', trace: true, reporter: reporter)
|
1712
|
+
end
|
1713
|
+
|
1714
|
+
it '&& one wildcard left and two lowercase chars -> valid' do
|
1715
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1716
|
+
expect(parser.marc_spec).to parse('...$/{$a~\\test\\!}', trace: true, reporter: reporter)
|
1717
|
+
end
|
1718
|
+
|
1719
|
+
it '&& one wildcard left two uppercase chars -> valid' do
|
1720
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1721
|
+
expect(parser.marc_spec).to parse('...$/{$a|$b}{$c}', trace: true, reporter: reporter)
|
1722
|
+
end
|
1723
|
+
|
1724
|
+
it '&& one wildcard left with two digits -> valid' do
|
1725
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1726
|
+
expect(parser.marc_spec).to parse('...$/{?$a}', trace: true, reporter: reporter)
|
1727
|
+
end
|
1728
|
+
|
1729
|
+
it '&& two digits wildcard right -> valid' do
|
1730
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1731
|
+
expect(parser.marc_spec).to parse('...$/{$a=$b}', trace: true, reporter: reporter)
|
1732
|
+
end
|
1733
|
+
|
1734
|
+
it '&& two wildcards and one lowercase char right -> valid' do
|
1735
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1736
|
+
expect(parser.marc_spec).to parse('...$/{$a~\\test\\}}', trace: true, reporter: reporter)
|
1737
|
+
end
|
1738
|
+
|
1739
|
+
it '&& two wildcards left one uppercase char -> valid' do
|
1740
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1741
|
+
expect(parser.marc_spec).to parse('...$/{/#=\\/}', trace: true, reporter: reporter)
|
1742
|
+
end
|
1743
|
+
|
1744
|
+
it '&& two wildcards left with digit -> valid' do
|
1745
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1746
|
+
expect(parser.marc_spec).to parse('...$/{$a}', trace: true, reporter: reporter)
|
1747
|
+
end
|
1748
|
+
|
1749
|
+
it '&& wildcard between digits -> valid' do
|
1750
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1751
|
+
expect(parser.marc_spec).to parse('...$/{!$a}', trace: true, reporter: reporter)
|
1752
|
+
end
|
1753
|
+
|
1754
|
+
end
|
1755
|
+
|
1756
|
+
describe 'subfieldtag :' do
|
1757
|
+
|
1758
|
+
it '&& all digits -> valid' do
|
1759
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1760
|
+
expect(parser.marc_spec).to parse('...$:{$a~\\Poe}', trace: true, reporter: reporter)
|
1761
|
+
end
|
1762
|
+
|
1763
|
+
it '&& all lowercase chars -> valid' do
|
1764
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1765
|
+
expect(parser.marc_spec).to parse('...$:{$a~\\test\\{}', trace: true, reporter: reporter)
|
1766
|
+
expect(parser.marc_spec).to parse('...$:{$a~\\test\\~}', trace: true, reporter: reporter)
|
1767
|
+
expect(parser.marc_spec).to parse('...$:{$a~\\test\\?}', trace: true, reporter: reporter)
|
1768
|
+
expect(parser.marc_spec).to parse('...$:{$a~\\test\\|}', trace: true, reporter: reporter)
|
1769
|
+
end
|
1770
|
+
|
1771
|
+
it '&& all uppercase chars special leader -> valid' do
|
1772
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1773
|
+
expect(parser.marc_spec).to parse('...$:{$a!~\\Poe}', trace: true, reporter: reporter)
|
1774
|
+
end
|
1775
|
+
|
1776
|
+
it '&& all wildcards -> valid' do
|
1777
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1778
|
+
expect(parser.marc_spec).to parse('...$:{245$a}', trace: true, reporter: reporter)
|
1779
|
+
end
|
1780
|
+
|
1781
|
+
it '&& mix one lowercase char and two digits -> valid' do
|
1782
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1783
|
+
expect(parser.marc_spec).to parse('...$:{$a|$b|$c}', trace: true, reporter: reporter)
|
1784
|
+
end
|
1785
|
+
|
1786
|
+
it '&& mix two lowercase chars and one digit -> valid' do
|
1787
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1788
|
+
expect(parser.marc_spec).to parse('...$:{$a~\\test\\$}', trace: true, reporter: reporter)
|
1789
|
+
end
|
1790
|
+
|
1791
|
+
it '&& one digit two wildcards right -> valid' do
|
1792
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1793
|
+
expect(parser.marc_spec).to parse('...$:{$a!=$b}', trace: true, reporter: reporter)
|
1794
|
+
end
|
1795
|
+
|
1796
|
+
it '&& one lowercase and two wildcards right -> valid' do
|
1797
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1798
|
+
expect(parser.marc_spec).to parse('...$:{$a~\\test\\=}', trace: true, reporter: reporter)
|
1799
|
+
end
|
1800
|
+
|
1801
|
+
it '&& one uppercase char two wildcards right -> valid' do
|
1802
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1803
|
+
expect(parser.marc_spec).to parse('...$:{$a|$b}{$c|$d}', trace: true, reporter: reporter)
|
1804
|
+
end
|
1805
|
+
|
1806
|
+
it '&& one wildcard between uppercase chars -> valid' do
|
1807
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1808
|
+
expect(parser.marc_spec).to parse('...$:{$a}{$b|$c}', trace: true, reporter: reporter)
|
1809
|
+
end
|
1810
|
+
|
1811
|
+
it '&& one wildcard left and two lowercase chars -> valid' do
|
1812
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1813
|
+
expect(parser.marc_spec).to parse('...$:{$a~\\test\\!}', trace: true, reporter: reporter)
|
1814
|
+
end
|
1815
|
+
|
1816
|
+
it '&& one wildcard left two uppercase chars -> valid' do
|
1817
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1818
|
+
expect(parser.marc_spec).to parse('...$:{$a|$b}{$c}', trace: true, reporter: reporter)
|
1819
|
+
end
|
1820
|
+
|
1821
|
+
it '&& one wildcard left with two digits -> valid' do
|
1822
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1823
|
+
expect(parser.marc_spec).to parse('...$:{?$a}', trace: true, reporter: reporter)
|
1824
|
+
end
|
1825
|
+
|
1826
|
+
it '&& two digits wildcard right -> valid' do
|
1827
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1828
|
+
expect(parser.marc_spec).to parse('...$:{$a=$b}', trace: true, reporter: reporter)
|
1829
|
+
end
|
1830
|
+
|
1831
|
+
it '&& two wildcards and one lowercase char right -> valid' do
|
1832
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1833
|
+
expect(parser.marc_spec).to parse('...$:{$a~\\test\\}}', trace: true, reporter: reporter)
|
1834
|
+
end
|
1835
|
+
|
1836
|
+
it '&& two wildcards left one uppercase char -> valid' do
|
1837
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1838
|
+
expect(parser.marc_spec).to parse('...$:{/#=\\/}', trace: true, reporter: reporter)
|
1839
|
+
end
|
1840
|
+
|
1841
|
+
it '&& two wildcards left with digit -> valid' do
|
1842
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1843
|
+
expect(parser.marc_spec).to parse('...$:{$a}', trace: true, reporter: reporter)
|
1844
|
+
end
|
1845
|
+
|
1846
|
+
it '&& wildcard between digits -> valid' do
|
1847
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1848
|
+
expect(parser.marc_spec).to parse('...$:{!$a}', trace: true, reporter: reporter)
|
1849
|
+
end
|
1850
|
+
|
1851
|
+
end
|
1852
|
+
|
1853
|
+
describe 'subfieldtag ;' do
|
1854
|
+
|
1855
|
+
it '&& all digits -> valid' do
|
1856
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1857
|
+
expect(parser.marc_spec).to parse('...$;{$a~\\Poe}', trace: true, reporter: reporter)
|
1858
|
+
end
|
1859
|
+
|
1860
|
+
it '&& all lowercase chars -> valid' do
|
1861
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1862
|
+
expect(parser.marc_spec).to parse('...$;{$a~\\test\\{}', trace: true, reporter: reporter)
|
1863
|
+
expect(parser.marc_spec).to parse('...$;{$a~\\test\\~}', trace: true, reporter: reporter)
|
1864
|
+
expect(parser.marc_spec).to parse('...$;{$a~\\test\\?}', trace: true, reporter: reporter)
|
1865
|
+
expect(parser.marc_spec).to parse('...$;{$a~\\test\\|}', trace: true, reporter: reporter)
|
1866
|
+
end
|
1867
|
+
|
1868
|
+
it '&& all uppercase chars special leader -> valid' do
|
1869
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1870
|
+
expect(parser.marc_spec).to parse('...$;{$a!~\\Poe}', trace: true, reporter: reporter)
|
1871
|
+
end
|
1872
|
+
|
1873
|
+
it '&& all wildcards -> valid' do
|
1874
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1875
|
+
expect(parser.marc_spec).to parse('...$;{245$a}', trace: true, reporter: reporter)
|
1876
|
+
end
|
1877
|
+
|
1878
|
+
it '&& mix one lowercase char and two digits -> valid' do
|
1879
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1880
|
+
expect(parser.marc_spec).to parse('...$;{$a|$b|$c}', trace: true, reporter: reporter)
|
1881
|
+
end
|
1882
|
+
|
1883
|
+
it '&& mix two lowercase chars and one digit -> valid' do
|
1884
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1885
|
+
expect(parser.marc_spec).to parse('...$;{$a~\\test\\$}', trace: true, reporter: reporter)
|
1886
|
+
end
|
1887
|
+
|
1888
|
+
it '&& one digit two wildcards right -> valid' do
|
1889
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1890
|
+
expect(parser.marc_spec).to parse('...$;{$a!=$b}', trace: true, reporter: reporter)
|
1891
|
+
end
|
1892
|
+
|
1893
|
+
it '&& one lowercase and two wildcards right -> valid' do
|
1894
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1895
|
+
expect(parser.marc_spec).to parse('...$;{$a~\\test\\=}', trace: true, reporter: reporter)
|
1896
|
+
end
|
1897
|
+
|
1898
|
+
it '&& one uppercase char two wildcards right -> valid' do
|
1899
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1900
|
+
expect(parser.marc_spec).to parse('...$;{$a|$b}{$c|$d}', trace: true, reporter: reporter)
|
1901
|
+
end
|
1902
|
+
|
1903
|
+
it '&& one wildcard between uppercase chars -> valid' do
|
1904
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1905
|
+
expect(parser.marc_spec).to parse('...$;{$a}{$b|$c}', trace: true, reporter: reporter)
|
1906
|
+
end
|
1907
|
+
|
1908
|
+
it '&& one wildcard left and two lowercase chars -> valid' do
|
1909
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1910
|
+
expect(parser.marc_spec).to parse('...$;{$a~\\test\\!}', trace: true, reporter: reporter)
|
1911
|
+
end
|
1912
|
+
|
1913
|
+
it '&& one wildcard left two uppercase chars -> valid' do
|
1914
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1915
|
+
expect(parser.marc_spec).to parse('...$;{$a|$b}{$c}', trace: true, reporter: reporter)
|
1916
|
+
end
|
1917
|
+
|
1918
|
+
it '&& one wildcard left with two digits -> valid' do
|
1919
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1920
|
+
expect(parser.marc_spec).to parse('...$;{?$a}', trace: true, reporter: reporter)
|
1921
|
+
end
|
1922
|
+
|
1923
|
+
it '&& two digits wildcard right -> valid' do
|
1924
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1925
|
+
expect(parser.marc_spec).to parse('...$;{$a=$b}', trace: true, reporter: reporter)
|
1926
|
+
end
|
1927
|
+
|
1928
|
+
it '&& two wildcards and one lowercase char right -> valid' do
|
1929
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1930
|
+
expect(parser.marc_spec).to parse('...$;{$a~\\test\\}}', trace: true, reporter: reporter)
|
1931
|
+
end
|
1932
|
+
|
1933
|
+
it '&& two wildcards left one uppercase char -> valid' do
|
1934
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1935
|
+
expect(parser.marc_spec).to parse('...$;{/#=\\/}', trace: true, reporter: reporter)
|
1936
|
+
end
|
1937
|
+
|
1938
|
+
it '&& two wildcards left with digit -> valid' do
|
1939
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1940
|
+
expect(parser.marc_spec).to parse('...$;{$a}', trace: true, reporter: reporter)
|
1941
|
+
end
|
1942
|
+
|
1943
|
+
it '&& wildcard between digits -> valid' do
|
1944
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1945
|
+
expect(parser.marc_spec).to parse('...$;{!$a}', trace: true, reporter: reporter)
|
1946
|
+
end
|
1947
|
+
|
1948
|
+
end
|
1949
|
+
|
1950
|
+
describe 'subfieldtag <' do
|
1951
|
+
|
1952
|
+
it '&& all digits -> valid' do
|
1953
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1954
|
+
expect(parser.marc_spec).to parse('...$<{$a~\\Poe}', trace: true, reporter: reporter)
|
1955
|
+
end
|
1956
|
+
|
1957
|
+
it '&& all lowercase chars -> valid' do
|
1958
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1959
|
+
expect(parser.marc_spec).to parse('...$<{$a~\\test\\{}', trace: true, reporter: reporter)
|
1960
|
+
expect(parser.marc_spec).to parse('...$<{$a~\\test\\~}', trace: true, reporter: reporter)
|
1961
|
+
expect(parser.marc_spec).to parse('...$<{$a~\\test\\?}', trace: true, reporter: reporter)
|
1962
|
+
expect(parser.marc_spec).to parse('...$<{$a~\\test\\|}', trace: true, reporter: reporter)
|
1963
|
+
end
|
1964
|
+
|
1965
|
+
it '&& all uppercase chars special leader -> valid' do
|
1966
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1967
|
+
expect(parser.marc_spec).to parse('...$<{$a!~\\Poe}', trace: true, reporter: reporter)
|
1968
|
+
end
|
1969
|
+
|
1970
|
+
it '&& all wildcards -> valid' do
|
1971
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1972
|
+
expect(parser.marc_spec).to parse('...$<{245$a}', trace: true, reporter: reporter)
|
1973
|
+
end
|
1974
|
+
|
1975
|
+
it '&& mix one lowercase char and two digits -> valid' do
|
1976
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1977
|
+
expect(parser.marc_spec).to parse('...$<{$a|$b|$c}', trace: true, reporter: reporter)
|
1978
|
+
end
|
1979
|
+
|
1980
|
+
it '&& mix two lowercase chars and one digit -> valid' do
|
1981
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1982
|
+
expect(parser.marc_spec).to parse('...$<{$a~\\test\\$}', trace: true, reporter: reporter)
|
1983
|
+
end
|
1984
|
+
|
1985
|
+
it '&& one digit two wildcards right -> valid' do
|
1986
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1987
|
+
expect(parser.marc_spec).to parse('...$<{$a!=$b}', trace: true, reporter: reporter)
|
1988
|
+
end
|
1989
|
+
|
1990
|
+
it '&& one lowercase and two wildcards right -> valid' do
|
1991
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1992
|
+
expect(parser.marc_spec).to parse('...$<{$a~\\test\\=}', trace: true, reporter: reporter)
|
1993
|
+
end
|
1994
|
+
|
1995
|
+
it '&& one uppercase char two wildcards right -> valid' do
|
1996
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
1997
|
+
expect(parser.marc_spec).to parse('...$<{$a|$b}{$c|$d}', trace: true, reporter: reporter)
|
1998
|
+
end
|
1999
|
+
|
2000
|
+
it '&& one wildcard between uppercase chars -> valid' do
|
2001
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2002
|
+
expect(parser.marc_spec).to parse('...$<{$a}{$b|$c}', trace: true, reporter: reporter)
|
2003
|
+
end
|
2004
|
+
|
2005
|
+
it '&& one wildcard left and two lowercase chars -> valid' do
|
2006
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2007
|
+
expect(parser.marc_spec).to parse('...$<{$a~\\test\\!}', trace: true, reporter: reporter)
|
2008
|
+
end
|
2009
|
+
|
2010
|
+
it '&& one wildcard left two uppercase chars -> valid' do
|
2011
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2012
|
+
expect(parser.marc_spec).to parse('...$<{$a|$b}{$c}', trace: true, reporter: reporter)
|
2013
|
+
end
|
2014
|
+
|
2015
|
+
it '&& one wildcard left with two digits -> valid' do
|
2016
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2017
|
+
expect(parser.marc_spec).to parse('...$<{?$a}', trace: true, reporter: reporter)
|
2018
|
+
end
|
2019
|
+
|
2020
|
+
it '&& two digits wildcard right -> valid' do
|
2021
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2022
|
+
expect(parser.marc_spec).to parse('...$<{$a=$b}', trace: true, reporter: reporter)
|
2023
|
+
end
|
2024
|
+
|
2025
|
+
it '&& two wildcards and one lowercase char right -> valid' do
|
2026
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2027
|
+
expect(parser.marc_spec).to parse('...$<{$a~\\test\\}}', trace: true, reporter: reporter)
|
2028
|
+
end
|
2029
|
+
|
2030
|
+
it '&& two wildcards left one uppercase char -> valid' do
|
2031
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2032
|
+
expect(parser.marc_spec).to parse('...$<{/#=\\/}', trace: true, reporter: reporter)
|
2033
|
+
end
|
2034
|
+
|
2035
|
+
it '&& two wildcards left with digit -> valid' do
|
2036
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2037
|
+
expect(parser.marc_spec).to parse('...$<{$a}', trace: true, reporter: reporter)
|
2038
|
+
end
|
2039
|
+
|
2040
|
+
it '&& wildcard between digits -> valid' do
|
2041
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2042
|
+
expect(parser.marc_spec).to parse('...$<{!$a}', trace: true, reporter: reporter)
|
2043
|
+
end
|
2044
|
+
|
2045
|
+
end
|
2046
|
+
|
2047
|
+
describe 'subfieldtag =' do
|
2048
|
+
|
2049
|
+
it '&& all digits -> valid' do
|
2050
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2051
|
+
expect(parser.marc_spec).to parse('...$={$a~\\Poe}', trace: true, reporter: reporter)
|
2052
|
+
end
|
2053
|
+
|
2054
|
+
it '&& all lowercase chars -> valid' do
|
2055
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2056
|
+
expect(parser.marc_spec).to parse('...$={$a~\\test\\{}', trace: true, reporter: reporter)
|
2057
|
+
expect(parser.marc_spec).to parse('...$={$a~\\test\\~}', trace: true, reporter: reporter)
|
2058
|
+
expect(parser.marc_spec).to parse('...$={$a~\\test\\?}', trace: true, reporter: reporter)
|
2059
|
+
expect(parser.marc_spec).to parse('...$={$a~\\test\\|}', trace: true, reporter: reporter)
|
2060
|
+
end
|
2061
|
+
|
2062
|
+
it '&& all uppercase chars special leader -> valid' do
|
2063
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2064
|
+
expect(parser.marc_spec).to parse('...$={$a!~\\Poe}', trace: true, reporter: reporter)
|
2065
|
+
end
|
2066
|
+
|
2067
|
+
it '&& all wildcards -> valid' do
|
2068
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2069
|
+
expect(parser.marc_spec).to parse('...$={245$a}', trace: true, reporter: reporter)
|
2070
|
+
end
|
2071
|
+
|
2072
|
+
it '&& mix one lowercase char and two digits -> valid' do
|
2073
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2074
|
+
expect(parser.marc_spec).to parse('...$={$a|$b|$c}', trace: true, reporter: reporter)
|
2075
|
+
end
|
2076
|
+
|
2077
|
+
it '&& mix two lowercase chars and one digit -> valid' do
|
2078
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2079
|
+
expect(parser.marc_spec).to parse('...$={$a~\\test\\$}', trace: true, reporter: reporter)
|
2080
|
+
end
|
2081
|
+
|
2082
|
+
it '&& one digit two wildcards right -> valid' do
|
2083
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2084
|
+
expect(parser.marc_spec).to parse('...$={$a!=$b}', trace: true, reporter: reporter)
|
2085
|
+
end
|
2086
|
+
|
2087
|
+
it '&& one lowercase and two wildcards right -> valid' do
|
2088
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2089
|
+
expect(parser.marc_spec).to parse('...$={$a~\\test\\=}', trace: true, reporter: reporter)
|
2090
|
+
end
|
2091
|
+
|
2092
|
+
it '&& one uppercase char two wildcards right -> valid' do
|
2093
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2094
|
+
expect(parser.marc_spec).to parse('...$={$a|$b}{$c|$d}', trace: true, reporter: reporter)
|
2095
|
+
end
|
2096
|
+
|
2097
|
+
it '&& one wildcard between uppercase chars -> valid' do
|
2098
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2099
|
+
expect(parser.marc_spec).to parse('...$={$a}{$b|$c}', trace: true, reporter: reporter)
|
2100
|
+
end
|
2101
|
+
|
2102
|
+
it '&& one wildcard left and two lowercase chars -> valid' do
|
2103
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2104
|
+
expect(parser.marc_spec).to parse('...$={$a~\\test\\!}', trace: true, reporter: reporter)
|
2105
|
+
end
|
2106
|
+
|
2107
|
+
it '&& one wildcard left two uppercase chars -> valid' do
|
2108
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2109
|
+
expect(parser.marc_spec).to parse('...$={$a|$b}{$c}', trace: true, reporter: reporter)
|
2110
|
+
end
|
2111
|
+
|
2112
|
+
it '&& one wildcard left with two digits -> valid' do
|
2113
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2114
|
+
expect(parser.marc_spec).to parse('...$={?$a}', trace: true, reporter: reporter)
|
2115
|
+
end
|
2116
|
+
|
2117
|
+
it '&& two digits wildcard right -> valid' do
|
2118
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2119
|
+
expect(parser.marc_spec).to parse('...$={$a=$b}', trace: true, reporter: reporter)
|
2120
|
+
end
|
2121
|
+
|
2122
|
+
it '&& two wildcards and one lowercase char right -> valid' do
|
2123
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2124
|
+
expect(parser.marc_spec).to parse('...$={$a~\\test\\}}', trace: true, reporter: reporter)
|
2125
|
+
end
|
2126
|
+
|
2127
|
+
it '&& two wildcards left one uppercase char -> valid' do
|
2128
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2129
|
+
expect(parser.marc_spec).to parse('...$={/#=\\/}', trace: true, reporter: reporter)
|
2130
|
+
end
|
2131
|
+
|
2132
|
+
it '&& two wildcards left with digit -> valid' do
|
2133
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2134
|
+
expect(parser.marc_spec).to parse('...$={$a}', trace: true, reporter: reporter)
|
2135
|
+
end
|
2136
|
+
|
2137
|
+
it '&& wildcard between digits -> valid' do
|
2138
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2139
|
+
expect(parser.marc_spec).to parse('...$={!$a}', trace: true, reporter: reporter)
|
2140
|
+
end
|
2141
|
+
|
2142
|
+
end
|
2143
|
+
|
2144
|
+
describe 'subfieldtag >' do
|
2145
|
+
|
2146
|
+
it '&& all digits -> valid' do
|
2147
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2148
|
+
expect(parser.marc_spec).to parse('...$>{$a~\\Poe}', trace: true, reporter: reporter)
|
2149
|
+
end
|
2150
|
+
|
2151
|
+
it '&& all lowercase chars -> valid' do
|
2152
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2153
|
+
expect(parser.marc_spec).to parse('...$>{$a~\\test\\{}', trace: true, reporter: reporter)
|
2154
|
+
expect(parser.marc_spec).to parse('...$>{$a~\\test\\~}', trace: true, reporter: reporter)
|
2155
|
+
expect(parser.marc_spec).to parse('...$>{$a~\\test\\?}', trace: true, reporter: reporter)
|
2156
|
+
expect(parser.marc_spec).to parse('...$>{$a~\\test\\|}', trace: true, reporter: reporter)
|
2157
|
+
end
|
2158
|
+
|
2159
|
+
it '&& all uppercase chars special leader -> valid' do
|
2160
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2161
|
+
expect(parser.marc_spec).to parse('...$>{$a!~\\Poe}', trace: true, reporter: reporter)
|
2162
|
+
end
|
2163
|
+
|
2164
|
+
it '&& all wildcards -> valid' do
|
2165
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2166
|
+
expect(parser.marc_spec).to parse('...$>{245$a}', trace: true, reporter: reporter)
|
2167
|
+
end
|
2168
|
+
|
2169
|
+
it '&& mix one lowercase char and two digits -> valid' do
|
2170
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2171
|
+
expect(parser.marc_spec).to parse('...$>{$a|$b|$c}', trace: true, reporter: reporter)
|
2172
|
+
end
|
2173
|
+
|
2174
|
+
it '&& mix two lowercase chars and one digit -> valid' do
|
2175
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2176
|
+
expect(parser.marc_spec).to parse('...$>{$a~\\test\\$}', trace: true, reporter: reporter)
|
2177
|
+
end
|
2178
|
+
|
2179
|
+
it '&& one digit two wildcards right -> valid' do
|
2180
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2181
|
+
expect(parser.marc_spec).to parse('...$>{$a!=$b}', trace: true, reporter: reporter)
|
2182
|
+
end
|
2183
|
+
|
2184
|
+
it '&& one lowercase and two wildcards right -> valid' do
|
2185
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2186
|
+
expect(parser.marc_spec).to parse('...$>{$a~\\test\\=}', trace: true, reporter: reporter)
|
2187
|
+
end
|
2188
|
+
|
2189
|
+
it '&& one uppercase char two wildcards right -> valid' do
|
2190
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2191
|
+
expect(parser.marc_spec).to parse('...$>{$a|$b}{$c|$d}', trace: true, reporter: reporter)
|
2192
|
+
end
|
2193
|
+
|
2194
|
+
it '&& one wildcard between uppercase chars -> valid' do
|
2195
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2196
|
+
expect(parser.marc_spec).to parse('...$>{$a}{$b|$c}', trace: true, reporter: reporter)
|
2197
|
+
end
|
2198
|
+
|
2199
|
+
it '&& one wildcard left and two lowercase chars -> valid' do
|
2200
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2201
|
+
expect(parser.marc_spec).to parse('...$>{$a~\\test\\!}', trace: true, reporter: reporter)
|
2202
|
+
end
|
2203
|
+
|
2204
|
+
it '&& one wildcard left two uppercase chars -> valid' do
|
2205
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2206
|
+
expect(parser.marc_spec).to parse('...$>{$a|$b}{$c}', trace: true, reporter: reporter)
|
2207
|
+
end
|
2208
|
+
|
2209
|
+
it '&& one wildcard left with two digits -> valid' do
|
2210
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2211
|
+
expect(parser.marc_spec).to parse('...$>{?$a}', trace: true, reporter: reporter)
|
2212
|
+
end
|
2213
|
+
|
2214
|
+
it '&& two digits wildcard right -> valid' do
|
2215
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2216
|
+
expect(parser.marc_spec).to parse('...$>{$a=$b}', trace: true, reporter: reporter)
|
2217
|
+
end
|
2218
|
+
|
2219
|
+
it '&& two wildcards and one lowercase char right -> valid' do
|
2220
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2221
|
+
expect(parser.marc_spec).to parse('...$>{$a~\\test\\}}', trace: true, reporter: reporter)
|
2222
|
+
end
|
2223
|
+
|
2224
|
+
it '&& two wildcards left one uppercase char -> valid' do
|
2225
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2226
|
+
expect(parser.marc_spec).to parse('...$>{/#=\\/}', trace: true, reporter: reporter)
|
2227
|
+
end
|
2228
|
+
|
2229
|
+
it '&& two wildcards left with digit -> valid' do
|
2230
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2231
|
+
expect(parser.marc_spec).to parse('...$>{$a}', trace: true, reporter: reporter)
|
2232
|
+
end
|
2233
|
+
|
2234
|
+
it '&& wildcard between digits -> valid' do
|
2235
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2236
|
+
expect(parser.marc_spec).to parse('...$>{!$a}', trace: true, reporter: reporter)
|
2237
|
+
end
|
2238
|
+
|
2239
|
+
end
|
2240
|
+
|
2241
|
+
describe 'subfieldtag ?' do
|
2242
|
+
|
2243
|
+
it '&& all digits -> valid' do
|
2244
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2245
|
+
expect(parser.marc_spec).to parse('...$?{$a~\\Poe}', trace: true, reporter: reporter)
|
2246
|
+
end
|
2247
|
+
|
2248
|
+
it '&& all lowercase chars -> valid' do
|
2249
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2250
|
+
expect(parser.marc_spec).to parse('...$?{$a~\\test\\{}', trace: true, reporter: reporter)
|
2251
|
+
expect(parser.marc_spec).to parse('...$?{$a~\\test\\~}', trace: true, reporter: reporter)
|
2252
|
+
expect(parser.marc_spec).to parse('...$?{$a~\\test\\?}', trace: true, reporter: reporter)
|
2253
|
+
expect(parser.marc_spec).to parse('...$?{$a~\\test\\|}', trace: true, reporter: reporter)
|
2254
|
+
end
|
2255
|
+
|
2256
|
+
it '&& all uppercase chars special leader -> valid' do
|
2257
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2258
|
+
expect(parser.marc_spec).to parse('...$?{$a!~\\Poe}', trace: true, reporter: reporter)
|
2259
|
+
end
|
2260
|
+
|
2261
|
+
it '&& all wildcards -> valid' do
|
2262
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2263
|
+
expect(parser.marc_spec).to parse('...$?{245$a}', trace: true, reporter: reporter)
|
2264
|
+
end
|
2265
|
+
|
2266
|
+
it '&& mix one lowercase char and two digits -> valid' do
|
2267
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2268
|
+
expect(parser.marc_spec).to parse('...$?{$a|$b|$c}', trace: true, reporter: reporter)
|
2269
|
+
end
|
2270
|
+
|
2271
|
+
it '&& mix two lowercase chars and one digit -> valid' do
|
2272
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2273
|
+
expect(parser.marc_spec).to parse('...$?{$a~\\test\\$}', trace: true, reporter: reporter)
|
2274
|
+
end
|
2275
|
+
|
2276
|
+
it '&& one digit two wildcards right -> valid' do
|
2277
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2278
|
+
expect(parser.marc_spec).to parse('...$?{$a!=$b}', trace: true, reporter: reporter)
|
2279
|
+
end
|
2280
|
+
|
2281
|
+
it '&& one lowercase and two wildcards right -> valid' do
|
2282
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2283
|
+
expect(parser.marc_spec).to parse('...$?{$a~\\test\\=}', trace: true, reporter: reporter)
|
2284
|
+
end
|
2285
|
+
|
2286
|
+
it '&& one uppercase char two wildcards right -> valid' do
|
2287
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2288
|
+
expect(parser.marc_spec).to parse('...$?{$a|$b}{$c|$d}', trace: true, reporter: reporter)
|
2289
|
+
end
|
2290
|
+
|
2291
|
+
it '&& one wildcard between uppercase chars -> valid' do
|
2292
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2293
|
+
expect(parser.marc_spec).to parse('...$?{$a}{$b|$c}', trace: true, reporter: reporter)
|
2294
|
+
end
|
2295
|
+
|
2296
|
+
it '&& one wildcard left and two lowercase chars -> valid' do
|
2297
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2298
|
+
expect(parser.marc_spec).to parse('...$?{$a~\\test\\!}', trace: true, reporter: reporter)
|
2299
|
+
end
|
2300
|
+
|
2301
|
+
it '&& one wildcard left two uppercase chars -> valid' do
|
2302
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2303
|
+
expect(parser.marc_spec).to parse('...$?{$a|$b}{$c}', trace: true, reporter: reporter)
|
2304
|
+
end
|
2305
|
+
|
2306
|
+
it '&& one wildcard left with two digits -> valid' do
|
2307
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2308
|
+
expect(parser.marc_spec).to parse('...$?{?$a}', trace: true, reporter: reporter)
|
2309
|
+
end
|
2310
|
+
|
2311
|
+
it '&& two digits wildcard right -> valid' do
|
2312
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2313
|
+
expect(parser.marc_spec).to parse('...$?{$a=$b}', trace: true, reporter: reporter)
|
2314
|
+
end
|
2315
|
+
|
2316
|
+
it '&& two wildcards and one lowercase char right -> valid' do
|
2317
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2318
|
+
expect(parser.marc_spec).to parse('...$?{$a~\\test\\}}', trace: true, reporter: reporter)
|
2319
|
+
end
|
2320
|
+
|
2321
|
+
it '&& two wildcards left one uppercase char -> valid' do
|
2322
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2323
|
+
expect(parser.marc_spec).to parse('...$?{/#=\\/}', trace: true, reporter: reporter)
|
2324
|
+
end
|
2325
|
+
|
2326
|
+
it '&& two wildcards left with digit -> valid' do
|
2327
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2328
|
+
expect(parser.marc_spec).to parse('...$?{$a}', trace: true, reporter: reporter)
|
2329
|
+
end
|
2330
|
+
|
2331
|
+
it '&& wildcard between digits -> valid' do
|
2332
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2333
|
+
expect(parser.marc_spec).to parse('...$?{!$a}', trace: true, reporter: reporter)
|
2334
|
+
end
|
2335
|
+
|
2336
|
+
end
|
2337
|
+
|
2338
|
+
describe 'subfieldtag [' do
|
2339
|
+
|
2340
|
+
it '&& all digits -> valid' do
|
2341
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2342
|
+
expect(parser.marc_spec).to parse('...$[{$a~\\Poe}', trace: true, reporter: reporter)
|
2343
|
+
end
|
2344
|
+
|
2345
|
+
it '&& all lowercase chars -> valid' do
|
2346
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2347
|
+
expect(parser.marc_spec).to parse('...$[{$a~\\test\\{}', trace: true, reporter: reporter)
|
2348
|
+
expect(parser.marc_spec).to parse('...$[{$a~\\test\\~}', trace: true, reporter: reporter)
|
2349
|
+
expect(parser.marc_spec).to parse('...$[{$a~\\test\\?}', trace: true, reporter: reporter)
|
2350
|
+
expect(parser.marc_spec).to parse('...$[{$a~\\test\\|}', trace: true, reporter: reporter)
|
2351
|
+
end
|
2352
|
+
|
2353
|
+
it '&& all uppercase chars special leader -> valid' do
|
2354
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2355
|
+
expect(parser.marc_spec).to parse('...$[{$a!~\\Poe}', trace: true, reporter: reporter)
|
2356
|
+
end
|
2357
|
+
|
2358
|
+
it '&& all wildcards -> valid' do
|
2359
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2360
|
+
expect(parser.marc_spec).to parse('...$[{245$a}', trace: true, reporter: reporter)
|
2361
|
+
end
|
2362
|
+
|
2363
|
+
it '&& mix one lowercase char and two digits -> valid' do
|
2364
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2365
|
+
expect(parser.marc_spec).to parse('...$[{$a|$b|$c}', trace: true, reporter: reporter)
|
2366
|
+
end
|
2367
|
+
|
2368
|
+
it '&& mix two lowercase chars and one digit -> valid' do
|
2369
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2370
|
+
expect(parser.marc_spec).to parse('...$[{$a~\\test\\$}', trace: true, reporter: reporter)
|
2371
|
+
end
|
2372
|
+
|
2373
|
+
it '&& one digit two wildcards right -> valid' do
|
2374
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2375
|
+
expect(parser.marc_spec).to parse('...$[{$a!=$b}', trace: true, reporter: reporter)
|
2376
|
+
end
|
2377
|
+
|
2378
|
+
it '&& one lowercase and two wildcards right -> valid' do
|
2379
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2380
|
+
expect(parser.marc_spec).to parse('...$[{$a~\\test\\=}', trace: true, reporter: reporter)
|
2381
|
+
end
|
2382
|
+
|
2383
|
+
it '&& one uppercase char two wildcards right -> valid' do
|
2384
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2385
|
+
expect(parser.marc_spec).to parse('...$[{$a|$b}{$c|$d}', trace: true, reporter: reporter)
|
2386
|
+
end
|
2387
|
+
|
2388
|
+
it '&& one wildcard between uppercase chars -> valid' do
|
2389
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2390
|
+
expect(parser.marc_spec).to parse('...$[{$a}{$b|$c}', trace: true, reporter: reporter)
|
2391
|
+
end
|
2392
|
+
|
2393
|
+
it '&& one wildcard left and two lowercase chars -> valid' do
|
2394
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2395
|
+
expect(parser.marc_spec).to parse('...$[{$a~\\test\\!}', trace: true, reporter: reporter)
|
2396
|
+
end
|
2397
|
+
|
2398
|
+
it '&& one wildcard left two uppercase chars -> valid' do
|
2399
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2400
|
+
expect(parser.marc_spec).to parse('...$[{$a|$b}{$c}', trace: true, reporter: reporter)
|
2401
|
+
end
|
2402
|
+
|
2403
|
+
it '&& one wildcard left with two digits -> valid' do
|
2404
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2405
|
+
expect(parser.marc_spec).to parse('...$[{?$a}', trace: true, reporter: reporter)
|
2406
|
+
end
|
2407
|
+
|
2408
|
+
it '&& two digits wildcard right -> valid' do
|
2409
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2410
|
+
expect(parser.marc_spec).to parse('...$[{$a=$b}', trace: true, reporter: reporter)
|
2411
|
+
end
|
2412
|
+
|
2413
|
+
it '&& two wildcards and one lowercase char right -> valid' do
|
2414
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2415
|
+
expect(parser.marc_spec).to parse('...$[{$a~\\test\\}}', trace: true, reporter: reporter)
|
2416
|
+
end
|
2417
|
+
|
2418
|
+
it '&& two wildcards left one uppercase char -> valid' do
|
2419
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2420
|
+
expect(parser.marc_spec).to parse('...$[{/#=\\/}', trace: true, reporter: reporter)
|
2421
|
+
end
|
2422
|
+
|
2423
|
+
it '&& two wildcards left with digit -> valid' do
|
2424
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2425
|
+
expect(parser.marc_spec).to parse('...$[{$a}', trace: true, reporter: reporter)
|
2426
|
+
end
|
2427
|
+
|
2428
|
+
it '&& wildcard between digits -> valid' do
|
2429
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2430
|
+
expect(parser.marc_spec).to parse('...$[{!$a}', trace: true, reporter: reporter)
|
2431
|
+
end
|
2432
|
+
|
2433
|
+
end
|
2434
|
+
|
2435
|
+
describe 'subfieldtag \\' do
|
2436
|
+
|
2437
|
+
it '&& all digits -> valid' do
|
2438
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2439
|
+
expect(parser.marc_spec).to parse('...$\\{$a~\\Poe}', trace: true, reporter: reporter)
|
2440
|
+
end
|
2441
|
+
|
2442
|
+
it '&& all lowercase chars -> valid' do
|
2443
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2444
|
+
expect(parser.marc_spec).to parse('...$\\{$a~\\test\\{}', trace: true, reporter: reporter)
|
2445
|
+
expect(parser.marc_spec).to parse('...$\\{$a~\\test\\~}', trace: true, reporter: reporter)
|
2446
|
+
expect(parser.marc_spec).to parse('...$\\{$a~\\test\\?}', trace: true, reporter: reporter)
|
2447
|
+
expect(parser.marc_spec).to parse('...$\\{$a~\\test\\|}', trace: true, reporter: reporter)
|
2448
|
+
end
|
2449
|
+
|
2450
|
+
it '&& all uppercase chars special leader -> valid' do
|
2451
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2452
|
+
expect(parser.marc_spec).to parse('...$\\{$a!~\\Poe}', trace: true, reporter: reporter)
|
2453
|
+
end
|
2454
|
+
|
2455
|
+
it '&& all wildcards -> valid' do
|
2456
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2457
|
+
expect(parser.marc_spec).to parse('...$\\{245$a}', trace: true, reporter: reporter)
|
2458
|
+
end
|
2459
|
+
|
2460
|
+
it '&& mix one lowercase char and two digits -> valid' do
|
2461
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2462
|
+
expect(parser.marc_spec).to parse('...$\\{$a|$b|$c}', trace: true, reporter: reporter)
|
2463
|
+
end
|
2464
|
+
|
2465
|
+
it '&& mix two lowercase chars and one digit -> valid' do
|
2466
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2467
|
+
expect(parser.marc_spec).to parse('...$\\{$a~\\test\\$}', trace: true, reporter: reporter)
|
2468
|
+
end
|
2469
|
+
|
2470
|
+
it '&& one digit two wildcards right -> valid' do
|
2471
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2472
|
+
expect(parser.marc_spec).to parse('...$\\{$a!=$b}', trace: true, reporter: reporter)
|
2473
|
+
end
|
2474
|
+
|
2475
|
+
it '&& one lowercase and two wildcards right -> valid' do
|
2476
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2477
|
+
expect(parser.marc_spec).to parse('...$\\{$a~\\test\\=}', trace: true, reporter: reporter)
|
2478
|
+
end
|
2479
|
+
|
2480
|
+
it '&& one uppercase char two wildcards right -> valid' do
|
2481
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2482
|
+
expect(parser.marc_spec).to parse('...$\\{$a|$b}{$c|$d}', trace: true, reporter: reporter)
|
2483
|
+
end
|
2484
|
+
|
2485
|
+
it '&& one wildcard between uppercase chars -> valid' do
|
2486
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2487
|
+
expect(parser.marc_spec).to parse('...$\\{$a}{$b|$c}', trace: true, reporter: reporter)
|
2488
|
+
end
|
2489
|
+
|
2490
|
+
it '&& one wildcard left and two lowercase chars -> valid' do
|
2491
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2492
|
+
expect(parser.marc_spec).to parse('...$\\{$a~\\test\\!}', trace: true, reporter: reporter)
|
2493
|
+
end
|
2494
|
+
|
2495
|
+
it '&& one wildcard left two uppercase chars -> valid' do
|
2496
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2497
|
+
expect(parser.marc_spec).to parse('...$\\{$a|$b}{$c}', trace: true, reporter: reporter)
|
2498
|
+
end
|
2499
|
+
|
2500
|
+
it '&& one wildcard left with two digits -> valid' do
|
2501
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2502
|
+
expect(parser.marc_spec).to parse('...$\\{?$a}', trace: true, reporter: reporter)
|
2503
|
+
end
|
2504
|
+
|
2505
|
+
it '&& two digits wildcard right -> valid' do
|
2506
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2507
|
+
expect(parser.marc_spec).to parse('...$\\{$a=$b}', trace: true, reporter: reporter)
|
2508
|
+
end
|
2509
|
+
|
2510
|
+
it '&& two wildcards and one lowercase char right -> valid' do
|
2511
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2512
|
+
expect(parser.marc_spec).to parse('...$\\{$a~\\test\\}}', trace: true, reporter: reporter)
|
2513
|
+
end
|
2514
|
+
|
2515
|
+
it '&& two wildcards left one uppercase char -> valid' do
|
2516
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2517
|
+
expect(parser.marc_spec).to parse('...$\\{/#=\\/}', trace: true, reporter: reporter)
|
2518
|
+
end
|
2519
|
+
|
2520
|
+
it '&& two wildcards left with digit -> valid' do
|
2521
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2522
|
+
expect(parser.marc_spec).to parse('...$\\{$a}', trace: true, reporter: reporter)
|
2523
|
+
end
|
2524
|
+
|
2525
|
+
it '&& wildcard between digits -> valid' do
|
2526
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2527
|
+
expect(parser.marc_spec).to parse('...$\\{!$a}', trace: true, reporter: reporter)
|
2528
|
+
end
|
2529
|
+
|
2530
|
+
end
|
2531
|
+
|
2532
|
+
describe 'subfieldtag ]' do
|
2533
|
+
|
2534
|
+
it '&& all digits -> valid' do
|
2535
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2536
|
+
expect(parser.marc_spec).to parse('...$]{$a~\\Poe}', trace: true, reporter: reporter)
|
2537
|
+
end
|
2538
|
+
|
2539
|
+
it '&& all lowercase chars -> valid' do
|
2540
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2541
|
+
expect(parser.marc_spec).to parse('...$]{$a~\\test\\{}', trace: true, reporter: reporter)
|
2542
|
+
expect(parser.marc_spec).to parse('...$]{$a~\\test\\~}', trace: true, reporter: reporter)
|
2543
|
+
expect(parser.marc_spec).to parse('...$]{$a~\\test\\?}', trace: true, reporter: reporter)
|
2544
|
+
expect(parser.marc_spec).to parse('...$]{$a~\\test\\|}', trace: true, reporter: reporter)
|
2545
|
+
end
|
2546
|
+
|
2547
|
+
it '&& all uppercase chars special leader -> valid' do
|
2548
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2549
|
+
expect(parser.marc_spec).to parse('...$]{$a!~\\Poe}', trace: true, reporter: reporter)
|
2550
|
+
end
|
2551
|
+
|
2552
|
+
it '&& all wildcards -> valid' do
|
2553
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2554
|
+
expect(parser.marc_spec).to parse('...$]{245$a}', trace: true, reporter: reporter)
|
2555
|
+
end
|
2556
|
+
|
2557
|
+
it '&& mix one lowercase char and two digits -> valid' do
|
2558
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2559
|
+
expect(parser.marc_spec).to parse('...$]{$a|$b|$c}', trace: true, reporter: reporter)
|
2560
|
+
end
|
2561
|
+
|
2562
|
+
it '&& mix two lowercase chars and one digit -> valid' do
|
2563
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2564
|
+
expect(parser.marc_spec).to parse('...$]{$a~\\test\\$}', trace: true, reporter: reporter)
|
2565
|
+
end
|
2566
|
+
|
2567
|
+
it '&& one digit two wildcards right -> valid' do
|
2568
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2569
|
+
expect(parser.marc_spec).to parse('...$]{$a!=$b}', trace: true, reporter: reporter)
|
2570
|
+
end
|
2571
|
+
|
2572
|
+
it '&& one lowercase and two wildcards right -> valid' do
|
2573
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2574
|
+
expect(parser.marc_spec).to parse('...$]{$a~\\test\\=}', trace: true, reporter: reporter)
|
2575
|
+
end
|
2576
|
+
|
2577
|
+
it '&& one uppercase char two wildcards right -> valid' do
|
2578
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2579
|
+
expect(parser.marc_spec).to parse('...$]{$a|$b}{$c|$d}', trace: true, reporter: reporter)
|
2580
|
+
end
|
2581
|
+
|
2582
|
+
it '&& one wildcard between uppercase chars -> valid' do
|
2583
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2584
|
+
expect(parser.marc_spec).to parse('...$]{$a}{$b|$c}', trace: true, reporter: reporter)
|
2585
|
+
end
|
2586
|
+
|
2587
|
+
it '&& one wildcard left and two lowercase chars -> valid' do
|
2588
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2589
|
+
expect(parser.marc_spec).to parse('...$]{$a~\\test\\!}', trace: true, reporter: reporter)
|
2590
|
+
end
|
2591
|
+
|
2592
|
+
it '&& one wildcard left two uppercase chars -> valid' do
|
2593
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2594
|
+
expect(parser.marc_spec).to parse('...$]{$a|$b}{$c}', trace: true, reporter: reporter)
|
2595
|
+
end
|
2596
|
+
|
2597
|
+
it '&& one wildcard left with two digits -> valid' do
|
2598
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2599
|
+
expect(parser.marc_spec).to parse('...$]{?$a}', trace: true, reporter: reporter)
|
2600
|
+
end
|
2601
|
+
|
2602
|
+
it '&& two digits wildcard right -> valid' do
|
2603
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2604
|
+
expect(parser.marc_spec).to parse('...$]{$a=$b}', trace: true, reporter: reporter)
|
2605
|
+
end
|
2606
|
+
|
2607
|
+
it '&& two wildcards and one lowercase char right -> valid' do
|
2608
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2609
|
+
expect(parser.marc_spec).to parse('...$]{$a~\\test\\}}', trace: true, reporter: reporter)
|
2610
|
+
end
|
2611
|
+
|
2612
|
+
it '&& two wildcards left one uppercase char -> valid' do
|
2613
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2614
|
+
expect(parser.marc_spec).to parse('...$]{/#=\\/}', trace: true, reporter: reporter)
|
2615
|
+
end
|
2616
|
+
|
2617
|
+
it '&& two wildcards left with digit -> valid' do
|
2618
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2619
|
+
expect(parser.marc_spec).to parse('...$]{$a}', trace: true, reporter: reporter)
|
2620
|
+
end
|
2621
|
+
|
2622
|
+
it '&& wildcard between digits -> valid' do
|
2623
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2624
|
+
expect(parser.marc_spec).to parse('...$]{!$a}', trace: true, reporter: reporter)
|
2625
|
+
end
|
2626
|
+
|
2627
|
+
end
|
2628
|
+
|
2629
|
+
describe 'subfieldtag ^' do
|
2630
|
+
|
2631
|
+
it '&& all digits -> valid' do
|
2632
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2633
|
+
expect(parser.marc_spec).to parse('...$^{$a~\\Poe}', trace: true, reporter: reporter)
|
2634
|
+
end
|
2635
|
+
|
2636
|
+
it '&& all lowercase chars -> valid' do
|
2637
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2638
|
+
expect(parser.marc_spec).to parse('...$^{$a~\\test\\{}', trace: true, reporter: reporter)
|
2639
|
+
expect(parser.marc_spec).to parse('...$^{$a~\\test\\~}', trace: true, reporter: reporter)
|
2640
|
+
expect(parser.marc_spec).to parse('...$^{$a~\\test\\?}', trace: true, reporter: reporter)
|
2641
|
+
expect(parser.marc_spec).to parse('...$^{$a~\\test\\|}', trace: true, reporter: reporter)
|
2642
|
+
end
|
2643
|
+
|
2644
|
+
it '&& all uppercase chars special leader -> valid' do
|
2645
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2646
|
+
expect(parser.marc_spec).to parse('...$^{$a!~\\Poe}', trace: true, reporter: reporter)
|
2647
|
+
end
|
2648
|
+
|
2649
|
+
it '&& all wildcards -> valid' do
|
2650
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2651
|
+
expect(parser.marc_spec).to parse('...$^{245$a}', trace: true, reporter: reporter)
|
2652
|
+
end
|
2653
|
+
|
2654
|
+
it '&& mix one lowercase char and two digits -> valid' do
|
2655
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2656
|
+
expect(parser.marc_spec).to parse('...$^{$a|$b|$c}', trace: true, reporter: reporter)
|
2657
|
+
end
|
2658
|
+
|
2659
|
+
it '&& mix two lowercase chars and one digit -> valid' do
|
2660
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2661
|
+
expect(parser.marc_spec).to parse('...$^{$a~\\test\\$}', trace: true, reporter: reporter)
|
2662
|
+
end
|
2663
|
+
|
2664
|
+
it '&& one digit two wildcards right -> valid' do
|
2665
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2666
|
+
expect(parser.marc_spec).to parse('...$^{$a!=$b}', trace: true, reporter: reporter)
|
2667
|
+
end
|
2668
|
+
|
2669
|
+
it '&& one lowercase and two wildcards right -> valid' do
|
2670
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2671
|
+
expect(parser.marc_spec).to parse('...$^{$a~\\test\\=}', trace: true, reporter: reporter)
|
2672
|
+
end
|
2673
|
+
|
2674
|
+
it '&& one uppercase char two wildcards right -> valid' do
|
2675
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2676
|
+
expect(parser.marc_spec).to parse('...$^{$a|$b}{$c|$d}', trace: true, reporter: reporter)
|
2677
|
+
end
|
2678
|
+
|
2679
|
+
it '&& one wildcard between uppercase chars -> valid' do
|
2680
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2681
|
+
expect(parser.marc_spec).to parse('...$^{$a}{$b|$c}', trace: true, reporter: reporter)
|
2682
|
+
end
|
2683
|
+
|
2684
|
+
it '&& one wildcard left and two lowercase chars -> valid' do
|
2685
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2686
|
+
expect(parser.marc_spec).to parse('...$^{$a~\\test\\!}', trace: true, reporter: reporter)
|
2687
|
+
end
|
2688
|
+
|
2689
|
+
it '&& one wildcard left two uppercase chars -> valid' do
|
2690
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2691
|
+
expect(parser.marc_spec).to parse('...$^{$a|$b}{$c}', trace: true, reporter: reporter)
|
2692
|
+
end
|
2693
|
+
|
2694
|
+
it '&& one wildcard left with two digits -> valid' do
|
2695
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2696
|
+
expect(parser.marc_spec).to parse('...$^{?$a}', trace: true, reporter: reporter)
|
2697
|
+
end
|
2698
|
+
|
2699
|
+
it '&& two digits wildcard right -> valid' do
|
2700
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2701
|
+
expect(parser.marc_spec).to parse('...$^{$a=$b}', trace: true, reporter: reporter)
|
2702
|
+
end
|
2703
|
+
|
2704
|
+
it '&& two wildcards and one lowercase char right -> valid' do
|
2705
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2706
|
+
expect(parser.marc_spec).to parse('...$^{$a~\\test\\}}', trace: true, reporter: reporter)
|
2707
|
+
end
|
2708
|
+
|
2709
|
+
it '&& two wildcards left one uppercase char -> valid' do
|
2710
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2711
|
+
expect(parser.marc_spec).to parse('...$^{/#=\\/}', trace: true, reporter: reporter)
|
2712
|
+
end
|
2713
|
+
|
2714
|
+
it '&& two wildcards left with digit -> valid' do
|
2715
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2716
|
+
expect(parser.marc_spec).to parse('...$^{$a}', trace: true, reporter: reporter)
|
2717
|
+
end
|
2718
|
+
|
2719
|
+
it '&& wildcard between digits -> valid' do
|
2720
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2721
|
+
expect(parser.marc_spec).to parse('...$^{!$a}', trace: true, reporter: reporter)
|
2722
|
+
end
|
2723
|
+
|
2724
|
+
end
|
2725
|
+
|
2726
|
+
describe 'subfieldtag _' do
|
2727
|
+
|
2728
|
+
it '&& all digits -> valid' do
|
2729
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2730
|
+
expect(parser.marc_spec).to parse('...$_{$a~\\Poe}', trace: true, reporter: reporter)
|
2731
|
+
end
|
2732
|
+
|
2733
|
+
it '&& all lowercase chars -> valid' do
|
2734
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2735
|
+
expect(parser.marc_spec).to parse('...$_{$a~\\test\\{}', trace: true, reporter: reporter)
|
2736
|
+
expect(parser.marc_spec).to parse('...$_{$a~\\test\\~}', trace: true, reporter: reporter)
|
2737
|
+
expect(parser.marc_spec).to parse('...$_{$a~\\test\\?}', trace: true, reporter: reporter)
|
2738
|
+
expect(parser.marc_spec).to parse('...$_{$a~\\test\\|}', trace: true, reporter: reporter)
|
2739
|
+
end
|
2740
|
+
|
2741
|
+
it '&& all uppercase chars special leader -> valid' do
|
2742
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2743
|
+
expect(parser.marc_spec).to parse('...$_{$a!~\\Poe}', trace: true, reporter: reporter)
|
2744
|
+
end
|
2745
|
+
|
2746
|
+
it '&& all wildcards -> valid' do
|
2747
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2748
|
+
expect(parser.marc_spec).to parse('...$_{245$a}', trace: true, reporter: reporter)
|
2749
|
+
end
|
2750
|
+
|
2751
|
+
it '&& mix one lowercase char and two digits -> valid' do
|
2752
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2753
|
+
expect(parser.marc_spec).to parse('...$_{$a|$b|$c}', trace: true, reporter: reporter)
|
2754
|
+
end
|
2755
|
+
|
2756
|
+
it '&& mix two lowercase chars and one digit -> valid' do
|
2757
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2758
|
+
expect(parser.marc_spec).to parse('...$_{$a~\\test\\$}', trace: true, reporter: reporter)
|
2759
|
+
end
|
2760
|
+
|
2761
|
+
it '&& one digit two wildcards right -> valid' do
|
2762
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2763
|
+
expect(parser.marc_spec).to parse('...$_{$a!=$b}', trace: true, reporter: reporter)
|
2764
|
+
end
|
2765
|
+
|
2766
|
+
it '&& one lowercase and two wildcards right -> valid' do
|
2767
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2768
|
+
expect(parser.marc_spec).to parse('...$_{$a~\\test\\=}', trace: true, reporter: reporter)
|
2769
|
+
end
|
2770
|
+
|
2771
|
+
it '&& one uppercase char two wildcards right -> valid' do
|
2772
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2773
|
+
expect(parser.marc_spec).to parse('...$_{$a|$b}{$c|$d}', trace: true, reporter: reporter)
|
2774
|
+
end
|
2775
|
+
|
2776
|
+
it '&& one wildcard between uppercase chars -> valid' do
|
2777
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2778
|
+
expect(parser.marc_spec).to parse('...$_{$a}{$b|$c}', trace: true, reporter: reporter)
|
2779
|
+
end
|
2780
|
+
|
2781
|
+
it '&& one wildcard left and two lowercase chars -> valid' do
|
2782
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2783
|
+
expect(parser.marc_spec).to parse('...$_{$a~\\test\\!}', trace: true, reporter: reporter)
|
2784
|
+
end
|
2785
|
+
|
2786
|
+
it '&& one wildcard left two uppercase chars -> valid' do
|
2787
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2788
|
+
expect(parser.marc_spec).to parse('...$_{$a|$b}{$c}', trace: true, reporter: reporter)
|
2789
|
+
end
|
2790
|
+
|
2791
|
+
it '&& one wildcard left with two digits -> valid' do
|
2792
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2793
|
+
expect(parser.marc_spec).to parse('...$_{?$a}', trace: true, reporter: reporter)
|
2794
|
+
end
|
2795
|
+
|
2796
|
+
it '&& two digits wildcard right -> valid' do
|
2797
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2798
|
+
expect(parser.marc_spec).to parse('...$_{$a=$b}', trace: true, reporter: reporter)
|
2799
|
+
end
|
2800
|
+
|
2801
|
+
it '&& two wildcards and one lowercase char right -> valid' do
|
2802
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2803
|
+
expect(parser.marc_spec).to parse('...$_{$a~\\test\\}}', trace: true, reporter: reporter)
|
2804
|
+
end
|
2805
|
+
|
2806
|
+
it '&& two wildcards left one uppercase char -> valid' do
|
2807
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2808
|
+
expect(parser.marc_spec).to parse('...$_{/#=\\/}', trace: true, reporter: reporter)
|
2809
|
+
end
|
2810
|
+
|
2811
|
+
it '&& two wildcards left with digit -> valid' do
|
2812
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2813
|
+
expect(parser.marc_spec).to parse('...$_{$a}', trace: true, reporter: reporter)
|
2814
|
+
end
|
2815
|
+
|
2816
|
+
it '&& wildcard between digits -> valid' do
|
2817
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2818
|
+
expect(parser.marc_spec).to parse('...$_{!$a}', trace: true, reporter: reporter)
|
2819
|
+
end
|
2820
|
+
|
2821
|
+
end
|
2822
|
+
|
2823
|
+
describe 'subfieldtag `' do
|
2824
|
+
|
2825
|
+
it '&& all digits -> valid' do
|
2826
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2827
|
+
expect(parser.marc_spec).to parse('...$`{$a~\\Poe}', trace: true, reporter: reporter)
|
2828
|
+
end
|
2829
|
+
|
2830
|
+
it '&& all lowercase chars -> valid' do
|
2831
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2832
|
+
expect(parser.marc_spec).to parse('...$`{$a~\\test\\{}', trace: true, reporter: reporter)
|
2833
|
+
expect(parser.marc_spec).to parse('...$`{$a~\\test\\~}', trace: true, reporter: reporter)
|
2834
|
+
expect(parser.marc_spec).to parse('...$`{$a~\\test\\?}', trace: true, reporter: reporter)
|
2835
|
+
expect(parser.marc_spec).to parse('...$`{$a~\\test\\|}', trace: true, reporter: reporter)
|
2836
|
+
end
|
2837
|
+
|
2838
|
+
it '&& all uppercase chars special leader -> valid' do
|
2839
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2840
|
+
expect(parser.marc_spec).to parse('...$`{$a!~\\Poe}', trace: true, reporter: reporter)
|
2841
|
+
end
|
2842
|
+
|
2843
|
+
it '&& all wildcards -> valid' do
|
2844
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2845
|
+
expect(parser.marc_spec).to parse('...$`{245$a}', trace: true, reporter: reporter)
|
2846
|
+
end
|
2847
|
+
|
2848
|
+
it '&& mix one lowercase char and two digits -> valid' do
|
2849
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2850
|
+
expect(parser.marc_spec).to parse('...$`{$a|$b|$c}', trace: true, reporter: reporter)
|
2851
|
+
end
|
2852
|
+
|
2853
|
+
it '&& mix two lowercase chars and one digit -> valid' do
|
2854
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2855
|
+
expect(parser.marc_spec).to parse('...$`{$a~\\test\\$}', trace: true, reporter: reporter)
|
2856
|
+
end
|
2857
|
+
|
2858
|
+
it '&& one digit two wildcards right -> valid' do
|
2859
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2860
|
+
expect(parser.marc_spec).to parse('...$`{$a!=$b}', trace: true, reporter: reporter)
|
2861
|
+
end
|
2862
|
+
|
2863
|
+
it '&& one lowercase and two wildcards right -> valid' do
|
2864
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2865
|
+
expect(parser.marc_spec).to parse('...$`{$a~\\test\\=}', trace: true, reporter: reporter)
|
2866
|
+
end
|
2867
|
+
|
2868
|
+
it '&& one uppercase char two wildcards right -> valid' do
|
2869
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2870
|
+
expect(parser.marc_spec).to parse('...$`{$a|$b}{$c|$d}', trace: true, reporter: reporter)
|
2871
|
+
end
|
2872
|
+
|
2873
|
+
it '&& one wildcard between uppercase chars -> valid' do
|
2874
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2875
|
+
expect(parser.marc_spec).to parse('...$`{$a}{$b|$c}', trace: true, reporter: reporter)
|
2876
|
+
end
|
2877
|
+
|
2878
|
+
it '&& one wildcard left and two lowercase chars -> valid' do
|
2879
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2880
|
+
expect(parser.marc_spec).to parse('...$`{$a~\\test\\!}', trace: true, reporter: reporter)
|
2881
|
+
end
|
2882
|
+
|
2883
|
+
it '&& one wildcard left two uppercase chars -> valid' do
|
2884
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2885
|
+
expect(parser.marc_spec).to parse('...$`{$a|$b}{$c}', trace: true, reporter: reporter)
|
2886
|
+
end
|
2887
|
+
|
2888
|
+
it '&& one wildcard left with two digits -> valid' do
|
2889
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2890
|
+
expect(parser.marc_spec).to parse('...$`{?$a}', trace: true, reporter: reporter)
|
2891
|
+
end
|
2892
|
+
|
2893
|
+
it '&& two digits wildcard right -> valid' do
|
2894
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2895
|
+
expect(parser.marc_spec).to parse('...$`{$a=$b}', trace: true, reporter: reporter)
|
2896
|
+
end
|
2897
|
+
|
2898
|
+
it '&& two wildcards and one lowercase char right -> valid' do
|
2899
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2900
|
+
expect(parser.marc_spec).to parse('...$`{$a~\\test\\}}', trace: true, reporter: reporter)
|
2901
|
+
end
|
2902
|
+
|
2903
|
+
it '&& two wildcards left one uppercase char -> valid' do
|
2904
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2905
|
+
expect(parser.marc_spec).to parse('...$`{/#=\\/}', trace: true, reporter: reporter)
|
2906
|
+
end
|
2907
|
+
|
2908
|
+
it '&& two wildcards left with digit -> valid' do
|
2909
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2910
|
+
expect(parser.marc_spec).to parse('...$`{$a}', trace: true, reporter: reporter)
|
2911
|
+
end
|
2912
|
+
|
2913
|
+
it '&& wildcard between digits -> valid' do
|
2914
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2915
|
+
expect(parser.marc_spec).to parse('...$`{!$a}', trace: true, reporter: reporter)
|
2916
|
+
end
|
2917
|
+
|
2918
|
+
end
|
2919
|
+
|
2920
|
+
describe 'subfieldtag {' do
|
2921
|
+
|
2922
|
+
it '&& all digits -> valid' do
|
2923
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2924
|
+
expect(parser.marc_spec).to parse('...${{$a~\\Poe}', trace: true, reporter: reporter)
|
2925
|
+
end
|
2926
|
+
|
2927
|
+
it '&& all lowercase chars -> valid' do
|
2928
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2929
|
+
expect(parser.marc_spec).to parse('...${{$a~\\test\\{}', trace: true, reporter: reporter)
|
2930
|
+
expect(parser.marc_spec).to parse('...${{$a~\\test\\~}', trace: true, reporter: reporter)
|
2931
|
+
expect(parser.marc_spec).to parse('...${{$a~\\test\\?}', trace: true, reporter: reporter)
|
2932
|
+
expect(parser.marc_spec).to parse('...${{$a~\\test\\|}', trace: true, reporter: reporter)
|
2933
|
+
end
|
2934
|
+
|
2935
|
+
it '&& all uppercase chars special leader -> valid' do
|
2936
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2937
|
+
expect(parser.marc_spec).to parse('...${{$a!~\\Poe}', trace: true, reporter: reporter)
|
2938
|
+
end
|
2939
|
+
|
2940
|
+
it '&& all wildcards -> valid' do
|
2941
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2942
|
+
expect(parser.marc_spec).to parse('...${{245$a}', trace: true, reporter: reporter)
|
2943
|
+
end
|
2944
|
+
|
2945
|
+
it '&& mix one lowercase char and two digits -> valid' do
|
2946
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2947
|
+
expect(parser.marc_spec).to parse('...${{$a|$b|$c}', trace: true, reporter: reporter)
|
2948
|
+
end
|
2949
|
+
|
2950
|
+
it '&& mix two lowercase chars and one digit -> valid' do
|
2951
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2952
|
+
expect(parser.marc_spec).to parse('...${{$a~\\test\\$}', trace: true, reporter: reporter)
|
2953
|
+
end
|
2954
|
+
|
2955
|
+
it '&& one digit two wildcards right -> valid' do
|
2956
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2957
|
+
expect(parser.marc_spec).to parse('...${{$a!=$b}', trace: true, reporter: reporter)
|
2958
|
+
end
|
2959
|
+
|
2960
|
+
it '&& one lowercase and two wildcards right -> valid' do
|
2961
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2962
|
+
expect(parser.marc_spec).to parse('...${{$a~\\test\\=}', trace: true, reporter: reporter)
|
2963
|
+
end
|
2964
|
+
|
2965
|
+
it '&& one uppercase char two wildcards right -> valid' do
|
2966
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2967
|
+
expect(parser.marc_spec).to parse('...${{$a|$b}{$c|$d}', trace: true, reporter: reporter)
|
2968
|
+
end
|
2969
|
+
|
2970
|
+
it '&& one wildcard between uppercase chars -> valid' do
|
2971
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2972
|
+
expect(parser.marc_spec).to parse('...${{$a}{$b|$c}', trace: true, reporter: reporter)
|
2973
|
+
end
|
2974
|
+
|
2975
|
+
it '&& one wildcard left and two lowercase chars -> valid' do
|
2976
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2977
|
+
expect(parser.marc_spec).to parse('...${{$a~\\test\\!}', trace: true, reporter: reporter)
|
2978
|
+
end
|
2979
|
+
|
2980
|
+
it '&& one wildcard left two uppercase chars -> valid' do
|
2981
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2982
|
+
expect(parser.marc_spec).to parse('...${{$a|$b}{$c}', trace: true, reporter: reporter)
|
2983
|
+
end
|
2984
|
+
|
2985
|
+
it '&& one wildcard left with two digits -> valid' do
|
2986
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2987
|
+
expect(parser.marc_spec).to parse('...${{?$a}', trace: true, reporter: reporter)
|
2988
|
+
end
|
2989
|
+
|
2990
|
+
it '&& two digits wildcard right -> valid' do
|
2991
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2992
|
+
expect(parser.marc_spec).to parse('...${{$a=$b}', trace: true, reporter: reporter)
|
2993
|
+
end
|
2994
|
+
|
2995
|
+
it '&& two wildcards and one lowercase char right -> valid' do
|
2996
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
2997
|
+
expect(parser.marc_spec).to parse('...${{$a~\\test\\}}', trace: true, reporter: reporter)
|
2998
|
+
end
|
2999
|
+
|
3000
|
+
it '&& two wildcards left one uppercase char -> valid' do
|
3001
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3002
|
+
expect(parser.marc_spec).to parse('...${{/#=\\/}', trace: true, reporter: reporter)
|
3003
|
+
end
|
3004
|
+
|
3005
|
+
it '&& two wildcards left with digit -> valid' do
|
3006
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3007
|
+
expect(parser.marc_spec).to parse('...${{$a}', trace: true, reporter: reporter)
|
3008
|
+
end
|
3009
|
+
|
3010
|
+
it '&& wildcard between digits -> valid' do
|
3011
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3012
|
+
expect(parser.marc_spec).to parse('...${{!$a}', trace: true, reporter: reporter)
|
3013
|
+
end
|
3014
|
+
|
3015
|
+
end
|
3016
|
+
|
3017
|
+
describe 'subfieldtag }' do
|
3018
|
+
|
3019
|
+
it '&& all digits -> valid' do
|
3020
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3021
|
+
expect(parser.marc_spec).to parse('...$}{$a~\\Poe}', trace: true, reporter: reporter)
|
3022
|
+
end
|
3023
|
+
|
3024
|
+
it '&& all lowercase chars -> valid' do
|
3025
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3026
|
+
expect(parser.marc_spec).to parse('...$}{$a~\\test\\{}', trace: true, reporter: reporter)
|
3027
|
+
expect(parser.marc_spec).to parse('...$}{$a~\\test\\~}', trace: true, reporter: reporter)
|
3028
|
+
expect(parser.marc_spec).to parse('...$}{$a~\\test\\?}', trace: true, reporter: reporter)
|
3029
|
+
expect(parser.marc_spec).to parse('...$}{$a~\\test\\|}', trace: true, reporter: reporter)
|
3030
|
+
end
|
3031
|
+
|
3032
|
+
it '&& all uppercase chars special leader -> valid' do
|
3033
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3034
|
+
expect(parser.marc_spec).to parse('...$}{$a!~\\Poe}', trace: true, reporter: reporter)
|
3035
|
+
end
|
3036
|
+
|
3037
|
+
it '&& all wildcards -> valid' do
|
3038
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3039
|
+
expect(parser.marc_spec).to parse('...$}{245$a}', trace: true, reporter: reporter)
|
3040
|
+
end
|
3041
|
+
|
3042
|
+
it '&& mix one lowercase char and two digits -> valid' do
|
3043
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3044
|
+
expect(parser.marc_spec).to parse('...$}{$a|$b|$c}', trace: true, reporter: reporter)
|
3045
|
+
end
|
3046
|
+
|
3047
|
+
it '&& mix two lowercase chars and one digit -> valid' do
|
3048
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3049
|
+
expect(parser.marc_spec).to parse('...$}{$a~\\test\\$}', trace: true, reporter: reporter)
|
3050
|
+
end
|
3051
|
+
|
3052
|
+
it '&& one digit two wildcards right -> valid' do
|
3053
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3054
|
+
expect(parser.marc_spec).to parse('...$}{$a!=$b}', trace: true, reporter: reporter)
|
3055
|
+
end
|
3056
|
+
|
3057
|
+
it '&& one lowercase and two wildcards right -> valid' do
|
3058
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3059
|
+
expect(parser.marc_spec).to parse('...$}{$a~\\test\\=}', trace: true, reporter: reporter)
|
3060
|
+
end
|
3061
|
+
|
3062
|
+
it '&& one uppercase char two wildcards right -> valid' do
|
3063
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3064
|
+
expect(parser.marc_spec).to parse('...$}{$a|$b}{$c|$d}', trace: true, reporter: reporter)
|
3065
|
+
end
|
3066
|
+
|
3067
|
+
it '&& one wildcard between uppercase chars -> valid' do
|
3068
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3069
|
+
expect(parser.marc_spec).to parse('...$}{$a}{$b|$c}', trace: true, reporter: reporter)
|
3070
|
+
end
|
3071
|
+
|
3072
|
+
it '&& one wildcard left and two lowercase chars -> valid' do
|
3073
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3074
|
+
expect(parser.marc_spec).to parse('...$}{$a~\\test\\!}', trace: true, reporter: reporter)
|
3075
|
+
end
|
3076
|
+
|
3077
|
+
it '&& one wildcard left two uppercase chars -> valid' do
|
3078
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3079
|
+
expect(parser.marc_spec).to parse('...$}{$a|$b}{$c}', trace: true, reporter: reporter)
|
3080
|
+
end
|
3081
|
+
|
3082
|
+
it '&& one wildcard left with two digits -> valid' do
|
3083
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3084
|
+
expect(parser.marc_spec).to parse('...$}{?$a}', trace: true, reporter: reporter)
|
3085
|
+
end
|
3086
|
+
|
3087
|
+
it '&& two digits wildcard right -> valid' do
|
3088
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3089
|
+
expect(parser.marc_spec).to parse('...$}{$a=$b}', trace: true, reporter: reporter)
|
3090
|
+
end
|
3091
|
+
|
3092
|
+
it '&& two wildcards and one lowercase char right -> valid' do
|
3093
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3094
|
+
expect(parser.marc_spec).to parse('...$}{$a~\\test\\}}', trace: true, reporter: reporter)
|
3095
|
+
end
|
3096
|
+
|
3097
|
+
it '&& two wildcards left one uppercase char -> valid' do
|
3098
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3099
|
+
expect(parser.marc_spec).to parse('...$}{/#=\\/}', trace: true, reporter: reporter)
|
3100
|
+
end
|
3101
|
+
|
3102
|
+
it '&& two wildcards left with digit -> valid' do
|
3103
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3104
|
+
expect(parser.marc_spec).to parse('...$}{$a}', trace: true, reporter: reporter)
|
3105
|
+
end
|
3106
|
+
|
3107
|
+
it '&& wildcard between digits -> valid' do
|
3108
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3109
|
+
expect(parser.marc_spec).to parse('...$}{!$a}', trace: true, reporter: reporter)
|
3110
|
+
end
|
3111
|
+
|
3112
|
+
end
|
3113
|
+
|
3114
|
+
describe 'subfieldtag ~' do
|
3115
|
+
|
3116
|
+
it '&& all digits -> valid' do
|
3117
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3118
|
+
expect(parser.marc_spec).to parse('...$~{$a~\\Poe}', trace: true, reporter: reporter)
|
3119
|
+
end
|
3120
|
+
|
3121
|
+
it '&& all lowercase chars -> valid' do
|
3122
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3123
|
+
expect(parser.marc_spec).to parse('...$~{$a~\\test\\{}', trace: true, reporter: reporter)
|
3124
|
+
expect(parser.marc_spec).to parse('...$~{$a~\\test\\~}', trace: true, reporter: reporter)
|
3125
|
+
expect(parser.marc_spec).to parse('...$~{$a~\\test\\?}', trace: true, reporter: reporter)
|
3126
|
+
expect(parser.marc_spec).to parse('...$~{$a~\\test\\|}', trace: true, reporter: reporter)
|
3127
|
+
end
|
3128
|
+
|
3129
|
+
it '&& all uppercase chars special leader -> valid' do
|
3130
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3131
|
+
expect(parser.marc_spec).to parse('...$~{$a!~\\Poe}', trace: true, reporter: reporter)
|
3132
|
+
end
|
3133
|
+
|
3134
|
+
it '&& all wildcards -> valid' do
|
3135
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3136
|
+
expect(parser.marc_spec).to parse('...$~{245$a}', trace: true, reporter: reporter)
|
3137
|
+
end
|
3138
|
+
|
3139
|
+
it '&& mix one lowercase char and two digits -> valid' do
|
3140
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3141
|
+
expect(parser.marc_spec).to parse('...$~{$a|$b|$c}', trace: true, reporter: reporter)
|
3142
|
+
end
|
3143
|
+
|
3144
|
+
it '&& mix two lowercase chars and one digit -> valid' do
|
3145
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3146
|
+
expect(parser.marc_spec).to parse('...$~{$a~\\test\\$}', trace: true, reporter: reporter)
|
3147
|
+
end
|
3148
|
+
|
3149
|
+
it '&& one digit two wildcards right -> valid' do
|
3150
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3151
|
+
expect(parser.marc_spec).to parse('...$~{$a!=$b}', trace: true, reporter: reporter)
|
3152
|
+
end
|
3153
|
+
|
3154
|
+
it '&& one lowercase and two wildcards right -> valid' do
|
3155
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3156
|
+
expect(parser.marc_spec).to parse('...$~{$a~\\test\\=}', trace: true, reporter: reporter)
|
3157
|
+
end
|
3158
|
+
|
3159
|
+
it '&& one uppercase char two wildcards right -> valid' do
|
3160
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3161
|
+
expect(parser.marc_spec).to parse('...$~{$a|$b}{$c|$d}', trace: true, reporter: reporter)
|
3162
|
+
end
|
3163
|
+
|
3164
|
+
it '&& one wildcard between uppercase chars -> valid' do
|
3165
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3166
|
+
expect(parser.marc_spec).to parse('...$~{$a}{$b|$c}', trace: true, reporter: reporter)
|
3167
|
+
end
|
3168
|
+
|
3169
|
+
it '&& one wildcard left and two lowercase chars -> valid' do
|
3170
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3171
|
+
expect(parser.marc_spec).to parse('...$~{$a~\\test\\!}', trace: true, reporter: reporter)
|
3172
|
+
end
|
3173
|
+
|
3174
|
+
it '&& one wildcard left two uppercase chars -> valid' do
|
3175
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3176
|
+
expect(parser.marc_spec).to parse('...$~{$a|$b}{$c}', trace: true, reporter: reporter)
|
3177
|
+
end
|
3178
|
+
|
3179
|
+
it '&& one wildcard left with two digits -> valid' do
|
3180
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3181
|
+
expect(parser.marc_spec).to parse('...$~{?$a}', trace: true, reporter: reporter)
|
3182
|
+
end
|
3183
|
+
|
3184
|
+
it '&& two digits wildcard right -> valid' do
|
3185
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3186
|
+
expect(parser.marc_spec).to parse('...$~{$a=$b}', trace: true, reporter: reporter)
|
3187
|
+
end
|
3188
|
+
|
3189
|
+
it '&& two wildcards and one lowercase char right -> valid' do
|
3190
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3191
|
+
expect(parser.marc_spec).to parse('...$~{$a~\\test\\}}', trace: true, reporter: reporter)
|
3192
|
+
end
|
3193
|
+
|
3194
|
+
it '&& two wildcards left one uppercase char -> valid' do
|
3195
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3196
|
+
expect(parser.marc_spec).to parse('...$~{/#=\\/}', trace: true, reporter: reporter)
|
3197
|
+
end
|
3198
|
+
|
3199
|
+
it '&& two wildcards left with digit -> valid' do
|
3200
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3201
|
+
expect(parser.marc_spec).to parse('...$~{$a}', trace: true, reporter: reporter)
|
3202
|
+
end
|
3203
|
+
|
3204
|
+
it '&& wildcard between digits -> valid' do
|
3205
|
+
# /valid/wildCombination_validSubfieldTagSubSpec.json
|
3206
|
+
expect(parser.marc_spec).to parse('...$~{!$a}', trace: true, reporter: reporter)
|
3207
|
+
end
|
3208
|
+
|
3209
|
+
end
|
3210
|
+
|
3211
|
+
end
|
3212
|
+
end
|
3213
|
+
end
|
3214
|
+
end
|
3215
|
+
end
|
3216
|
+
end
|