ParseTree 3.0.1-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
data/test/something.rb ADDED
@@ -0,0 +1,53 @@
1
+
2
+ class Something
3
+
4
+ def self.classmethod
5
+ 1 + 1
6
+ end
7
+
8
+ # Other edge cases:
9
+
10
+ def opt_args(arg1, arg2 = 42, *args)
11
+ arg3 = arg1 * arg2 * 7
12
+ puts(arg3.to_s)
13
+ return "foo"
14
+ end
15
+
16
+ def multi_args(arg1, arg2)
17
+ arg3 = arg1 * arg2 * 7
18
+ puts(arg3.to_s)
19
+ return "foo"
20
+ end
21
+
22
+ def unknown_args(arg1, arg2)
23
+ # does nothing
24
+ return arg1
25
+ end
26
+
27
+ def determine_args
28
+ 5 == unknown_args(4, "known")
29
+ end
30
+
31
+ # TODO: sort list
32
+ def bbegin
33
+ begin
34
+ 1
35
+ rescue SyntaxError => e1
36
+ 2
37
+ rescue Exception => e2
38
+ 3
39
+ else
40
+ 4
41
+ ensure
42
+ 5
43
+ end
44
+ end
45
+
46
+ def bbegin_no_exception
47
+ begin
48
+ 5
49
+ rescue
50
+ 6
51
+ end
52
+ end
53
+ end
data/test/test_all.rb ADDED
@@ -0,0 +1,13 @@
1
+ #!/usr/local/bin/ruby -w
2
+
3
+ pat = "test_*.rb"
4
+ if File.basename(Dir.pwd) != "test" then
5
+ $: << "test"
6
+ pat = File.join("test", pat)
7
+ end
8
+
9
+ Dir.glob(pat).each do |f|
10
+ require f
11
+ end
12
+
13
+ require 'test/unit'
@@ -0,0 +1,259 @@
1
+ #!/usr/local/bin/ruby -w
2
+
3
+ dir = File.expand_path "~/.ruby_inline"
4
+ if test ?d, dir then
5
+ require 'fileutils'
6
+ puts "nuking #{dir}"
7
+ # force removal, Windoze is bitching at me, something to hunt later...
8
+ FileUtils.rm_r dir, :force => true
9
+ end
10
+
11
+ require 'test/unit'
12
+ require 'parse_tree'
13
+ require 'pt_testcase'
14
+ require 'test/something'
15
+
16
+ class SomethingWithInitialize
17
+ def initialize; end # this method is private
18
+ protected
19
+ def protected_meth; end
20
+ end
21
+
22
+ class RawParseTree
23
+ def process(input, verbose = nil) # TODO: remove
24
+
25
+ test_method = caller[0][/\`(.*)\'/, 1]
26
+ verbose = test_method =~ /mri_verbose_flag/ ? true : nil
27
+
28
+ # um. kinda stupid, but cleaner
29
+ case input
30
+ when Array then
31
+ ParseTree.translate(*input)
32
+ else
33
+ self.parse_tree_for_string(input, '(string)', 1, verbose).first
34
+ end
35
+ end
36
+ end
37
+
38
+ class TestRawParseTree < ParseTreeTestCase
39
+ def setup
40
+ super
41
+ @processor = RawParseTree.new(false)
42
+ end
43
+
44
+ def test_parse_tree_for_string_with_newlines
45
+ @processor = RawParseTree.new(true)
46
+ actual = @processor.parse_tree_for_string "1 +\n nil", 'test.rb', 5
47
+ expected = [[:newline, 6, "test.rb",
48
+ [:call, [:lit, 1], :+, [:array, [:nil]]]]]
49
+
50
+ assert_equal expected, actual
51
+ end
52
+
53
+ def test_class_initialize
54
+ expected = [[:class, :SomethingWithInitialize, [:const, :Object],
55
+ [:defn, :initialize, [:scope, [:block, [:args], [:nil]]]],
56
+ [:defn, :protected_meth, [:scope, [:block, [:args], [:nil]]]],
57
+ ]]
58
+ tree = @processor.parse_tree SomethingWithInitialize
59
+ assert_equal expected, tree
60
+ end
61
+
62
+ def test_class_translate_string
63
+ str = "class A; def a; end; end"
64
+
65
+ sexp = ParseTree.translate str
66
+
67
+ expected = [:class, :A, nil,
68
+ [:scope,
69
+ [:defn, :a, [:scope, [:block, [:args], [:nil]]]]]]
70
+
71
+ assert_equal expected, sexp
72
+ end
73
+
74
+ def test_class_translate_string_method
75
+ str = "class A; def a; end; def b; end; end"
76
+
77
+ sexp = ParseTree.translate str, :a
78
+
79
+ expected = [:defn, :a, [:scope, [:block, [:args], [:nil]]]]
80
+
81
+ assert_equal expected, sexp
82
+ end
83
+
84
+ def test_parse_tree_for_string
85
+ actual = @processor.parse_tree_for_string '1 + nil', '(string)', 1
86
+ expected = [[:call, [:lit, 1], :+, [:array, [:nil]]]]
87
+
88
+ assert_equal expected, actual
89
+ end
90
+
91
+ def test_parse_tree_for_str
92
+ actual = @processor.parse_tree_for_str '1 + nil', '(string)', 1
93
+ expected = [[:call, [:lit, 1], :+, [:array, [:nil]]]]
94
+
95
+ assert_equal expected, actual
96
+ end
97
+
98
+ @@self_classmethod = [:defs,
99
+ [:self], :classmethod,
100
+ [:scope,
101
+ [:block,
102
+ [:args],
103
+ [:call, [:lit, 1], :+, [:array, [:lit, 1]]]]]]
104
+
105
+ @@missing = [nil]
106
+
107
+ @@opt_args = [:defn, :opt_args,
108
+ [:scope,
109
+ [:block,
110
+ [:args, :arg1, :arg2, :"*args", [:block, [:lasgn, :arg2, [:lit, 42]]]],
111
+ [:lasgn, :arg3,
112
+ [:call,
113
+ [:call,
114
+ [:lvar, :arg1],
115
+ :*,
116
+ [:array, [:lvar, :arg2]]],
117
+ :*,
118
+ [:array, [:lit, 7]]]],
119
+ [:fcall, :puts, [:array, [:call, [:lvar, :arg3], :to_s]]],
120
+ [:return,
121
+ [:str, "foo"]]]]]
122
+
123
+ @@multi_args = [:defn, :multi_args,
124
+ [:scope,
125
+ [:block,
126
+ [:args, :arg1, :arg2],
127
+ [:lasgn, :arg3,
128
+ [:call,
129
+ [:call,
130
+ [:lvar, :arg1],
131
+ :*,
132
+ [:array, [:lvar, :arg2]]],
133
+ :*,
134
+ [:array, [:lit, 7]]]],
135
+ [:fcall, :puts, [:array, [:call, [:lvar, :arg3], :to_s]]],
136
+ [:return,
137
+ [:str, "foo"]]]]]
138
+
139
+ @@unknown_args = [:defn, :unknown_args,
140
+ [:scope,
141
+ [:block,
142
+ [:args, :arg1, :arg2],
143
+ [:return, [:lvar, :arg1]]]]]
144
+
145
+ @@bbegin = [:defn, :bbegin,
146
+ [:scope,
147
+ [:block,
148
+ [:args],
149
+ [:begin,
150
+ [:ensure,
151
+ [:rescue,
152
+ [:lit, 1],
153
+ [:resbody,
154
+ [:array, [:const, :SyntaxError]],
155
+ [:block, [:lasgn, :e1, [:gvar, :$!]], [:lit, 2]],
156
+ [:resbody,
157
+ [:array, [:const, :Exception]],
158
+ [:block, [:lasgn, :e2, [:gvar, :$!]], [:lit, 3]]]],
159
+ [:lit, 4]],
160
+ [:lit, 5]]]]]]
161
+ @@bbegin_no_exception = [:defn, :bbegin_no_exception,
162
+ [:scope,
163
+ [:block,
164
+ [:args],
165
+ [:begin,
166
+ [:rescue,
167
+ [:lit, 5],
168
+ [:resbody, nil, [:lit, 6]]]]]]]
169
+
170
+ @@determine_args = [:defn, :determine_args,
171
+ [:scope,
172
+ [:block,
173
+ [:args],
174
+ [:call,
175
+ [:lit, 5],
176
+ :==,
177
+ [:array,
178
+ [:fcall,
179
+ :unknown_args,
180
+ [:array, [:lit, 4], [:str, "known"]]]]]]]]
181
+
182
+ @@attrasgn = [:defn,
183
+ :attrasgn,
184
+ [:scope,
185
+ [:block,
186
+ [:args],
187
+ [:attrasgn, [:lit, 42], :method=, [:array, [:vcall, :y]]],
188
+ [:attrasgn,
189
+ [:self],
190
+ :type=,
191
+ [:array, [:call, [:vcall, :other], :type]]]]]]
192
+
193
+ @@__all = [:class, :Something, [:const, :Object]]
194
+
195
+ Something.instance_methods(false).sort.each do |meth|
196
+ if class_variables.include?("@@#{meth}") then
197
+ @@__all << eval("@@#{meth}")
198
+ eval "def test_#{meth}; assert_equal @@#{meth}, @processor.parse_tree_for_method(Something, :#{meth}, false, false); end"
199
+ else
200
+ eval "def test_#{meth}; flunk \"You haven't added @@#{meth} yet\"; end"
201
+ end
202
+ end
203
+
204
+ Something.singleton_methods.sort.each do |meth|
205
+ next if meth =~ /yaml/ # rubygems introduced a bug
206
+ if class_variables.include?("@@self_#{meth}") then
207
+ @@__all << eval("@@self_#{meth}")
208
+ eval "def test_self_#{meth}; assert_equal @@self_#{meth}, @processor.parse_tree_for_method(Something, :#{meth}, true); end"
209
+ else
210
+ eval "def test_self_#{meth}; flunk \"You haven't added @@self_#{meth} yet\"; end"
211
+ end
212
+ end
213
+
214
+ def test_missing
215
+ assert_equal(@@missing,
216
+ @processor.parse_tree_for_method(Something, :missing),
217
+ "Must return #{@@missing.inspect} for missing methods")
218
+ end
219
+
220
+ def test_whole_class
221
+ assert_equal([@@__all],
222
+ @processor.parse_tree(Something),
223
+ "Must return a lot of shit")
224
+ end
225
+ end
226
+
227
+ class TestParseTree < ParseTreeTestCase
228
+ def setup
229
+ super
230
+ @processor = ParseTree.new(false)
231
+ end
232
+
233
+ def test_process_string
234
+ actual = @processor.process '1 + nil'
235
+ expected = s(:call, s(:lit, 1), :+, s(:arglist, s(:nil)))
236
+
237
+ assert_equal expected, actual
238
+
239
+ actual = @processor.process 'puts 42'
240
+ expected = s(:call, nil, :puts, s(:arglist, s(:lit, 42)))
241
+
242
+ assert_equal expected, actual
243
+ end
244
+
245
+ def test_process_string_newlines
246
+ @processor = ParseTree.new(true)
247
+ actual = @processor.process "1 +\n nil", false, 'test.rb', 5
248
+ expected = s(:newline, 6, "test.rb",
249
+ s(:call, s(:lit, 1), :+, s(:arglist, s(:nil))))
250
+
251
+ assert_equal expected, actual
252
+ end
253
+
254
+ # TODO: test_process_proc ?
255
+ # TODO: test_process_method ?
256
+ # TODO: test_process_class ?
257
+ # TODO: test_process_module ?
258
+
259
+ end
@@ -0,0 +1,39 @@
1
+ require 'test/unit'
2
+ require 'parse_tree'
3
+ require 'parse_tree_extensions'
4
+ require 'tmpdir'
5
+
6
+ $: << "../../ruby2ruby/dev/lib" # unoffical dependency - user responsibility
7
+ require 'ruby2ruby'
8
+
9
+ class R2RTestCase < Test::Unit::TestCase
10
+ def test_proc_to_ruby
11
+ util_setup_inline
12
+ block = proc { puts "something" }
13
+ assert_equal 'proc { puts("something") }', block.to_ruby
14
+ end
15
+
16
+ def test_proc_to_sexp
17
+ util_setup_inline
18
+ p = proc { 1 + 1 }
19
+ s = s(:iter,
20
+ s(:call, nil, :proc, s(:arglist)),
21
+ nil,
22
+ s(:call, s(:lit, 1), :+, s(:arglist, s(:lit, 1))))
23
+ assert_equal s, p.to_sexp
24
+ end
25
+
26
+ def test_unbound_method_to_ruby
27
+ util_setup_inline
28
+ r = "proc { ||\n util_setup_inline\n p = proc { (1 + 1) }\n s = s(:iter, s(:call, nil, :proc, s(:arglist)), nil, s(:call, s(:lit, 1), :+, s(:arglist, s(:lit, 1))))\n assert_equal(s, p.to_sexp)\n}"
29
+ m = self.class.instance_method(:test_proc_to_sexp)
30
+
31
+ assert_equal r, m.to_ruby
32
+ end
33
+
34
+ def util_setup_inline
35
+ @rootdir = File.join(Dir.tmpdir, "test_ruby_to_ruby.#{$$}")
36
+ Dir.mkdir @rootdir, 0700 unless test ?d, @rootdir
37
+ ENV['INLINEDIR'] = @rootdir
38
+ end
39
+ end
@@ -0,0 +1,315 @@
1
+ #!/usr/local/bin/ruby -w
2
+
3
+ $TESTING = true
4
+
5
+ require 'test/unit' if $0 == __FILE__ unless defined? $ZENTEST and $ZENTEST
6
+ require 'test/unit/testcase'
7
+ require 'sexp'
8
+ require 'sexp_processor'
9
+ require 'unified_ruby'
10
+ require 'pt_testcase'
11
+
12
+ class TestUnifier < SexpProcessor
13
+ include UnifiedRuby
14
+ end
15
+
16
+ # (old) TODO:
17
+ #
18
+ # 1) DONE [vf]call => call
19
+ # 2) DONE defn scope block args -> defn args scope block
20
+ # 3) DONE [bd]method/fbody => defn
21
+ # 4) rescue cleanup
22
+ # 5) defs x -> defn self.x # ON HOLD
23
+ # 6) ? :block_arg into args list?
24
+
25
+ # ParseTreeTestCase.testcase_order << "UnifiedRuby"
26
+ # class TestUnifiedRuby < ParseTreeTestCase
27
+ # def setup
28
+ # super
29
+ # @processor = TestUnifier.new
30
+ # end
31
+ # end
32
+
33
+ # add_test("alias", :skip)
34
+ # add_test("alias_ugh", :skip)
35
+ # add_test("and", :skip)
36
+ # add_test("argscat_inside", :skip)
37
+ # add_test("argscat_svalue", :skip)
38
+ # add_test("argspush", :skip)
39
+ # add_test("array", :skip)
40
+ # add_test("array_pct_W", :skip)
41
+ # add_test("attrasgn", :skip)
42
+ # add_test("attrasgn_index_equals", :skip)
43
+ # add_test("attrasgn_index_equals_space", :skip)
44
+ # add_test("attrset", :skip)
45
+ # add_test("back_ref", :skip)
46
+ # add_test("begin", :skip)
47
+ # add_test("begin_def", :skip)
48
+ # add_test("begin_rescue_ensure", :skip)
49
+ # add_test("begin_rescue_twice", :skip)
50
+ # add_test("block_lasgn", :skip)
51
+ # add_test("block_mystery_block", :skip)
52
+ # add_test("block_pass_args_and_splat", :skip)
53
+ # add_test("block_pass_call_0", :skip)
54
+ # add_test("block_pass_call_1", :skip)
55
+ # add_test("block_pass_call_n", :skip)
56
+ # add_test("block_pass_fcall_0", :skip)
57
+ # add_test("block_pass_fcall_1", :skip)
58
+ # add_test("block_pass_fcall_n", :skip)
59
+ # add_test("block_pass_omgwtf", :skip)
60
+ # add_test("block_pass_splat", :skip)
61
+ # add_test("block_pass_thingy", :skip)
62
+ # add_test("block_stmt_after", :skip)
63
+ # add_test("block_stmt_before", :skip)
64
+ # add_test("block_stmt_both", :skip)
65
+ # add_test("bmethod", :skip)
66
+ # add_test("bmethod_noargs", :skip)
67
+ # add_test("bmethod_splat", :skip)
68
+ # add_test("break", :skip)
69
+ # add_test("break_arg", :skip)
70
+ # add_test("call", :skip)
71
+ # add_test("call_arglist", :skip)
72
+ # add_test("call_arglist_hash", :skip)
73
+ # add_test("call_arglist_norm_hash", :skip)
74
+ # add_test("call_arglist_norm_hash_splat", :skip)
75
+ # add_test("call_command", :skip)
76
+ # add_test("call_expr", :skip)
77
+ # add_test("call_index", :skip)
78
+ # add_test("call_index_no_args", :skip)
79
+ # add_test("call_index_space", :skip)
80
+ # add_test("call_unary_neg", :skip)
81
+ # add_test("case", :skip)
82
+ # add_test("case_nested", :skip)
83
+ # add_test("case_nested_inner_no_expr", :skip)
84
+ # add_test("case_no_expr", :skip)
85
+ # add_test("case_splat", :skip)
86
+ # add_test("cdecl", :skip)
87
+ # add_test("class_plain", :skip)
88
+ # add_test("class_scoped", :skip)
89
+ # add_test("class_scoped3", :skip)
90
+ # add_test("class_super_array", :skip)
91
+ # add_test("class_super_expr", :skip)
92
+ # add_test("class_super_object", :skip)
93
+ # add_test("colon2", :skip)
94
+ # add_test("colon3", :skip)
95
+ # add_test("conditional1", :skip)
96
+ # add_test("conditional2", :skip)
97
+ # add_test("conditional3", :skip)
98
+ # add_test("conditional4", :skip)
99
+ # add_test("conditional5", :skip)
100
+ # add_test("conditional_post_if", :skip)
101
+ # add_test("conditional_post_if_not", :skip)
102
+ # add_test("conditional_post_unless", :skip)
103
+ # add_test("conditional_post_unless_not", :skip)
104
+ # add_test("conditional_pre_if", :skip)
105
+ # add_test("conditional_pre_if_not", :skip)
106
+ # add_test("conditional_pre_unless", :skip)
107
+ # add_test("conditional_pre_unless_not", :skip)
108
+ # add_test("const", :skip)
109
+ # add_test("constX", :skip)
110
+ # add_test("constY", :skip)
111
+ # add_test("constZ", :skip)
112
+ # add_test("cvar", :skip)
113
+ # add_test("cvasgn", :skip)
114
+ # add_test("cvasgn_cls_method", :skip)
115
+ # add_test("cvdecl", :skip)
116
+ # add_test("dasgn_0", :skip)
117
+ # add_test("dasgn_1", :skip)
118
+ # add_test("dasgn_2", :skip)
119
+ # add_test("dasgn_curr", :skip)
120
+ # add_test("dasgn_icky", :skip)
121
+ # add_test("dasgn_mixed", :skip)
122
+ # add_test("defined", :skip)
123
+ # add_test("defn_args_mand_opt_block", :skip)
124
+ # add_test("defn_args_mand_opt_splat", :skip)
125
+ # add_test("defn_args_mand_opt_splat_block", :skip)
126
+ # add_test("defn_args_mand_opt_splat_no_name", :skip)
127
+ # add_test("defn_args_opt_block", :skip)
128
+ # add_test("defn_args_opt_splat_no_name", :skip)
129
+ # add_test("defn_empty", :skip)
130
+ # add_test("defn_empty_args", :skip)
131
+ # add_test("defn_lvar_boundary", :skip)
132
+ # add_test("defn_optargs", :skip)
133
+ # add_test("defn_or", :skip)
134
+ # add_test("defn_rescue", :skip)
135
+ # add_test("defn_something_eh", :skip)
136
+ # add_test("defn_splat_no_name", :skip)
137
+ # add_test("defn_zarray", :skip)
138
+ # add_test("defs", :skip)
139
+ # add_test("defs_args_mand_opt_splat_block", :skip)
140
+ # add_test("defs_empty", :skip)
141
+ # add_test("defs_empty_args", :skip)
142
+ # add_test("dmethod", :skip)
143
+ # add_test("dot2", :skip)
144
+ # add_test("dot3", :skip)
145
+ # add_test("dregx", :skip)
146
+ # add_test("dregx_interp", :skip)
147
+ # add_test("dregx_n", :skip)
148
+ # add_test("dregx_once", :skip)
149
+ # add_test("dregx_once_n_interp", :skip)
150
+ # add_test("dstr", :skip)
151
+ # add_test("dstr_2", :skip)
152
+ # add_test("dstr_3", :skip)
153
+ # add_test("dstr_concat", :skip)
154
+ # add_test("dstr_heredoc_expand", :skip)
155
+ # add_test("dstr_heredoc_windoze_sucks", :skip)
156
+ # add_test("dstr_heredoc_yet_again", :skip)
157
+ # add_test("dstr_nest", :skip)
158
+ # add_test("dstr_str_lit_start", :skip)
159
+ # add_test("dstr_the_revenge", :skip)
160
+ # add_test("dsym", :skip)
161
+ # add_test("dxstr", :skip)
162
+ # add_test("ensure", :skip)
163
+ # add_test("false", :skip)
164
+ # add_test("fbody", :skip)
165
+ # add_test("fcall_arglist", :skip)
166
+ # add_test("fcall_arglist_hash", :skip)
167
+ # add_test("fcall_arglist_norm_hash", :skip)
168
+ # add_test("fcall_arglist_norm_hash_splat", :skip)
169
+ # add_test("fcall_block", :skip)
170
+ # add_test("fcall_index_space", :skip)
171
+ # add_test("fcall_keyword", :skip)
172
+ # add_test("flip2", :skip)
173
+ # add_test("flip2_method", :skip)
174
+ # add_test("flip3", :skip)
175
+ # add_test("for", :skip)
176
+ # add_test("for_no_body", :skip)
177
+ # add_test("gasgn", :skip)
178
+ # add_test("global", :skip)
179
+ # add_test("gvar", :skip)
180
+ # add_test("gvar_underscore", :skip)
181
+ # add_test("gvar_underscore_blah", :skip)
182
+ # add_test("hash", :skip)
183
+ # add_test("hash_rescue", :skip)
184
+ # add_test("iasgn", :skip)
185
+ # add_test("if_block_condition", :skip)
186
+ # add_test("if_lasgn_short", :skip)
187
+ # add_test("iteration1", :skip)
188
+ # add_test("iteration2", :skip)
189
+ # add_test("iteration3", :skip)
190
+ # add_test("iteration4", :skip)
191
+ # add_test("iteration5", :skip)
192
+ # add_test("iteration6", :skip)
193
+ # add_test("iteration7", :skip)
194
+ # add_test("iteration8", :skip)
195
+ # add_test("iteration9", :skip)
196
+ # add_test("iteration_dasgn_curr_dasgn_madness", :skip)
197
+ # add_test("iteration_double_var", :skip)
198
+ # add_test("iteration_masgn", :skip)
199
+ # add_test("ivar", :skip)
200
+ # add_test("lasgn_array", :skip)
201
+ # add_test("lasgn_call", :skip)
202
+ # add_test("lit_bool_false", :skip)
203
+ # add_test("lit_bool_true", :skip)
204
+ # add_test("lit_float", :skip)
205
+ # add_test("lit_long", :skip)
206
+ # add_test("lit_long_negative", :skip)
207
+ # add_test("lit_range2", :skip)
208
+ # add_test("lit_range3", :skip)
209
+ # add_test("lit_regexp", :skip)
210
+ # add_test("lit_regexp_i_wwtt", :skip)
211
+ # add_test("lit_regexp_n", :skip)
212
+ # add_test("lit_regexp_once", :skip)
213
+ # add_test("lit_sym", :skip)
214
+ # add_test("lit_sym_splat", :skip)
215
+ # add_test("lvar_def_boundary", :skip)
216
+ # add_test("masgn", :skip)
217
+ # add_test("masgn_argscat", :skip)
218
+ # add_test("masgn_attrasgn", :skip)
219
+ # add_test("masgn_iasgn", :skip)
220
+ # add_test("masgn_masgn", :skip)
221
+ # add_test("masgn_splat", :skip)
222
+ # add_test("masgn_splat_no_name_to_ary", :skip)
223
+ # add_test("masgn_splat_no_name_trailing", :skip)
224
+ # add_test("masgn_splat_to_ary", :skip)
225
+ # add_test("masgn_splat_to_ary2", :skip)
226
+ # add_test("match", :skip)
227
+ # add_test("match2", :skip)
228
+ # add_test("match3", :skip)
229
+ # add_test("module", :skip)
230
+ # add_test("module_scoped", :skip)
231
+ # add_test("module_scoped3", :skip)
232
+ # add_test("next", :skip)
233
+ # add_test("next_arg", :skip)
234
+ # add_test("not", :skip)
235
+ # add_test("nth_ref", :skip)
236
+ # add_test("op_asgn1", :skip)
237
+ # add_test("op_asgn2", :skip)
238
+ # add_test("op_asgn2_self", :skip)
239
+ # add_test("op_asgn_and", :skip)
240
+ # add_test("op_asgn_and_ivar2", :skip)
241
+ # add_test("op_asgn_or", :skip)
242
+ # add_test("op_asgn_or_block", :skip)
243
+ # add_test("op_asgn_or_ivar", :skip)
244
+ # add_test("op_asgn_or_ivar2", :skip)
245
+ # add_test("or", :skip)
246
+ # add_test("or_big", :skip)
247
+ # add_test("or_big2", :skip)
248
+ # add_test("parse_floats_as_args", :skip)
249
+ # add_test("postexe", :skip)
250
+ # add_test("proc_args_0", :skip)
251
+ # add_test("proc_args_1", :skip)
252
+ # add_test("proc_args_2", :skip)
253
+ # add_test("proc_args_no", :skip)
254
+ # add_test("redo", :skip)
255
+ # add_test("rescue", :skip)
256
+ # add_test("rescue_block_body", :skip)
257
+ # add_test("rescue_block_nada", :skip)
258
+ # add_test("rescue_exceptions", :skip)
259
+ # add_test("retry", :skip)
260
+ # add_test("return_0", :skip)
261
+ # add_test("return_1", :skip)
262
+ # add_test("return_n", :skip)
263
+ # add_test("sclass", :skip)
264
+ # add_test("sclass_trailing_class", :skip)
265
+ # add_test("splat", :skip)
266
+ # add_test("str", :skip)
267
+ # add_test("str_concat_newline", :skip)
268
+ # add_test("str_concat_space", :skip)
269
+ # add_test("str_heredoc", :skip)
270
+ # add_test("str_heredoc_call", :skip)
271
+ # add_test("str_heredoc_double", :skip)
272
+ # add_test("str_heredoc_indent", :skip)
273
+ # add_test("str_interp_file", :skip)
274
+ # add_test("structure_extra_block_for_dvar_scoping", :skip)
275
+ # add_test("structure_remove_begin_1", :skip)
276
+ # add_test("structure_remove_begin_2", :skip)
277
+ # add_test("structure_unused_literal_wwtt", :skip)
278
+ # add_test("super", :skip)
279
+ # add_test("super_block_pass", :skip)
280
+ # add_test("super_block_splat", :skip)
281
+ # add_test("super_multi", :skip)
282
+ # add_test("svalue", :skip)
283
+ # add_test("to_ary", :skip)
284
+ # add_test("true", :skip)
285
+ # add_test("undef", :skip)
286
+ # add_test("undef_2", :skip)
287
+ # add_test("undef_3", :skip)
288
+ # add_test("undef_block_1", :skip)
289
+ # add_test("undef_block_2", :skip)
290
+ # add_test("undef_block_3", :skip)
291
+ # add_test("undef_block_3_post", :skip)
292
+ # add_test("undef_block_wtf", :skip)
293
+ # add_test("until_post", :skip)
294
+ # add_test("until_post_not", :skip)
295
+ # add_test("until_pre", :skip)
296
+ # add_test("until_pre_mod", :skip)
297
+ # add_test("until_pre_not", :skip)
298
+ # add_test("until_pre_not_mod", :skip)
299
+ # add_test("valias", :skip)
300
+ # add_test("vcall", :skip)
301
+ # add_test("while_post", :skip)
302
+ # add_test("while_post_not", :skip)
303
+ # add_test("while_pre", :skip)
304
+ # add_test("while_pre_mod", :skip)
305
+ # add_test("while_pre_nil", :skip)
306
+ # add_test("while_pre_not", :skip)
307
+ # add_test("while_pre_not_mod", :skip)
308
+ # add_test("xstr", :skip)
309
+ # add_test("yield", :skip)
310
+ # add_test("yield_arg", :skip) # TODO: make it always have an argslist
311
+ # add_test("yield_args", :skip) # TODO: array -> argslist
312
+ # add_test("zarray", :skip)
313
+ # add_test("zsuper", :skip)
314
+ # end
315
+