regexp_parser 0.4.13 → 0.5.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.
Files changed (103) hide show
  1. checksums.yaml +4 -4
  2. data/ChangeLog +15 -0
  3. data/lib/regexp_parser/expression.rb +43 -51
  4. data/lib/regexp_parser/expression/classes/alternation.rb +6 -7
  5. data/lib/regexp_parser/expression/classes/character_class.rb +11 -0
  6. data/lib/regexp_parser/expression/classes/conditional.rb +10 -18
  7. data/lib/regexp_parser/expression/classes/free_space.rb +1 -1
  8. data/lib/regexp_parser/expression/classes/group.rb +9 -21
  9. data/lib/regexp_parser/expression/classes/property.rb +2 -2
  10. data/lib/regexp_parser/expression/classes/set.rb +1 -12
  11. data/lib/regexp_parser/expression/methods/traverse.rb +1 -1
  12. data/lib/regexp_parser/expression/quantifier.rb +9 -9
  13. data/lib/regexp_parser/expression/sequence.rb +5 -4
  14. data/lib/regexp_parser/expression/subexpression.rb +16 -59
  15. data/lib/regexp_parser/lexer.rb +31 -27
  16. data/lib/regexp_parser/parser.rb +179 -179
  17. data/lib/regexp_parser/scanner.rb +172 -166
  18. data/lib/regexp_parser/scanner/scanner.rl +44 -38
  19. data/lib/regexp_parser/syntax.rb +2 -53
  20. data/lib/regexp_parser/syntax/base.rb +13 -24
  21. data/lib/regexp_parser/syntax/tokens/character_class.rb +16 -0
  22. data/lib/regexp_parser/syntax/tokens/unicode_property.rb +26 -26
  23. data/lib/regexp_parser/syntax/version_lookup.rb +82 -0
  24. data/lib/regexp_parser/syntax/versions.rb +1 -5
  25. data/lib/regexp_parser/syntax/versions/1.8.6.rb +30 -0
  26. data/lib/regexp_parser/syntax/versions/1.9.1.rb +36 -0
  27. data/lib/regexp_parser/syntax/versions/1.9.3.rb +11 -0
  28. data/lib/regexp_parser/syntax/versions/2.0.0.rb +20 -0
  29. data/lib/regexp_parser/syntax/versions/2.2.0.rb +10 -0
  30. data/lib/regexp_parser/syntax/versions/2.3.0.rb +10 -0
  31. data/lib/regexp_parser/syntax/versions/2.4.0.rb +10 -0
  32. data/lib/regexp_parser/syntax/versions/2.4.1.rb +9 -0
  33. data/lib/regexp_parser/syntax/versions/2.5.0.rb +10 -0
  34. data/lib/regexp_parser/token.rb +6 -29
  35. data/lib/regexp_parser/version.rb +1 -1
  36. data/test/expression/test_strfregexp.rb +7 -0
  37. data/test/expression/test_to_h.rb +6 -0
  38. data/test/parser/test_properties.rb +12 -4
  39. data/test/support/warning_extractor.rb +3 -1
  40. data/test/syntax/test_all.rb +1 -1
  41. data/test/syntax/test_syntax.rb +5 -9
  42. data/test/syntax/{ruby → versions}/test_1.8.rb +14 -14
  43. data/test/syntax/{ruby → versions}/test_1.9.1.rb +7 -8
  44. data/test/syntax/{ruby → versions}/test_1.9.3.rb +7 -7
  45. data/test/syntax/versions/test_2.0.0.rb +37 -0
  46. data/test/syntax/{ruby → versions}/test_2.2.0.rb +7 -7
  47. data/test/syntax/versions/test_aliases.rb +129 -0
  48. data/test/syntax/{ruby → versions}/test_all.rb +1 -1
  49. metadata +73 -113
  50. data/lib/regexp_parser/syntax/ruby/1.8.6.rb +0 -37
  51. data/lib/regexp_parser/syntax/ruby/1.8.7.rb +0 -14
  52. data/lib/regexp_parser/syntax/ruby/1.8.rb +0 -13
  53. data/lib/regexp_parser/syntax/ruby/1.9.1.rb +0 -45
  54. data/lib/regexp_parser/syntax/ruby/1.9.2.rb +0 -9
  55. data/lib/regexp_parser/syntax/ruby/1.9.3.rb +0 -19
  56. data/lib/regexp_parser/syntax/ruby/1.9.rb +0 -8
  57. data/lib/regexp_parser/syntax/ruby/2.0.0.rb +0 -23
  58. data/lib/regexp_parser/syntax/ruby/2.0.rb +0 -8
  59. data/lib/regexp_parser/syntax/ruby/2.1.0.rb +0 -13
  60. data/lib/regexp_parser/syntax/ruby/2.1.10.rb +0 -13
  61. data/lib/regexp_parser/syntax/ruby/2.1.2.rb +0 -13
  62. data/lib/regexp_parser/syntax/ruby/2.1.3.rb +0 -13
  63. data/lib/regexp_parser/syntax/ruby/2.1.4.rb +0 -13
  64. data/lib/regexp_parser/syntax/ruby/2.1.5.rb +0 -13
  65. data/lib/regexp_parser/syntax/ruby/2.1.6.rb +0 -13
  66. data/lib/regexp_parser/syntax/ruby/2.1.7.rb +0 -13
  67. data/lib/regexp_parser/syntax/ruby/2.1.8.rb +0 -13
  68. data/lib/regexp_parser/syntax/ruby/2.1.9.rb +0 -13
  69. data/lib/regexp_parser/syntax/ruby/2.1.rb +0 -8
  70. data/lib/regexp_parser/syntax/ruby/2.2.0.rb +0 -16
  71. data/lib/regexp_parser/syntax/ruby/2.2.1.rb +0 -13
  72. data/lib/regexp_parser/syntax/ruby/2.2.10.rb +0 -13
  73. data/lib/regexp_parser/syntax/ruby/2.2.2.rb +0 -13
  74. data/lib/regexp_parser/syntax/ruby/2.2.3.rb +0 -13
  75. data/lib/regexp_parser/syntax/ruby/2.2.4.rb +0 -13
  76. data/lib/regexp_parser/syntax/ruby/2.2.5.rb +0 -13
  77. data/lib/regexp_parser/syntax/ruby/2.2.6.rb +0 -13
  78. data/lib/regexp_parser/syntax/ruby/2.2.7.rb +0 -13
  79. data/lib/regexp_parser/syntax/ruby/2.2.8.rb +0 -13
  80. data/lib/regexp_parser/syntax/ruby/2.2.9.rb +0 -13
  81. data/lib/regexp_parser/syntax/ruby/2.2.rb +0 -8
  82. data/lib/regexp_parser/syntax/ruby/2.3.0.rb +0 -16
  83. data/lib/regexp_parser/syntax/ruby/2.3.1.rb +0 -13
  84. data/lib/regexp_parser/syntax/ruby/2.3.2.rb +0 -13
  85. data/lib/regexp_parser/syntax/ruby/2.3.3.rb +0 -13
  86. data/lib/regexp_parser/syntax/ruby/2.3.4.rb +0 -13
  87. data/lib/regexp_parser/syntax/ruby/2.3.5.rb +0 -13
  88. data/lib/regexp_parser/syntax/ruby/2.3.6.rb +0 -13
  89. data/lib/regexp_parser/syntax/ruby/2.3.7.rb +0 -13
  90. data/lib/regexp_parser/syntax/ruby/2.3.rb +0 -8
  91. data/lib/regexp_parser/syntax/ruby/2.4.0.rb +0 -16
  92. data/lib/regexp_parser/syntax/ruby/2.4.1.rb +0 -15
  93. data/lib/regexp_parser/syntax/ruby/2.4.2.rb +0 -13
  94. data/lib/regexp_parser/syntax/ruby/2.4.3.rb +0 -13
  95. data/lib/regexp_parser/syntax/ruby/2.4.4.rb +0 -13
  96. data/lib/regexp_parser/syntax/ruby/2.4.rb +0 -8
  97. data/lib/regexp_parser/syntax/ruby/2.5.0.rb +0 -16
  98. data/lib/regexp_parser/syntax/ruby/2.5.1.rb +0 -13
  99. data/lib/regexp_parser/syntax/ruby/2.5.rb +0 -8
  100. data/lib/regexp_parser/syntax/ruby/2.6.0.rb +0 -13
  101. data/lib/regexp_parser/syntax/ruby/2.6.rb +0 -8
  102. data/test/syntax/ruby/test_2.0.0.rb +0 -32
  103. data/test/syntax/ruby/test_files.rb +0 -353
