regexp_parser 1.0.0 → 1.2.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.
@@ -19,6 +19,9 @@ class TestParserGroups < Test::Unit::TestCase
19
19
  assert_equal true, t.expressions[0].m?
20
20
  assert_equal false, t.expressions[0].i?
21
21
  assert_equal false, t.expressions[0].x?
22
+
23
+ assert_equal true, t.expressions[0].option_changes[:m]
24
+ assert_equal nil, t.expressions[0].option_changes[:i]
22
25
  end
23
26
 
24
27
  def test_parse_self_defeating_option_group
@@ -27,6 +30,9 @@ class TestParserGroups < Test::Unit::TestCase
27
30
  assert_equal false, t.expressions[0].m?
28
31
  assert_equal false, t.expressions[0].i?
29
32
  assert_equal false, t.expressions[0].x?
33
+
34
+ assert_equal false, t.expressions[0].option_changes[:m]
35
+ assert_equal nil, t.expressions[0].option_changes[:i]
30
36
  end
31
37
 
32
38
  def test_parse_nested_options_activate_one
@@ -39,6 +45,10 @@ class TestParserGroups < Test::Unit::TestCase
39
45
  assert_equal true, t.expressions[0].expressions[1].m?
40
46
  assert_equal false, t.expressions[0].expressions[1].i?
41
47
  assert_equal true, t.expressions[0].expressions[1].x?
48
+
49
+ assert_equal true, t.expressions[0].expressions[1].option_changes[:m]
50
+ assert_equal nil, t.expressions[0].expressions[1].option_changes[:i]
51
+ assert_equal nil, t.expressions[0].expressions[1].option_changes[:x]
42
52
  end
43
53
 
44
54
  def test_parse_nested_options_deactivate_one
@@ -51,6 +61,10 @@ class TestParserGroups < Test::Unit::TestCase
51
61
  assert_equal false, t.expressions[0].expressions[1].m?
52
62
  assert_equal false, t.expressions[0].expressions[1].i?
53
63
  assert_equal true, t.expressions[0].expressions[1].x?
64
+
65
+ assert_equal false, t.expressions[0].expressions[1].option_changes[:i]
66
+ assert_equal nil, t.expressions[0].expressions[1].option_changes[:m]
67
+ assert_equal nil, t.expressions[0].expressions[1].option_changes[:x]
54
68
  end
55
69
 
56
70
  def test_parse_nested_options_invert_all
@@ -63,6 +77,10 @@ class TestParserGroups < Test::Unit::TestCase
63
77
  assert_equal true, t.expressions[0].expressions[1].m?
64
78
  assert_equal false, t.expressions[0].expressions[1].i?
65
79
  assert_equal false, t.expressions[0].expressions[1].x?
80
+
81
+ assert_equal true, t.expressions[0].expressions[1].option_changes[:m]
82
+ assert_equal false, t.expressions[0].expressions[1].option_changes[:i]
83
+ assert_equal false, t.expressions[0].expressions[1].option_changes[:x]
66
84
  end
67
85
 
68
86
  def test_parse_nested_options_affect_literal_subexpressions
@@ -88,6 +106,10 @@ class TestParserGroups < Test::Unit::TestCase
88
106
  assert_equal false, t.expressions[1].m?
89
107
  assert_equal true, t.expressions[1].i?
90
108
  assert_equal false, t.expressions[1].x?
109
+
110
+ assert_equal true, t.expressions[1].option_changes[:i]
111
+ assert_equal false, t.expressions[1].option_changes[:m]
112
+ assert_equal nil, t.expressions[1].option_changes[:x]
91
113
  end
92
114
 
93
115
  def test_parse_option_switch_affects_following_expressions
@@ -12,6 +12,13 @@ class TestRegexpParserQuantifiers < Test::Unit::TestCase
12
12
  assert_equal 0, exp.quantifier.min
13
13
  assert_equal 1, exp.quantifier.max
14
14
  assert_equal :greedy, exp.quantifier.mode
15
+ assert_equal true, exp.quantifier.greedy?
16
+ assert_equal true, exp.greedy?
17
+
18
+ assert_equal false, exp.quantifier.reluctant?
19
+ assert_equal false, exp.reluctant?
20
+ assert_equal false, exp.quantifier.possessive?
21
+ assert_equal false, exp.possessive?
15
22
  end
16
23
 
