mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* variable.c (rb_cvar_set): class variables become private to the
particular class/module. [Ruby2] * variable.c (rb_cvar_get): ditto. * io.c (rb_io_sync): need not to check writable. [ruby-core:02674] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
91de9894fc
commit
610b5d7975
9 changed files with 57 additions and 87 deletions
|
@ -25,8 +25,11 @@ class TestVariable < Test::Unit::TestCase
|
|||
end
|
||||
|
||||
class Titans < Gods
|
||||
@@rule = "Cronus"
|
||||
include Olympians # OK to cause warning (intentional)
|
||||
@@rule = "Cronus" # do not affect @@rule in Gods
|
||||
include Olympians
|
||||
def ruler4
|
||||
@@rule
|
||||
end
|
||||
end
|
||||
|
||||
def test_variable
|
||||
|
@ -41,13 +44,14 @@ class TestVariable < Test::Unit::TestCase
|
|||
$_ = foobar
|
||||
assert_equal(foobar, $_)
|
||||
|
||||
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)
|
||||
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)
|
||||
atlas = Titans.new
|
||||
assert_equal("Cronus", atlas.ruler0)
|
||||
assert_equal("Uranus", atlas.ruler0)
|
||||
assert_equal("Zeus", atlas.ruler3)
|
||||
assert_equal("Cronus", atlas.ruler4)
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue