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

ruby-changes:1769

From: ko1@a...
Date: 25 Aug 2007 12:03:40 +0900
Subject: [ruby-changes:1769] akr - Ruby:r13260 (trunk): test assignment order.

akr	2007-08-25 12:03:29 +0900 (Sat, 25 Aug 2007)

  New Revision: 13260

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

  Log:
    test assignment order.


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/test/ruby/test_assignment.rb?r1=13260&r2=13259

Index: test/ruby/test_assignment.rb
===================================================================
--- test/ruby/test_assignment.rb	(revision 13259)
+++ test/ruby/test_assignment.rb	(revision 13260)
@@ -650,12 +650,21 @@
 
   def do_assign(assign, vars)
     assign = assign.to_s
-    code = "#{assign}; [#{vars.join(",")}]"
+    code1 = "#{assign}; [#{vars.join(",")}]"
+    assign.gsub!(/\bv\d+\b/, "o.a")
+    code2 = "o=[];class << o; self end.send!(:define_method,:a=){|v|self << v};#{assign};o"
     begin
-      vals = eval(code)
+      vals1 = eval(code1)
     rescue Exception
       return {:ex=>$!.message}
     end
+    begin
+      vals2 = eval(code2)
+    rescue Exception
+      return {:ex=>$!.message}
+    end
+    assert_equal(vals1, vals2, code1)
+    vals = vals1
     h = {}
     [vars, vals].transpose.each {|k,v| h[k] = v }
     h

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

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