17
24
  def test_parse_zero_or_one_reluctant
@@ -23,7 +30,13 @@ class TestRegexpParserQuantifiers < Test::Unit::TestCase
23
30
  assert_equal 0, exp.quantifier.min
24
31
  assert_equal 1, exp.quantifier.max
25
32
  assert_equal :reluctant, exp.quantifier.mode
33
+ assert_equal true, exp.quantifier.reluctant?
26
34
  assert_equal true, exp.reluctant?
35
+
36
+ assert_equal false, exp.quantifier.greedy?
37
+ assert_equal false, exp.greedy?
38
+ assert_equal false, exp.quantifier.possessive?
39
+ assert_equal false, exp.possessive?
27
40
  end
28
41
 
29
42
  def test_parse_zero_or_one_possessive
@@ -35,7 +48,13 @@ class TestRegexpParserQuantifiers < Test::Unit::TestCase
35
48
  assert_equal 0, exp.quantifier.min
36
49
  assert_equal 1, exp.quantifier.max
37
50
  assert_equal :possessive, exp.quantifier.mode
51
+ assert_equal true, exp.quantifier.possessive?
38
52
  assert_equal true, exp.possessive?
53
+
54
+ assert_equal false, exp.quantifier.greedy?
55
+ assert_equal false, exp.greedy?
56
+ assert_equal false, exp.quantifier.reluctant?
57
+ assert_equal false, exp.reluctant?
39
58
  end
40
59
 
41
60
  # *: zero-or-more
@@ -48,6 +67,8 @@ class TestRegexpParserQuantifiers < Test::Unit::TestCase
48
67
  assert_equal 0, exp.quantifier.min
49
68
  assert_equal(-1, exp.quantifier.max)
50
69
  assert_equal :greedy, exp.quantifier.mode
70
+ assert_equal true, exp.quantifier.greedy?
71
+ assert_equal true, exp.greedy?
51
72
  end
52
73
 
53
74
  def test_parse_zero_or_more_reluctant
@@ -59,6 +80,7 @@ class TestRegexpParserQuantifiers < Test::Unit::TestCase
59
80
  assert_equal 0, exp.quantifier.min
60
81
  assert_equal(-1, exp.quantifier.max)
61
82
  assert_equal :reluctant, exp.quantifier.mode
83
+ assert_equal true, exp.quantifier.reluctant?
62
84
  assert_equal true, exp.reluctant?
63
85
  end
64
86
 
@@ -71,6 +93,7 @@ class TestRegexpParserQuantifiers < Test::Unit::TestCase
71
93
  assert_equal 0, exp.quantifier.min
72
94
  assert_equal(-1, exp.quantifier.max)
73
95
  assert_equal :possessive, exp.quantifier.mode
96
+ assert_equal true, exp.quantifier.possessive?
74
97
  assert_equal true, exp.possessive?
75
98
  end
76
99
 
@@ -84,6 +107,8 @@ class TestRegexpParserQuantifiers < Test::Unit::TestCase
84
107
  assert_equal 1, exp.quantifier.min
85
108
  assert_equal(-1, exp.quantifier.max)
86
109
  assert_equal :greedy, exp.quantifier.mode
110
+ assert_equal true, exp.quantifier.greedy?
111
+ assert_equal true, exp.greedy?
87
112
  end
88
113
 
89
114
  def test_parse_one_or_more_reluctant
@@ -95,6 +120,7 @@ class TestRegexpParserQuantifiers < Test::Unit::TestCase
95
120
  assert_equal 1, exp.quantifier.min
96
121
  assert_equal(-1, exp.quantifier.max)
97
122
  assert_equal :reluctant, exp.quantifier.mode
123
+ assert_equal true, exp.quantifier.reluctant?
98
124
  assert_equal true, exp.reluctant?
99
125
  end
100
126
 
@@ -107,6 +133,7 @@ class TestRegexpParserQuantifiers < Test::Unit::TestCase
107
133
  assert_equal 1, exp.quantifier.min
108
134
  assert_equal(-1, exp.quantifier.max)
109
135
  assert_equal :possessive, exp.quantifier.mode
136
+ assert_equal true, exp.quantifier.possessive?
110
137
  assert_equal true, exp.possessive?
111
138
  end
112
139
 
@@ -120,6 +147,8 @@ class TestRegexpParserQuantifiers < Test::Unit::TestCase
120
147
  assert_equal 2, exp.quantifier.min