@@ -1,13 +0,0 @@
1
- require File.expand_path('../2.2.5', __FILE__)
2
-
3
- module Regexp::Syntax
4
- module Ruby
5
-
6
- class V226 < Regexp::Syntax::Ruby::V225
7
- def initialize
8
- super
9
- end
10
- end
11
-
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- require File.expand_path('../2.2.6', __FILE__)
2
-
3
- module Regexp::Syntax
4
- module Ruby
5
-
6
- class V227 < Regexp::Syntax::Ruby::V226
7
- def initialize
8
- super
9
- end
10
- end
11
-
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- require File.expand_path('../2.2.7', __FILE__)
2
-
3
- module Regexp::Syntax
4
- module Ruby
5
-
6
- class V228 < Regexp::Syntax::Ruby::V227
7
- def initialize
8
- super
9
- end
10
- end
11
-
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- require File.expand_path('../2.2.8', __FILE__)
2
-
3
- module Regexp::Syntax
4
- module Ruby
5
-
6
- class V229 < Regexp::Syntax::Ruby::V228
7
- def initialize
8
- super
9
- end
10
- end
11
-
12
- end
13
- end
@@ -1,8 +0,0 @@
1
- require File.expand_path('../2.2.10', __FILE__)
2
-
3
- module Regexp::Syntax
4
- module Ruby
5
- # uses the latest 2.2 release
6
- class V22 < Regexp::Syntax::Ruby::V2210; end
7
- end
8
- end
@@ -1,16 +0,0 @@
1
- require File.expand_path('../2.2', __FILE__)
2
-
3
- module Regexp::Syntax
4
- module Ruby
5
-
6
- class V230 < Regexp::Syntax::Ruby::V22
7
- def initialize
8
- super
9
-
10
- implements :property, UnicodeProperty::V230
11
- implements :nonproperty, UnicodeProperty::V230
12
- end
13
- end
14
-
15
- end
16
- end
@@ -1,13 +0,0 @@
1
- require File.expand_path('../2.3.0', __FILE__)
2
-
3
- module Regexp::Syntax
4
- module Ruby
5
-
6
- class V231 < Regexp::Syntax::Ruby::V230
7
- def initialize
8
- super
9
- end
10
- end
11
-
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- require File.expand_path('../2.3.1', __FILE__)
2
-
3
- module Regexp::Syntax
4
- module Ruby
5
-
6
- class V232 < Regexp::Syntax::Ruby::V231
7
- def initialize
8
- super
9
- end
10
- end
11
-
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- require File.expand_path('../2.3.2', __FILE__)
2
-
3
- module Regexp::Syntax
4
- module Ruby
5
-
6
- class V233 < Regexp::Syntax::Ruby::V232
7
- def initialize
8
- super
9
- end
10
- end
11
-
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- require File.expand_path('../2.3.3', __FILE__)
2
-
3
- module Regexp::Syntax
4
- module Ruby
5
-
6
- class V234 < Regexp::Syntax::Ruby::V233
7
- def initialize
8
- super
9
- end
10
- end
11
-
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- require File.expand_path('../2.3.4', __FILE__)
2
-
3
- module Regexp::Syntax
4
- module Ruby
5
-
6
- class V235 < Regexp::Syntax::Ruby::V234
7
- def initialize
8
- super
9
- end
10
- end
11
-
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- require File.expand_path('../2.3.5', __FILE__)
2
-
3
- module Regexp::Syntax
4
- module Ruby
5
-
6
- class V236 < Regexp::Syntax::Ruby::V235
7
- def initialize
8
- super
9
- end
10
- end
11
-
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- require File.expand_path('../2.3.6', __FILE__)
2
-
3
- module Regexp::Syntax
4
- module Ruby
5
-
6
- class V237 < Regexp::Syntax::Ruby::V236
7
- def initialize
8
- super
9
- end
10
- end
11
-
12
- end
13
- end
@@ -1,8 +0,0 @@
1
- require File.expand_path('../2.3.7', __FILE__)
2
-
3
- module Regexp::Syntax
4
- module Ruby
5
- # uses the latest 2.3 release
6
- class V23 < Regexp::Syntax::Ruby::V237; end
7
- end
8
- end
@@ -1,16 +0,0 @@
1
- require File.expand_path('../2.3', __FILE__)
2
-
3
- module Regexp::Syntax
4
- module Ruby
5
-
6
- class V240 < Regexp::Syntax::Ruby::V23
7
- def initialize
8
- super
9
-
10
- implements :property, UnicodeProperty::V240
11
- implements :nonproperty, UnicodeProperty::V240
12
- end
13
- end
14
-
15
- end
16
- end
@@ -1,15 +0,0 @@
1
- require File.expand_path('../2.4.0', __FILE__)
2
-
3
- module Regexp::Syntax
4
- module Ruby
5
-
6
- class V241 < Regexp::Syntax::Ruby::V240
7
- def initialize
8
- super
9
-
10
- implements :group, Group::Absence
11
- end
12
- end
13
-
14
- end
15
- end
@@ -1,13 +0,0 @@
1
- require File.expand_path('../2.4.1', __FILE__)
2
-
3
- module Regexp::Syntax
4
- module Ruby
5
-
6
- class V242 < Regexp::Syntax::Ruby::V241
7
- def initialize
8
- super
9
- end
10
- end
11
-
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- require File.expand_path('../2.4.2', __FILE__)
2
-
3
- module Regexp::Syntax
4
- module Ruby
5
-
6
- class V243 < Regexp::Syntax::Ruby::V242
7
- def initialize
8
- super
9
- end
10
- end
11
-
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- require File.expand_path('../2.4.3', __FILE__)
2
-
3
- module Regexp::Syntax
4
- module Ruby
5
-
6
- class V244 < Regexp::Syntax::Ruby::V243
7
- def initialize
8
- super
9
- end
10
- end
11
-
12
- end
13
- end
@@ -1,8 +0,0 @@
1
- require File.expand_path('../2.4.4', __FILE__)
2
-
3
- module Regexp::Syntax
4
- module Ruby
5
- # uses the latest 2.4 release
6
- class V24 < Regexp::Syntax::Ruby::V244; end
7
- end
8
- end
@@ -1,16 +0,0 @@
1
- require File.expand_path('../2.4', __FILE__)
2
-
3
- module Regexp::Syntax
4
- module Ruby
5
-
6
- class V250 < Regexp::Syntax::Ruby::V24
7
- def initialize
8
- super
9
-
10
- implements :property, UnicodeProperty::V250
11
- implements :nonproperty, UnicodeProperty::V250
12
- end
13
- end
14
-
15
- end
16
- end
@@ -1,13 +0,0 @@
1
- require File.expand_path('../2.5.0', __FILE__)
2
-
3
- module Regexp::Syntax
4
- module Ruby
5
-
6
- class V251 < Regexp::Syntax::Ruby::V250
7
- def initialize
8
- super
9
- end
10
- end
11
-
12
- end
13
- end
@@ -1,8 +0,0 @@
1
- require File.expand_path('../2.5.1', __FILE__)
2
-
3
- module Regexp::Syntax
4
- module Ruby
5
- # uses the latest 2.5 release
6
- class V25 < Regexp::Syntax::Ruby::V251; end
7
- end
8
- end
@@ -1,13 +0,0 @@
1
- require File.expand_path('../2.5', __FILE__)
2
-
3
- module Regexp::Syntax
4
- module Ruby
5
-
6
- class V260 < Regexp::Syntax::Ruby::V25
7
- def initialize
8
- super
9
- end
10
- end
11
-
12
- end
13
- end
@@ -1,8 +0,0 @@
1
- require File.expand_path('../2.6.0', __FILE__)
2
-
3
- module Regexp::Syntax
4
- module Ruby
5
- # uses the latest 2.6 release
6
- class V26 < Regexp::Syntax::Ruby::V260; end
7
- end
8
- end
@@ -1,32 +0,0 @@
1
- require File.expand_path("../../../helpers", __FILE__)
2
-
3
- class TestSyntaxRuby_V200 < Test::Unit::TestCase
4
- include Regexp::Syntax::Token
5
-
6
- def setup
7
- @syntax = Regexp::Syntax.new 'ruby/2.0.0'
8
- end
9
-
10
- tests = {
11
- :implements => {
12
- :property => [
13
- UnicodeProperty::Age_V200
14
- ].flatten,
15
-
16
- :nonproperty => [
17
- UnicodeProperty::Age_V200
18
- ].flatten,
19
- },
20
- }
21
-
22
- tests.each do |method, types|
23
- types.each do |type, tokens|
24
- tokens.each do |token|
25
- define_method "test_syntax_ruby_v200_#{method}_#{type}_#{token}" do
26
- assert_equal true, @syntax.implements?(type, token)
27
- end
28
- end
29
- end
30
- end
31
-
32
- end
@@ -1,353 +0,0 @@
1
- require File.expand_path("../../../helpers", __FILE__)
2
-
3
- class TestSyntaxFiles < Test::Unit::TestCase
4
-
5
- # 1.8 syntax files
6
- def test_syntax_file_1_8_6
7
- syntax = Regexp::Syntax.new 'ruby/1.8.6'
8
-
9
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V186)
10
- end
11
-
12
- def test_syntax_file_1_8_7
13
- syntax = Regexp::Syntax.new 'ruby/1.8.7'
14
-
15
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V187)
16
- end
17
-
18
- def test_syntax_file_1_8_alias
19
- syntax = Regexp::Syntax.new 'ruby/1.8'
20
-
21
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V187)
22
- end
23
-
24
-
25
- # 1.9 syntax files
26
- def test_syntax_file_1_9_1
27
- syntax = Regexp::Syntax.new 'ruby/1.9.1'
28
-
29
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V191)
30
- end
31
-
32
- def test_syntax_file_1_9_2
33
- syntax = Regexp::Syntax.new 'ruby/1.9.2'
34
-
35
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V192)
36
- end
37
-
38
- def test_syntax_file_1_9_3
39
- syntax = Regexp::Syntax.new 'ruby/1.9.3'
40
-
41
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V193)
42
- end
43
-
44
- def test_syntax_file_1_9_alias
45
- syntax = Regexp::Syntax.new 'ruby/1.9'
46
-
47
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V193)
48
- end
49
-
50
-
51
- # 2.0 syntax files
52
- def test_syntax_file_2_0_0
53
- syntax = Regexp::Syntax.new 'ruby/2.0.0'
54
-
55
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V19)
56
- end
57
-
58
- def test_syntax_file_2_0_alias
59
- syntax = Regexp::Syntax.new 'ruby/2.0'
60
-
61
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V200)
62
- end
63
-
64
-
65
- # 2.1 syntax files
66
- def test_syntax_file_2_1_0
67
- syntax = Regexp::Syntax.new 'ruby/2.1.0'
68
-
69
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V20)
70
- end
71
-
72
- def test_syntax_file_2_1_2
73
- syntax = Regexp::Syntax.new 'ruby/2.1.2'
74
-
75
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V210)
76
- end
77
-
78
- def test_syntax_file_2_1_3
79
- syntax = Regexp::Syntax.new 'ruby/2.1.3'
80
-
81
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V212)
82
- end
83
-
84
- def test_syntax_file_2_1_4
85
- syntax = Regexp::Syntax.new 'ruby/2.1.4'
86
-
87
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V213)
88
- end
89
-
90
- def test_syntax_file_2_1_5
91
- syntax = Regexp::Syntax.new 'ruby/2.1.5'
92
-
93
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V214)
94
- end
95
-
96
- def test_syntax_file_2_1_6
97
- syntax = Regexp::Syntax.new 'ruby/2.1.6'
98
-
99
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V215)
100
- end
101
-
102
- def test_syntax_file_2_1_7
103
- syntax = Regexp::Syntax.new 'ruby/2.1.7'
104
-
105
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V216)
106
- end
107
-
108
- def test_syntax_file_2_1_8
109
- syntax = Regexp::Syntax.new 'ruby/2.1.8'
110
-
111
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V217)
112
- end
113
-
114
- def test_syntax_file_2_1_9
115
- syntax = Regexp::Syntax.new 'ruby/2.1.9'
116
-
117
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V218)
118
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V219)
119
- end
120
-
121
- def test_syntax_file_2_1_10
122
- syntax = Regexp::Syntax.new 'ruby/2.1.10'
123
-
124
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V219)
125
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V2110)
126
- end
127
-
128
- def test_syntax_file_2_1_alias
129
- syntax = Regexp::Syntax.new 'ruby/2.1'
130
-
131
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V2110)
132
- end
133
-
134
-
135
- # 2.2 syntax files
136
- def test_syntax_file_2_2_0
137
- syntax = Regexp::Syntax.new 'ruby/2.2.0'
138
-
139
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V21)
140
- end
141
-
142
- def test_syntax_file_2_2_1
143
- syntax = Regexp::Syntax.new 'ruby/2.2.1'
144
-
145
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V220)
146
- end
147
-
148
- def test_syntax_file_2_2_2
149
- syntax = Regexp::Syntax.new 'ruby/2.2.2'
150
-
151
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V221)
152
- end
153
-
154
- def test_syntax_file_2_2_3
155
- syntax = Regexp::Syntax.new 'ruby/2.2.3'
156
-
157
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V223)
158
- end
159
-
160
- def test_syntax_file_2_2_4
161
- syntax = Regexp::Syntax.new 'ruby/2.2.4'
162
-
163
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V224)
164
- end
165
-
166
- def test_syntax_file_2_2_5
167
- syntax = Regexp::Syntax.new 'ruby/2.2.5'
168
-
169
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V224)
170
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V225)
171
- end
172
-
173
- def test_syntax_file_2_2_6
174
- syntax = Regexp::Syntax.new 'ruby/2.2.6'
175
-
176
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V225)
177
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V226)
178
- end
179
-
180
- def test_syntax_file_2_2_7
181
- syntax = Regexp::Syntax.new 'ruby/2.2.7'
182
-
183
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V226)
184
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V227)
185
- end
186
-
187
- def test_syntax_file_2_2_8
188
- syntax = Regexp::Syntax.new 'ruby/2.2.8'
189
-
190
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V227)
191
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V228)
192
- end
193
-
194
- def test_syntax_file_2_2_9
195
- syntax = Regexp::Syntax.new 'ruby/2.2.9'
196
-
197
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V228)
198
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V229)
199
- end
200
-
201
- def test_syntax_file_2_2_10
202
- syntax = Regexp::Syntax.new 'ruby/2.2.10'
203
-
204
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V229)
205
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V2210)
206
- end
207
-
208
- def test_syntax_file_2_2_alias
209
- syntax = Regexp::Syntax.new 'ruby/2.2'
210
-
211
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V2210)
212
- end
213
-
214
- # 2.3 syntax files
215
- def test_syntax_file_2_3_0
216
- syntax = Regexp::Syntax.new 'ruby/2.3.0'
217
-
218
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V22)
219
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V230)
220
- end
221
-
222
- def test_syntax_file_2_3_1
223
- syntax = Regexp::Syntax.new 'ruby/2.3.1'
224
-
225
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V230)
226
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V231)
227
- end
228
-
229
- def test_syntax_file_2_3_2
230
- syntax = Regexp::Syntax.new 'ruby/2.3.2'
231
-
232
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V231)
233
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V232)
234
- end
235
-
236
- def test_syntax_file_2_3_3
237
- syntax = Regexp::Syntax.new 'ruby/2.3.3'
238
-
239
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V232)
240
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V233)
241
- end
242
-
243
- def test_syntax_file_2_3_4
244
- syntax = Regexp::Syntax.new 'ruby/2.3.4'
245
-
246
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V233)
247
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V234)
248
- end
249
-
250
- def test_syntax_file_2_3_5
251
- syntax = Regexp::Syntax.new 'ruby/2.3.5'
252
-
253
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V234)
254
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V235)
255
- end
256
-
257
- def test_syntax_file_2_3_6
258
- syntax = Regexp::Syntax.new 'ruby/2.3.6'
259
-
260
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V235)
261
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V236)
262
- end
263
-
264
- def test_syntax_file_2_3_7
265
- syntax = Regexp::Syntax.new 'ruby/2.3.7'
266
-
267
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V236)
268
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V237)
269
- end
270
-
271
- def test_syntax_file_2_3_alias
272
- syntax = Regexp::Syntax.new 'ruby/2.3'
273
-
274
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V237)
275
- end
276
-
277
- # 2.4 syntax files
278
- def test_syntax_file_2_4_0
279
- syntax = Regexp::Syntax.new 'ruby/2.4.0'
280
-
281
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V23)
282
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V240)
283
- end
284
-
285
- def test_syntax_file_2_4_1
286
- syntax = Regexp::Syntax.new 'ruby/2.4.1'
287
-
288
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V240)
289
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V241)
290
- end
291
-
292
- def test_syntax_file_2_4_2
293
- syntax = Regexp::Syntax.new 'ruby/2.4.2'
294
-
295
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V241)
296
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V242)
297
- end
298
-
299
- def test_syntax_file_2_4_3
300
- syntax = Regexp::Syntax.new 'ruby/2.4.3'
301
-
302
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V242)
303
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V243)
304
- end
305
-
306
- def test_syntax_file_2_4_4
307
- syntax = Regexp::Syntax.new 'ruby/2.4.4'
308
-
309
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V243)
310
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V244)
311
- end
312
-
313
- def test_syntax_file_2_4_alias
314
- syntax = Regexp::Syntax.new 'ruby/2.4'
315
-
316
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V244)
317
- end
318
-
319
- # 2.5 syntax files
320
- def test_syntax_file_2_5_0
321
- syntax = Regexp::Syntax.new 'ruby/2.5.0'
322
-
323
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V24)
324
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V250)
325
- end
326
-
327
- def test_syntax_file_2_5_1
328
- syntax = Regexp::Syntax.new 'ruby/2.5.1'
329
-
330
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V250)
331
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V251)
332
- end
333
-
334
- def test_syntax_file_2_5_alias
335
- syntax = Regexp::Syntax.new 'ruby/2.5'
336
-
337
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V251)
338
- end
339
-
340
- # 2.6 syntax files
341
- def test_syntax_file_2_6_0
342
- syntax = Regexp::Syntax.new 'ruby/2.6.0'
343
-
344
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V25)
345
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V260)
346
- end
347
-
348
- def test_syntax_file_2_6_alias
349
- syntax = Regexp::Syntax.new 'ruby/2.6'
350
-
351
- assert syntax.kind_of?(Regexp::Syntax::Ruby::V260)
352
- end
353
- end