diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-11-28 07:48:23 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-11-28 07:48:23 +0000 |
commit | 6272cf8ecd8f4cd35af10aecf505f22b8244c56d (patch) | |
tree | 6ebf79c4e113af57f7aa4587f1e5d8305ed8473a /test/ruby | |
parent | c2aef47c846e1ff2ddcc2059c36b494859d740f6 (diff) | |
download | ruby-6272cf8ecd8f4cd35af10aecf505f22b8244c56d.tar.gz |
add test for enumerator.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14043 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ruby')
-rw-r--r-- | test/ruby/test_yield.rb | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/test/ruby/test_yield.rb b/test/ruby/test_yield.rb index e7de995743..ead0715d4e 100644 --- a/test/ruby/test_yield.rb +++ b/test/ruby/test_yield.rb @@ -163,7 +163,8 @@ class TestRubyYieldGen < Test::Unit::TestCase :block_arg => [['&', :arg]], #:test => [['def m() yield', :command_args_noblock, ' end; r = m {', :block_param_def, 'vars', '}; undef m; r']] :test_proc => [['def m() yield', :command_args_noblock, ' end; r = m {', :block_param_def, 'vars', '}; undef m; r']], - :test_lambda => [['def m() yield', :command_args_noblock, ' end; r = m(&lambda {', :block_param_def, 'vars', '}); undef m; r']] + :test_lambda => [['def m() yield', :command_args_noblock, ' end; r = m(&lambda {', :block_param_def, 'vars', '}); undef m; r']], + :test_enum => [['o = Object.new; def o.each() yield', :command_args_noblock, ' end; r1 = r2 = nil; o.each {|*x| r1 = x }; o.to_enum.each {|*x| r2 = x }; [r1, r2]']] } def rename_var(obj) @@ -343,4 +344,12 @@ class TestRubyYieldGen < Test::Unit::TestCase } end + def test_yield_enum + syntax = Sentence.expand_syntax(Syntax) + Sentence.each(syntax, :test_enum, 4) {|t| + r1, r2 = eval(t.to_s) + assert_equal(r1, r2, "#{t}") + } + end + end |