diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-10-03 06:48:06 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-10-03 06:48:06 +0000 |
commit | 91a079cc86b01699d11481bdd8f9636df334a404 (patch) | |
tree | 1bd507ac5bcb0c59f0ef86ce8a8cc53e583fcaae /test | |
parent | ee2ac58e4de6a63cc83bbef13b6a25718f5b8f0f (diff) | |
download | ruby-91a079cc86b01699d11481bdd8f9636df334a404.tar.gz |
* variable.c (rb_cvar_set): check whether class variable is
defined in superclasses. root classes have higher priority.
removes lower class variable entry from IV_TBL (if it's defined
in classes, not modules).
* variable.c (rb_cvar_get): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13604 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r-- | test/ruby/test_variable.rb | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/test/ruby/test_variable.rb b/test/ruby/test_variable.rb index 32e2030a23..cd04de5c3a 100644 --- a/test/ruby/test_variable.rb +++ b/test/ruby/test_variable.rb @@ -25,7 +25,7 @@ class TestVariable < Test::Unit::TestCase end class Titans < Gods - @@rule = "Cronus" # do not affect @@rule in Gods + @@rule = "Cronus" # modifies @@rule in Gods include Olympians def ruler4 @@rule @@ -44,13 +44,13 @@ class TestVariable < Test::Unit::TestCase $_ = foobar assert_equal(foobar, $_) - assert_equal("Uranus", Gods.new.ruler0) - assert_equal("Uranus", Gods.ruler1) - assert_equal("Uranus", Gods.ruler2) - assert_equal("Uranus", Titans.ruler1) - assert_equal("Uranus", Titans.ruler2) + assert_equal("Cronus", Gods.new.ruler0) + assert_equal("Cronus", Gods.ruler1) + assert_equal("Cronus", Gods.ruler2) + assert_equal("Cronus", Titans.ruler1) + assert_equal("Cronus", Titans.ruler2) atlas = Titans.new - assert_equal("Uranus", atlas.ruler0) + assert_equal("Cronus", atlas.ruler0) assert_equal("Zeus", atlas.ruler3) assert_equal("Cronus", atlas.ruler4) end |