regexp_parser 1.7.1 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -18,8 +18,6 @@ RSpec.describe('Set scanning') do
18
18
  include_examples 'scan', /[<]/, 1 => [:literal, :literal, '<', 1, 2]
19
19
  include_examples 'scan', /[>]/, 1 => [:literal, :literal, '>', 1, 2]
20
20
 
21
- include_examples 'scan', /[äöü]/, 2 => [:literal, :literal, 'ö', 3, 5]
22
-
23
21
  include_examples 'scan', /[\x20]/, 1 => [:escape, :hex, '\x20', 1, 5]
24
22
 
25
23
  include_examples 'scan', '[\.]', 1 => [:escape, :dot, '\.', 1, 3]
@@ -90,6 +88,14 @@ RSpec.describe('Set scanning') do
90
88
  8 => [:set, :range, '-', 9, 10],
91
89
  10=> [:set, :close, ']', 11, 12]
92
90
 
91
+ # multi-byte characters should not affect indices
92
+ include_examples 'scan', /[れます]/,
93
+ 0 => [:set, :open, '[', 0, 1],
94
+ 1 => [:literal, :literal, 'れ', 1, 2],
95
+ 2 => [:literal, :literal, 'ま', 2, 3],
96
+ 3 => [:literal, :literal, 'す', 3, 4],
97
+ 4 => [:set, :close, ']', 4, 5]
98
+
93
99
  specify('set literal encoding') do
94
100
  text = RS.scan('[a]')[1][2].to_s
95
101
  expect(text).to eq 'a'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: regexp_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.1
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ammar Ali
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-07 00:00:00.000000000 Z
11
+ date: 2020-12-20 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A library for tokenizing, lexing, and parsing Ruby regular expressions.
14
14
  email:
@@ -102,8 +102,6 @@ files:
102
102
  - spec/expression/methods/tests_spec.rb
103
103
  - spec/expression/methods/traverse_spec.rb
104
104
  - spec/expression/options_spec.rb
105
- - spec/expression/root_spec.rb
106
- - spec/expression/sequence_spec.rb
107
105
  - spec/expression/subexpression_spec.rb
108
106
  - spec/expression/to_h_spec.rb
109
107
  - spec/expression/to_s_spec.rb
@@ -124,6 +122,7 @@ files:
124
122
  - spec/parser/free_space_spec.rb
125
123
  - spec/parser/groups_spec.rb
126
124
  - spec/parser/keep_spec.rb
125
+ - spec/parser/options_spec.rb
127
126
  - spec/parser/posix_classes_spec.rb
128
127
  - spec/parser/properties_spec.rb
129
128
  - spec/parser/quantifiers_spec.rb
@@ -143,6 +142,7 @@ files:
143
142
  - spec/scanner/keep_spec.rb
144
143
  - spec/scanner/literals_spec.rb
145
144
  - spec/scanner/meta_spec.rb
145
+ - spec/scanner/options_spec.rb
146
146
  - spec/scanner/properties_spec.rb
147
147
  - spec/scanner/quantifiers_spec.rb
148
148
  - spec/scanner/refcalls_spec.rb
@@ -176,84 +176,84 @@ required_ruby_version: !ruby/object:Gem::Requirement
176
176
  requirements:
177
177
  - - ">="
178
178
  - !ruby/object:Gem::Version
179
- version: 1.9.1
179
+ version: 2.0.0
180
180
  required_rubygems_version: !ruby/object:Gem::Requirement
181
181
  requirements:
182
182
  - - ">="
183
183
  - !ruby/object:Gem::Version
184
184
  version: '0'
185
185
  requirements: []
186
- rubygems_version: 3.1.2
186
+ rubygems_version: 3.2.0
187
187
  signing_key:
188
188
  specification_version: 4
189
189
  summary: Scanner, lexer, parser for ruby's regular expressions
190
190
  test_files:
191
- - spec/token/token_spec.rb
192
- - spec/spec_helper.rb
193
- - spec/lexer/escapes_spec.rb
194
- - spec/lexer/keep_spec.rb
191
+ - spec/expression/base_spec.rb
192
+ - spec/expression/clone_spec.rb
193
+ - spec/expression/conditional_spec.rb
194
+ - spec/expression/free_space_spec.rb
195
+ - spec/expression/methods/match_length_spec.rb
196
+ - spec/expression/methods/match_spec.rb
197
+ - spec/expression/methods/strfregexp_spec.rb
198
+ - spec/expression/methods/tests_spec.rb
199
+ - spec/expression/methods/traverse_spec.rb
200
+ - spec/expression/options_spec.rb
201
+ - spec/expression/subexpression_spec.rb
202
+ - spec/expression/to_h_spec.rb
203
+ - spec/expression/to_s_spec.rb
195
204
  - spec/lexer/all_spec.rb
196
205
  - spec/lexer/conditionals_spec.rb
197
- - spec/lexer/nesting_spec.rb
198
206
  - spec/lexer/delimiters_spec.rb
199
- - spec/lexer/refcalls_spec.rb
207
+ - spec/lexer/escapes_spec.rb
208
+ - spec/lexer/keep_spec.rb
200
209
  - spec/lexer/literals_spec.rb
201
- - spec/parser/escapes_spec.rb
202
- - spec/parser/properties_spec.rb
203
- - spec/parser/sets_spec.rb
204
- - spec/parser/free_space_spec.rb
205
- - spec/parser/keep_spec.rb
210
+ - spec/lexer/nesting_spec.rb
211
+ - spec/lexer/refcalls_spec.rb
206
212
  - spec/parser/all_spec.rb
