diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-08-25 03:03:29 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-08-25 03:03:29 +0000 |
commit | 669a1679317200a7545dc4f73e750add71846493 (patch) | |
tree | 6fcefb85c9169c0db51e36b93c5d8a186f9f57b6 /test | |
parent | 4092e43f49604ecf32c4e86c2d9e6a879faf81e9 (diff) | |
download | ruby-669a1679317200a7545dc4f73e750add71846493.tar.gz ruby-669a1679317200a7545dc4f73e750add71846493.tar.xz ruby-669a1679317200a7545dc4f73e750add71846493.zip |
test assignment order.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13260 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r-- | test/ruby/test_assignment.rb | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/test/ruby/test_assignment.rb b/test/ruby/test_assignment.rb index e6fad1d16..b355e444c 100644 --- a/test/ruby/test_assignment.rb +++ b/test/ruby/test_assignment.rb @@ -650,12 +650,21 @@ class TestAssignmentGen < Test::Unit::TestCase 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 |