diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-08-18 06:31:04 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-08-18 06:31:04 +0000 |
commit | 2a225d8ce35b31a1edf29e264922cca231fd5b24 (patch) | |
tree | 17344083bf0257200731edd3235165d1ddc33e4b | |
parent | fb2754e27ced245f8c489aadb5e2f38a433816ca (diff) | |
download | ruby-2a225d8ce35b31a1edf29e264922cca231fd5b24.tar.gz ruby-2a225d8ce35b31a1edf29e264922cca231fd5b24.tar.xz ruby-2a225d8ce35b31a1edf29e264922cca231fd5b24.zip |
lambda yield emulator refactored.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13098 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | test/ruby/test_yield.rb | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/test/ruby/test_yield.rb b/test/ruby/test_yield.rb index ccbd91d5b..fb01be4ca 100644 --- a/test/ruby/test_yield.rb +++ b/test/ruby/test_yield.rb @@ -220,11 +220,11 @@ class TestRubyYieldGen < Test::Unit::TestCase if islambda if star_index if args.length < params.length - 1 - throw :argumenterror, ArgumentError + throw :emuerror, ArgumentError end else if args.length != params.length - throw :argumenterror, ArgumentError + throw :emuerror, ArgumentError end end end @@ -254,7 +254,7 @@ class TestRubyYieldGen < Test::Unit::TestCase result_binding end - def emu(t, islambda) + def emu_bind(t, islambda) #puts #p t command_args_noblock = t[1] @@ -297,13 +297,17 @@ class TestRubyYieldGen < Test::Unit::TestCase result_binding end + def emu(t, vars, islambda) + catch(:emuerror) { + emu_binding = emu_bind(t, islambda) + vars.map {|var| emu_binding.fetch(var, "NOVAL") } + } + end + def check_nofork(t, islambda=false) t, vars = rename_var(t) t = t.subst('vars') { " [#{vars.join(",")}]" } - emu_values = catch(:argumenterror) { - emu_binding = emu(t, islambda) - vars.map {|var| emu_binding.fetch(var, "NOVAL") } - } + emu_values = emu(t, vars, islambda) s = t.to_s #print "#{s}\t\t" #STDOUT.flush |