regexp_parser 1.7.1 → 2.0.1

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.
@@ -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