121
148
  assert_equal 4, exp.quantifier.max
122
149
  assert_equal :greedy, exp.quantifier.mode
150
+ assert_equal true, exp.quantifier.greedy?
151
+ assert_equal true, exp.greedy?
123
152
  end
124
153
 
125
154
  def test_parse_intervals_min_max_reluctant
@@ -131,6 +160,7 @@ class TestRegexpParserQuantifiers < Test::Unit::TestCase
131
160
  assert_equal 3, exp.quantifier.min
132
161
  assert_equal 5, exp.quantifier.max
133
162
  assert_equal :reluctant, exp.quantifier.mode
163
+ assert_equal true, exp.quantifier.reluctant?
134
164
  assert_equal true, exp.reluctant?
135
165
  end
136
166
 
@@ -143,6 +173,7 @@ class TestRegexpParserQuantifiers < Test::Unit::TestCase
143
173
  assert_equal 2, exp.quantifier.min
144
174
  assert_equal 4, exp.quantifier.max
145
175
  assert_equal :possessive, exp.quantifier.mode
176
+ assert_equal true, exp.quantifier.possessive?
146
177
  assert_equal true, exp.possessive?
147
178
  end
148
179
 
@@ -156,6 +187,8 @@ class TestRegexpParserQuantifiers < Test::Unit::TestCase
156
187
  assert_equal 2, exp.quantifier.min
157
188
  assert_equal(-1, exp.quantifier.max)
158
189
  assert_equal :greedy, exp.quantifier.mode
190
+ assert_equal true, exp.quantifier.greedy?
191
+ assert_equal true, exp.greedy?
159
192
  end
160
193
 
161
194
  def test_parse_intervals_min_only_reluctant
@@ -168,6 +201,7 @@ class TestRegexpParserQuantifiers < Test::Unit::TestCase
168
201
  assert_equal 2, exp.quantifier.min
169
202
  assert_equal(-1, exp.quantifier.max)
170
203
  assert_equal :reluctant, exp.quantifier.mode
204
+ assert_equal true, exp.quantifier.reluctant?
171
205
  assert_equal true, exp.reluctant?
172
206
  end
173
207
 
@@ -181,6 +215,7 @@ class TestRegexpParserQuantifiers < Test::Unit::TestCase
181
215
  assert_equal 3, exp.quantifier.min
182
216
  assert_equal(-1, exp.quantifier.max)
183
217
  assert_equal :possessive, exp.quantifier.mode
218
+ assert_equal true, exp.quantifier.possessive?
184
219
  assert_equal true, exp.possessive?
185
220
  end
186
221
 
@@ -194,6 +229,8 @@ class TestRegexpParserQuantifiers < Test::Unit::TestCase
194
229
  assert_equal 0, exp.quantifier.min
195
230
  assert_equal 2, exp.quantifier.max
196
231
  assert_equal :greedy, exp.quantifier.mode
232
+ assert_equal true, exp.quantifier.greedy?
233
+ assert_equal true, exp.greedy?
197
234
  end
198
235
 
199
236
  def test_parse_intervals_max_only_reluctant
@@ -205,6 +242,7 @@ class TestRegexpParserQuantifiers < Test::Unit::TestCase
205
242
  assert_equal 0, exp.quantifier.min
206
243
  assert_equal 4, exp.quantifier.max
207
244
  assert_equal :reluctant, exp.quantifier.mode
245
+ assert_equal true, exp.quantifier.reluctant?
208
246
  assert_equal true, exp.reluctant?
209
247
  end
210
248
 
@@ -217,6 +255,7 @@ class TestRegexpParserQuantifiers < Test::Unit::TestCase
217
255
  assert_equal 0, exp.quantifier.min
218
256
  assert_equal 3, exp.quantifier.max
219
257
  assert_equal :possessive, exp.quantifier.mode
258
+ assert_equal true, exp.quantifier.possessive?
220
259
  assert_equal true, exp.possessive?
221
260
  end
222
261
 
@@ -230,6 +269,8 @@ class TestRegexpParserQuantifiers < Test::Unit::TestCase
230
269
  assert_equal 2, exp.quantifier.min
231
270
  assert_equal 2, exp.quantifier.max
232
271
  assert_equal :greedy, exp.quantifier.mode
272
+ assert_equal true, exp.quantifier.greedy?
273
+ assert_equal true, exp.greedy?
233
274
  end