207
- - spec/parser/conditionals_spec.rb
208
- - spec/parser/types_spec.rb
209
- - spec/parser/anchors_spec.rb
210
213
  - spec/parser/alternation_spec.rb
211
- - spec/parser/posix_classes_spec.rb
212
- - spec/parser/set/ranges_spec.rb
213
- - spec/parser/set/intersections_spec.rb
214
+ - spec/parser/anchors_spec.rb
215
+ - spec/parser/conditionals_spec.rb
214
216
  - spec/parser/errors_spec.rb
215
- - spec/parser/refcalls_spec.rb
217
+ - spec/parser/escapes_spec.rb
218
+ - spec/parser/free_space_spec.rb
216
219
  - spec/parser/groups_spec.rb
220
+ - spec/parser/keep_spec.rb
221
+ - spec/parser/options_spec.rb
222
+ - spec/parser/posix_classes_spec.rb
223
+ - spec/parser/properties_spec.rb
217
224
  - spec/parser/quantifiers_spec.rb
218
- - spec/support/warning_extractor.rb
219
- - spec/support/shared_examples.rb
220
- - spec/support/runner.rb
221
- - spec/expression/subexpression_spec.rb
222
- - spec/expression/methods/match_spec.rb
223
- - spec/expression/methods/match_length_spec.rb
224
- - spec/expression/methods/traverse_spec.rb
225
- - spec/expression/methods/strfregexp_spec.rb
226
- - spec/expression/methods/tests_spec.rb
227
- - spec/expression/free_space_spec.rb
228
- - spec/expression/options_spec.rb
229
- - spec/expression/to_s_spec.rb
230
- - spec/expression/root_spec.rb
231
- - spec/expression/sequence_spec.rb
232
- - spec/expression/clone_spec.rb
233
- - spec/expression/to_h_spec.rb
234
- - spec/expression/conditional_spec.rb
235
- - spec/expression/base_spec.rb
236
- - spec/syntax/syntax_spec.rb
237
- - spec/syntax/syntax_token_map_spec.rb
238
- - spec/syntax/versions/1.9.3_spec.rb
239
- - spec/syntax/versions/2.2.0_spec.rb
240
- - spec/syntax/versions/1.9.1_spec.rb
241
- - spec/syntax/versions/2.0.0_spec.rb
242
- - spec/syntax/versions/1.8.6_spec.rb
243
- - spec/syntax/versions/aliases_spec.rb
244
- - spec/scanner/escapes_spec.rb
245
- - spec/scanner/properties_spec.rb
246
- - spec/scanner/sets_spec.rb
247
- - spec/scanner/free_space_spec.rb
248
- - spec/scanner/keep_spec.rb
225
+ - spec/parser/refcalls_spec.rb
226
+ - spec/parser/set/intersections_spec.rb
227
+ - spec/parser/set/ranges_spec.rb
228
+ - spec/parser/sets_spec.rb
229
+ - spec/parser/types_spec.rb
249
230
  - spec/scanner/all_spec.rb
250
- - spec/scanner/conditionals_spec.rb
251
- - spec/scanner/types_spec.rb
252
231
  - spec/scanner/anchors_spec.rb
253
- - spec/scanner/meta_spec.rb
254
- - spec/scanner/errors_spec.rb
232
+ - spec/scanner/conditionals_spec.rb
255
233
  - spec/scanner/delimiters_spec.rb
256
- - spec/scanner/refcalls_spec.rb
234
+ - spec/scanner/errors_spec.rb
235
+ - spec/scanner/escapes_spec.rb
236
+ - spec/scanner/free_space_spec.rb
257
237
  - spec/scanner/groups_spec.rb
238
+ - spec/scanner/keep_spec.rb
258
239
  - spec/scanner/literals_spec.rb
240
+ - spec/scanner/meta_spec.rb
241
+ - spec/scanner/options_spec.rb
242
+ - spec/scanner/properties_spec.rb
259
243
  - spec/scanner/quantifiers_spec.rb
244
+ - spec/scanner/refcalls_spec.rb
245
+ - spec/scanner/sets_spec.rb
246
+ - spec/scanner/types_spec.rb
247
+ - spec/spec_helper.rb
248
+ - spec/support/runner.rb
249
+ - spec/support/shared_examples.rb
250
+ - spec/support/warning_extractor.rb
251
+ - spec/syntax/syntax_spec.rb
252
+ - spec/syntax/syntax_token_map_spec.rb
253
+ - spec/syntax/versions/1.8.6_spec.rb
254
+ - spec/syntax/versions/1.9.1_spec.rb
255
+ - spec/syntax/versions/1.9.3_spec.rb
256
+ - spec/syntax/versions/2.0.0_spec.rb
257
+ - spec/syntax/versions/2.2.0_spec.rb
258
+ - spec/syntax/versions/aliases_spec.rb
259
+ - spec/token/token_spec.rb
@@ -1,9 +0,0 @@
1
- require 'spec_helper'
2
-
3
- RSpec.describe(Regexp::Expression::Root) do
4
- describe('#initialize') do
5
- it 'supports the old, nonstandard arity for backwards compatibility' do
6
- expect { Root.new }.to output.to_stderr
7
- end
8
- end
9
- end
@@ -1,9 +0,0 @@
1
- require 'spec_helper'
2
-
3
- RSpec.describe(Regexp::Expression::Sequence) do
4
- describe('#initialize') do
5
- it 'supports the old, nonstandard arity for backwards compatibility' do
6
- expect { Sequence.new(0, 0, 0) }.to output.to_stderr
7
- end
8
- end
9
- end