* process.c (rb_spawn_internal): new function to specify
[ruby-svn.git] / test / ripper / test_parser_events.rb
blobfa640a37ecf7a19ce280fe36553b8f5b2ac603b5
1 begin
3 require 'dummyparser'
4 require 'test/unit'
6 class TestRipper_ParserEvents < Test::Unit::TestCase
8   # should be enabled
9 =begin
10   def test_event_coverage
11     dispatched = Ripper::PARSER_EVENTS.map {|event,*| event }
12     dispatched.each do |e|
13       assert_equal true, respond_to?("test_#{e}", true),
14                    "event not tested: #{e.inspect}"
15     end
16   end
17 =end
19   def parse(str)
20     DummyParser.new(str).parse.to_s
21   end
23   $thru_program = false
25   def test_program
26     assert_equal '[void()]', parse('')
27     assert_equal true, $thru_program
28   end
30   def test_stmts_new
31     assert_equal '[void()]', parse('')
32   end
34   def test_stmts_add
35     assert_equal '[ref(nil)]', parse('nil')
36     assert_equal '[ref(nil),ref(nil)]', parse('nil;nil')
37     assert_equal '[ref(nil),ref(nil),ref(nil)]', parse('nil;nil;nil')
38   end
40   def test_void_stmt
41     assert_equal '[void()]', parse('')
42     assert_equal '[void()]', parse('; ;')
43   end
45   def test_var_ref
46     assert_equal '[ref(a)]', parse('a')
47     assert_equal '[ref(nil)]', parse('nil')
48     assert_equal '[ref(true)]', parse('true')
49   end
51   def test_BEGIN
52     assert_equal '[BEGIN([void()])]', parse('BEGIN{}')
53     assert_equal '[BEGIN([ref(nil)])]', parse('BEGIN{nil}')
54   end
56   def test_END
57     assert_equal '[END([void()])]', parse('END{}')
58     assert_equal '[END([ref(nil)])]', parse('END{nil}')
59   end
61   def test_alias
62     assert_equal '[alias(symbol_literal(a),symbol_literal(b))]', parse('alias a b')
63   end
65   def test_var_alias
66     assert_equal '[valias($a,$g)]', parse('alias $a $g')
67   end
69   def test_alias_error
70     assert_equal '[aliaserr(valias($a,$1))]', parse('alias $a $1')
71   end
73   def test_arglist
74     assert_equal '[fcall(m,[])]', parse('m()')
75     assert_equal '[fcall(m,[1])]', parse('m(1)')
76     assert_equal '[fcall(m,[1,2])]', parse('m(1,2)')
77     assert_equal '[fcall(m,[*ref(r)])]', parse('m(*r)')
78     assert_equal '[fcall(m,[1,*ref(r)])]', parse('m(1,*r)')
79     assert_equal '[fcall(m,[1,2,*ref(r)])]', parse('m(1,2,*r)')
80     assert_equal '[fcall(m,[&ref(r)])]', parse('m(&r)')
81     assert_equal '[fcall(m,[1,&ref(r)])]', parse('m(1,&r)')
82     assert_equal '[fcall(m,[1,2,&ref(r)])]', parse('m(1,2,&r)')
83     assert_equal '[fcall(m,[*ref(a),&ref(b)])]', parse('m(*a,&b)')
84     assert_equal '[fcall(m,[1,*ref(a),&ref(b)])]', parse('m(1,*a,&b)')
85     assert_equal '[fcall(m,[1,2,*ref(a),&ref(b)])]', parse('m(1,2,*a,&b)')
86   end
88   def test_arg_paren
89     # FIXME
90   end
92   def test_aref
93     assert_equal '[aref(ref(v),[1])]', parse('v[1]')
94     assert_equal '[aref(ref(v),[1,2])]', parse('v[1,2]')
95   end
97   def test_assocs
98     assert_equal '[fcall(m,[assocs(assoc(1,2))])]', parse('m(1=>2)')
99     assert_equal '[fcall(m,[assocs(assoc(1,2),assoc(3,4))])]', parse('m(1=>2,3=>4)')
100     assert_equal '[fcall(m,[3,assocs(assoc(1,2))])]', parse('m(3,1=>2)')
101   end
103   def test_aref_field
104     assert_equal '[assign(aref_field(ref(a),[1]),2)]', parse('a[1]=2')
105   end
107 =begin
108   def test_arg_ambiguous
109     assert_equal true, $thru__arg_ambiguous
110   end
111 =end
113   def test_array   # array literal
114     assert_equal '[array([1,2,3])]', parse('[1,2,3]')
115   end
117   def test_assign   # generic assignment
118     assert_equal '[assign(var_field(v),1)]', parse('v=1')
119   end
121 =begin
122   def test_assign_error
123     assert_equal true, $thru__assign_error
124   end
126   def test_begin
127     assert_equal true, $thru__begin
128   end
130   def test_binary
131     assert_equal true, $thru__binary
132   end
134   def test_block_var
135     assert_equal true, $thru__block_var
136   end
138   def test_bodystmt
139     assert_equal true, $thru__bodystmt
140   end
142   def test_brace_block
143     assert_equal true, $thru__brace_block
144   end
146   def test_break
147     assert_equal true, $thru__break
148   end
150   def test_call
151     assert_equal true, $thru__call
152   end
154   def test_case
155     assert_equal true, $thru__case
156   end
158   def test_class
159     assert_equal true, $thru__class
160   end
162   def test_class_name_error
163     assert_equal true, $thru__class_name_error
164   end
166   def test_command
167     assert_equal true, $thru__command
168   end
170   def test_command_call
171     assert_equal true, $thru__command_call
172   end
174   def test_const_ref
175     assert_equal true, $thru__const_ref
176   end
178   def test_constpath_field
179     assert_equal true, $thru__constpath_field
180   end
182   def test_constpath_ref
183     assert_equal true, $thru__constpath_ref
184   end
186   def test_def
187     assert_equal true, $thru__def
188   end
190   def test_defined
191     assert_equal true, $thru__defined
192   end
194   def test_defs
195     assert_equal true, $thru__defs
196   end
198   def test_do_block
199     assert_equal true, $thru__do_block
200   end
202   def test_dot2
203     assert_equal true, $thru__dot2
204   end
206   def test_dot3
207     assert_equal true, $thru__dot3
208   end
210   def test_dyna_symbol
211     assert_equal true, $thru__dyna_symbol
212   end
214   def test_else
215     assert_equal true, $thru__else
216   end
218   def test_elsif
219     assert_equal true, $thru__elsif
220   end
222   def test_ensure
223     assert_equal true, $thru__ensure
224   end
226   def test_fcall
227     assert_equal true, $thru__fcall
228   end
230   def test_field
231     assert_equal true, $thru__field
232   end
234   def test_for
235     assert_equal true, $thru__for
236   end
238   def test_hash
239     assert_equal true, $thru__hash
240   end
242   def test_if
243     assert_equal true, $thru__if
244   end
246   def test_if_mod
247     assert_equal true, $thru__if_mod
248   end
250   def test_ifop
251     assert_equal true, $thru__ifop
252   end
254   def test_iter_block
255     assert_equal true, $thru__iter_block
256   end
258   def test_massign
259     assert_equal true, $thru__massign
260   end
262   def test_method_add_arg
263     assert_equal true, $thru__method_add_arg
264   end
266   def test_mlhs_add
267     assert_equal true, $thru__mlhs_add
268   end
270   def test_mlhs_add_star
271     assert_equal true, $thru__mlhs_add_star
272   end
274   def test_mlhs_new
275     assert_equal true, $thru__mlhs_new
276   end
278   def test_mlhs_paren
279     assert_equal true, $thru__mlhs_paren
280   end
282   def test_module
283     assert_equal true, $thru__module
284   end
286   def test_mrhs_add
287     assert_equal true, $thru__mrhs_add
288   end
290   def test_mrhs_add_star
291     assert_equal true, $thru__mrhs_add_star
292   end
294   def test_mrhs_new
295     assert_equal true, $thru__mrhs_new
296   end
298   def test_mrhs_new_from_arglist
299     assert_equal true, $thru__mrhs_new_from_arglist
300   end
302   def test_next
303     assert_equal true, $thru__next
304   end
306   def test_opassign
307     assert_equal true, $thru__opassign
308   end
310   def test_param_error
311     assert_equal true, $thru__param_error
312   end
314   def test_params
315     assert_equal true, $thru__params
316   end
318   def test_paren
319     assert_equal true, $thru__paren
320   end
322   def test_parse_error
323     assert_equal true, $thru__parse_error
324   end
326   def test_qwords_add
327     assert_equal true, $thru__qwords_add
328   end
330   def test_qwords_new
331     assert_equal true, $thru__qwords_new
332   end
334   def test_redo
335     assert_equal true, $thru__redo
336   end
338   def test_regexp_literal
339     assert_equal true, $thru__regexp_literal
340   end
342   def test_rescue
343     assert_equal true, $thru__rescue
344   end
346   def test_rescue_mod
347     assert_equal true, $thru__rescue_mod
348   end
350   def test_restparam
351     assert_equal true, $thru__restparam
352   end
354   def test_retry
355     assert_equal true, $thru__retry
356   end
358   def test_return
359     assert_equal true, $thru__return
360   end
362   def test_return0
363     assert_equal true, $thru__return0
364   end
366   def test_sclass
367     assert_equal true, $thru__sclass
368   end
370   def test_space
371     assert_equal true, $thru__space
372   end
374   def test_string_add
375     assert_equal true, $thru__string_add
376   end
378   def test_string_concat
379     assert_equal true, $thru__string_concat
380   end
382   def test_string_content
383     assert_equal true, $thru__string_content
384   end
386   def test_string_dvar
387     assert_equal true, $thru__string_dvar
388   end
390   def test_string_embexpr
391     assert_equal true, $thru__string_embexpr
392   end
394   def test_string_literal
395     assert_equal true, $thru__string_literal
396   end
398   def test_super
399     assert_equal true, $thru__super
400   end
402   def test_symbol
403     assert_equal true, $thru__symbol
404   end
406   def test_symbol_literal
407     assert_equal true, $thru__symbol_literal
408   end
410   def test_topconst_field
411     assert_equal true, $thru__topconst_field
412   end
414   def test_topconst_ref
415     assert_equal true, $thru__topconst_ref
416   end
418   def test_unary
419     assert_equal true, $thru__unary
420   end
422   def test_undef
423     assert_equal true, $thru__undef
424   end
426   def test_unless
427     assert_equal true, $thru__unless
428   end
430   def test_unless_mod
431     assert_equal true, $thru__unless_mod
432   end
434   def test_until_mod
435     assert_equal true, $thru__until_mod
436   end
438   def test_var_field
439     assert_equal true, $thru__var_field
440   end
442   def test_when
443     assert_equal true, $thru__when
444   end
446   def test_while
447     assert_equal true, $thru__while
448   end
450   def test_while_mod
451     assert_equal true, $thru__while_mod
452   end
454   def test_word_add
455     assert_equal true, $thru__word_add
456   end
458   def test_word_new
459     assert_equal true, $thru__word_new
460   end
462   def test_words_add
463     assert_equal true, $thru__words_add
464   end
466   def test_words_new
467     assert_equal true, $thru__words_new
468   end
470   def test_xstring_add
471     assert_equal true, $thru__xstring_add
472   end
474   def test_xstring_literal
475     assert_equal true, $thru__xstring_literal
476   end
478   def test_xstring_new
479     assert_equal true, $thru__xstring_new
480   end
482   def test_yield
483     assert_equal true, $thru__yield
484   end
486   def test_yield0
487     assert_equal true, $thru__yield0
488   end
490   def test_zsuper
491     assert_equal true, $thru__zsuper
492   end
493 =end
497 rescue LoadError