[前][次][番号順一覧][スレッド一覧]

ruby-changes:9446

From: usa <ko1@a...>
Date: Thu, 25 Dec 2008 14:40:48 +0900 (JST)
Subject: [ruby-changes:9446] Ruby:r20984 (trunk): * test/ruby/test_eval.rb: add new test.

usa	2008-12-25 14:40:41 +0900 (Thu, 25 Dec 2008)

  New Revision: 20984

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=20984

  Log:
    * test/ruby/test_eval.rb: add new test.

  Modified files:
    trunk/test/ruby/test_eval.rb

Index: test/ruby/test_eval.rb
===================================================================
--- test/ruby/test_eval.rb	(revision 20983)
+++ test/ruby/test_eval.rb	(revision 20984)
@@ -1,4 +1,5 @@
 require 'test/unit'
+require_relative 'envutil'
 
 class TestEval < Test::Unit::TestCase
 
@@ -7,6 +8,15 @@
   $gvar__eval = 14
   Const = 15
 
+  def ruby(*args)
+    args = ['-e', '$>.write($<.read)'] if args.empty?
+    ruby = EnvUtil.rubybin
+    f = IO.popen([ruby] + args, 'r+')
+    yield(f)
+  ensure
+    f.close unless !f || f.closed?
+  end
+
   def test_eval_basic
     assert_equal nil,   eval("nil")
     assert_equal true,  eval("true")
@@ -391,4 +401,11 @@
       end.join
     end
   end
+
+  def test_eval_with_toplevel_binding # [ruby-dev:37142]
+    ruby("-e", "x = 0; eval('p x', TOPLEVEL_BINDING)") do |f|
+      f.close_write
+      assert_equal("0", f.read.chomp)
+    end
+  end
 end

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]