234
275
 
235
276
  def test_parse_intervals_exact_reluctant
@@ -241,6 +282,7 @@ class TestRegexpParserQuantifiers < Test::Unit::TestCase
241
282
  assert_equal 3, exp.quantifier.min
242
283
  assert_equal 3, exp.quantifier.max
243
284
  assert_equal :reluctant, exp.quantifier.mode
285
+ assert_equal true, exp.quantifier.reluctant?
244
286
  assert_equal true, exp.reluctant?
245
287
  end
246
288
 
@@ -253,7 +295,7 @@ class TestRegexpParserQuantifiers < Test::Unit::TestCase
253
295
  assert_equal 3, exp.quantifier.min
254
296
  assert_equal 3, exp.quantifier.max
255
297
  assert_equal :possessive, exp.quantifier.mode
298
+ assert_equal true, exp.quantifier.possessive?
256
299
  assert_equal true, exp.possessive?
257
300
  end
258
-
259
301
  end
@@ -3,7 +3,7 @@ require File.expand_path("../../helpers", __FILE__)
3
3
  class TestParserRefcalls < Test::Unit::TestCase
4
4
  def test_parse_traditional_number_backref
5
5
  root = RP.parse('(abc)\1', 'ruby/1.9')
6
- exp = root.expressions.at(1)
6
+ exp = root[1]
7
7
 
8
8
  assert_instance_of Backreference::Number, exp
9
9
  assert_equal 1, exp.number
@@ -11,7 +11,7 @@ class TestParserRefcalls < Test::Unit::TestCase
11
11
 
12
12
  def test_parse_backref_named_ab
13
13
  root = RP.parse('(?<X>abc)\k<X>', 'ruby/1.9')
14
- exp = root.expressions.at(1)
14
+ exp = root[1]
15
15
 
16
16
  assert_instance_of Backreference::Name, exp
17
17
  assert_equal 'X', exp.name
@@ -19,7 +19,7 @@ class TestParserRefcalls < Test::Unit::TestCase
19
19
 
20
20
  def test_parse_backref_named_sq
21
21
  root = RP.parse("(?<X>abc)\\k'X'", 'ruby/1.9')
22
- exp = root.expressions.at(1)
22
+ exp = root[1]
23
23
 
24
24
  assert_instance_of Backreference::Name, exp
25
25
  assert_equal 'X', exp.name
@@ -27,7 +27,7 @@ class TestParserRefcalls < Test::Unit::TestCase
27
27
 
28
28
  def test_parse_backref_number_ab
29
29
  root = RP.parse('(abc)\k<1>', 'ruby/1.9')
30
- exp = root.expressions.at(1)
30
+ exp = root[1]
31
31
 
32
32
  assert_instance_of Backreference::Number, exp
33
33
  assert_equal 1, exp.number
@@ -35,7 +35,7 @@ class TestParserRefcalls < Test::Unit::TestCase
35
35
 
36
36
  def test_parse_backref_number_sq
37
37
  root = RP.parse("(abc)\\k'1'", 'ruby/1.9')
38
- exp = root.expressions.at(1)
38
+ exp = root[1]
39
39
 
40
40
  assert_instance_of Backreference::Number, exp
41
41
  assert_equal 1, exp.number
@@ -43,7 +43,7 @@ class TestParserRefcalls < Test::Unit::TestCase
43
43
 
44
44
  def test_parse_backref_number_relative_ab
45
45
  root = RP.parse('(abc)\k<-1>', 'ruby/1.9')
46
- exp = root.expressions.at(1)
46
+ exp = root[1]
47
47
 
48
48
  assert_instance_of Backreference::NumberRelative, exp
49
49
  assert_equal(-1, exp.number)
@@ -51,7 +51,7 @@ class TestParserRefcalls < Test::Unit::TestCase
51
51
 
52
52
  def test_parse_backref_number_relative_sq
53
53
  root = RP.parse("(abc)\\k'-1'", 'ruby/1.9')
54
- exp = root.expressions.at(1)
54
+ exp = root[1]
55
55
 
56
56
  assert_instance_of Backreference::NumberRelative, exp
57
57
  assert_equal(-1, exp.number)
@@ -59,7 +59,7 @@ class TestParserRefcalls < Test::Unit::TestCase
59
59
 
60
60
  def test_parse_backref_name_call_ab
