ParseTree 3.0.1-x86-mingw32

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