61
61
  root = RP.parse('(?<X>abc)\g<X>', 'ruby/1.9')
62
- exp = root.expressions.at(1)
62
+ exp = root[1]
63
63
 
64
64
  assert_instance_of Backreference::NameCall, exp
65
65
  assert_equal 'X', exp.name
@@ -67,7 +67,7 @@ class TestParserRefcalls < Test::Unit::TestCase
67
67
 
68
68
  def test_parse_backref_name_call_sq
69
69
  root = RP.parse("(?<X>abc)\\g'X'", 'ruby/1.9')
70
- exp = root.expressions.at(1)
70
+ exp = root[1]
71
71
 
72
72
  assert_instance_of Backreference::NameCall, exp
73
73
  assert_equal 'X', exp.name
@@ -75,7 +75,7 @@ class TestParserRefcalls < Test::Unit::TestCase
75
75
 
76
76
  def test_parse_backref_number_call_ab
77
77
  root = RP.parse('(abc)\g<1>', 'ruby/1.9')
78
- exp = root.expressions.at(1)
78
+ exp = root[1]
79
79
 
80
80
  assert_instance_of Backreference::NumberCall, exp
81
81
  assert_equal 1, exp.number
@@ -83,7 +83,7 @@ class TestParserRefcalls < Test::Unit::TestCase
83
83
 
84
84
  def test_parse_backref_number_call_sq
85
85
  root = RP.parse("(abc)\\g'1'", 'ruby/1.9')
86
- exp = root.expressions.at(1)
86
+ exp = root[1]
87
87
 
88
88
  assert_instance_of Backreference::NumberCall, exp
89
89
  assert_equal 1, exp.number
@@ -91,7 +91,7 @@ class TestParserRefcalls < Test::Unit::TestCase
91
91
 
92
92
  def test_parse_backref_number_relative_call_ab
93
93
  root = RP.parse('(abc)\g<-1>', 'ruby/1.9')
94
- exp = root.expressions.at(1)
94
+ exp = root[1]
95
95
 
96
96
  assert_instance_of Backreference::NumberCallRelative, exp
97
97
  assert_equal(-1, exp.number)
@@ -99,15 +99,31 @@ class TestParserRefcalls < Test::Unit::TestCase
99
99
 
100
100
  def test_parse_backref_number_relative_call_sq
101
101
  root = RP.parse("(abc)\\g'-1'", 'ruby/1.9')
102
- exp = root.expressions.at(1)
102
+ exp = root[1]
103
103
 
104
104
  assert_instance_of Backreference::NumberCallRelative, exp
105
105
  assert_equal(-1, exp.number)
106
106
  end
107
107
 
108
+ def test_parse_backref_number_relative_forward_call_ab
109
+ root = RP.parse('\g<+1>(abc)', 'ruby/1.9')
110
+ exp = root[0]
111
+
112
+ assert_instance_of Backreference::NumberCallRelative, exp
113
+ assert_equal 1, exp.number
114
+ end
115
+
116
+ def test_parse_backref_number_relative_forward_call_sq
117
+ root = RP.parse("\\g'+1'(abc)", 'ruby/1.9')
118
+ exp = root[0]
119
+
120
+ assert_instance_of Backreference::NumberCallRelative, exp
121
+ assert_equal 1, exp.number
122
+ end
123
+
108
124
  def test_parse_backref_name_recursion_level_ab
109
125
  root = RP.parse('(?<X>abc)\k<X-0>', 'ruby/1.9')
110
- exp = root.expressions.at(1)
126
+ exp = root[1]
111
127
 
112
128
  assert_instance_of Backreference::NameRecursionLevel, exp
113
129
  assert_equal 'X', exp.name
@@ -116,7 +132,7 @@ class TestParserRefcalls < Test::Unit::TestCase
116
132
 
117
133
  def test_parse_backref_name_recursion_level_sq
118
134
  root = RP.parse("(?<X>abc)\\k'X-0'", 'ruby/1.9')
119
- exp = root.expressions.at(1)
135
+ exp = root[1]
120
136
 
121
137
  assert_instance_of Backreference::NameRecursionLevel, exp
122
138
  assert_equal 'X', exp.name
@@ -125,7 +141,7 @@ class TestParserRefcalls < Test::Unit::TestCase
125
141
 
126
142
  def test_parse_backref_number_recursion_level_ab
127
143
  root = RP.parse('(abc)\k<1-0>', 'ruby/1.9')
128
- exp = root.expressions.at(1)
144
+ exp = root[1]
129
145
 
130
146
  assert_instance_of Backreference::NumberRecursionLevel, exp
131
147
  assert_equal 1, exp.number
@@ -134,7 +150,7 @@ class TestParserRefcalls < Test::Unit::TestCase
134
150
 
135
151
  def test_parse_backref_number_recursion_level_sq
136
152
  root = RP.parse("(abc)\\k'1-0'", 'ruby/1.9')
137
- exp = root.expressions.at(1)
153
+ exp = root[1]
138
154
 
139
155
  assert_instance_of Backreference::NumberRecursionLevel, exp
140
156
  assert_equal 1, exp.number
@@ -143,7 +159,7 @@ class TestParserRefcalls < Test::Unit::TestCase
143
159
 
144
160
  def test_parse_backref_negative_number_recursion_level
145
161
  root = RP.parse("(abc)\\k'-1+0'", 'ruby/1.9')
146
- exp = root.expressions.at(1)
162
+ exp = root[1]
147
163
 
148
164
  assert_instance_of Backreference::NumberRecursionLevel, exp
149
165
  assert_equal(-1, exp.number)
@@ -152,7 +168,7 @@ class TestParserRefcalls < Test::Unit::TestCase
152
168
 
153
169
  def test_parse_backref_number_positive_recursion_level
154
170
  root = RP.parse("(abc)\\k'1+1'", 'ruby/1.9')
155
- exp = root.expressions.at(1)
171
+ exp = root[1]
156
172
 
157
173
  assert_instance_of Backreference::NumberRecursionLevel, exp
158
174
  assert_equal 1, exp.number
@@ -161,7 +177,7 @@ class TestParserRefcalls < Test::Unit::TestCase
161
177
 
162
178
  def test_parse_backref_number_negative_recursion_level
163
179
  root = RP.parse("(abc)\\k'1-1'", 'ruby/1.9')
164
- exp = root.expressions.at(1)
180
+ exp = root[1]
165
181
 
166
182
  assert_instance_of Backreference::NumberRecursionLevel, exp
167
183
  assert_equal 1, exp.number
@@ -1,9 +1,9 @@
1
1
  require File.expand_path("../../helpers", __FILE__)
2
2
 
3
- %w{
4
- anchors errors escapes free_space groups literals
5
- meta properties quantifiers scripts sets types unicode_blocks
6
- }.each do|tc|
3
+ %w[
4
+ anchors errors escapes free_space groups literals meta
5
+ properties quantifiers refcalls scripts sets types unicode_blocks
6
+ ].each do |tc|
7
7
  require File.expand_path("../test_#{tc}", __FILE__)
8
8
  end
9
9
 
@@ -1,7 +1,6 @@
1
1
  require File.expand_path("../../helpers", __FILE__)
2
2
 
3
3
  class ScannerRefCalls < Test::Unit::TestCase
4
-
5
4
  tests = {
6
5
  # Traditional numerical group back-reference
7
6
  '(abc)\1' => [3, :backref, :number, '\1', 5, 7],
@@ -26,6 +25,9 @@ class ScannerRefCalls < Test::Unit::TestCase
26
25
  '(abc)\g<-1>' => [3, :backref, :number_rel_call_ab, '\g<-1>', 5, 11],
27
26
  "(abc)\\g'-1'" => [3, :backref, :number_rel_call_sq, "\\g'-1'", 5, 11],
28
27
 
28
+ '\g<+1>(abc)' => [0, :backref, :number_rel_call_ab, '\g<+1>', 0, 6],
29
+ "\\g'+1'(abc)" => [0, :backref, :number_rel_call_sq, "\\g'+1'", 0, 6],
30
+
29
31
  # Group back-references, with recursion level
30
32
  '(?<X>abc)\k<X-0>' => [3, :backref, :name_recursion_ref_ab, '\k<X-0>', 9, 16],
31
33
  "(?<X>abc)\\k'X-0'" => [3, :backref, :name_recursion_ref_sq, "\\k'X-0'", 9, 16],
@@ -47,5 +49,4 @@ class ScannerRefCalls < Test::Unit::TestCase
47
49
  assert_equal text, pattern[ts, te]
48
50
  end
49
51
  end
50
-
51
52
  end