summaryrefslogtreecommitdiff
path: root/test/ruby/test_variable.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/ruby/test_variable.rb')
-rw-r--r--test/ruby/test_variable.rb88
1 files changed, 5 insertions, 83 deletions
diff --git a/test/ruby/test_variable.rb b/test/ruby/test_variable.rb
index 9795223fda..a9b1fd50ff 100644
--- a/test/ruby/test_variable.rb
+++ b/test/ruby/test_variable.rb
@@ -29,68 +29,9 @@ class TestVariable < Test::Unit::TestCase
@@rule = "Cronus" # modifies @@rule in Gods
include Olympians
def ruler4
- @@rule
- end
- end
-
- def test_setting_class_variable_on_module_through_inheritance
- mod = Module.new
- mod.class_variable_set(:@@foo, 1)
- mod.freeze
- c = Class.new { include(mod) }
- assert_raise(FrozenError) { c.class_variable_set(:@@foo, 2) }
- assert_raise(FrozenError) { c.class_eval("@@foo = 2") }
- assert_equal(1, c.class_variable_get(:@@foo))
- end
-
- def test_singleton_class_included_class_variable
- c = Class.new
- c.extend(Olympians)
- assert_empty(c.singleton_class.class_variables)
- assert_raise(NameError){ c.singleton_class.class_variable_get(:@@rule) }
- c.class_variable_set(:@@foo, 1)
- assert_equal([:@@foo], c.singleton_class.class_variables)
- assert_equal(1, c.singleton_class.class_variable_get(:@@foo))
-
- c = Class.new
- c.extend(Olympians)
- sc = Class.new(c)
- assert_empty(sc.singleton_class.class_variables)
- assert_raise(NameError){ sc.singleton_class.class_variable_get(:@@rule) }
- c.class_variable_set(:@@foo, 1)
- assert_equal([:@@foo], sc.singleton_class.class_variables)
- assert_equal(1, sc.singleton_class.class_variable_get(:@@foo))
-
- c = Class.new
- o = c.new
- o.extend(Olympians)
- assert_equal([:@@rule], o.singleton_class.class_variables)
- assert_equal("Zeus", o.singleton_class.class_variable_get(:@@rule))
- c.class_variable_set(:@@foo, 1)
- assert_equal([:@@foo, :@@rule], o.singleton_class.class_variables.sort)
- assert_equal(1, o.singleton_class.class_variable_get(:@@foo))
- end
-
- class IncludeRefinedModuleClassVariableNoWarning
- module Mod
- @@_test_include_refined_module_class_variable = true
- end
-
- module Mod2
- refine Mod do
- end
- end
-
- include Mod
-
- def t
- @@_test_include_refined_module_class_variable
- end
- end
-
- def test_include_refined_module_class_variable
- assert_warning('') do
- IncludeRefinedModuleClassVariableNoWarning.new.t
+ EnvUtil.suppress_warning {
+ @@rule
+ }
end
end
@@ -115,7 +56,7 @@ class TestVariable < Test::Unit::TestCase
atlas = Titans.new
assert_equal("Cronus", atlas.ruler0)
assert_equal("Zeus", atlas.ruler3)
- assert_raise(RuntimeError) { atlas.ruler4 }
+ assert_equal("Cronus", atlas.ruler4)
assert_nothing_raised do
class << Gods
defined?(@@rule) && @@rule
@@ -194,7 +135,7 @@ class TestVariable < Test::Unit::TestCase
def test_special_constant_ivars
[ true, false, :symbol, "dsym#{rand(9999)}".to_sym, 1, 1.0 ].each do |v|
assert_empty v.instance_variables
- msg = "can't modify frozen #{v.class}: #{v.inspect}"
+ msg = "can't modify frozen #{v.class}"
assert_raise_with_message(FrozenError, msg) do
v.instance_variable_set(:@foo, :bar)
@@ -209,25 +150,6 @@ class TestVariable < Test::Unit::TestCase
end
end
- class ExIvar < Hash
- def initialize
- @a = 1
- @b = 2
- @c = 3
- end
-
- def ivars
- [@a, @b, @c]
- end
- end
-
- def test_external_ivars
- 3.times{
- # check inline cache for external ivar access
- assert_equal [1, 2, 3], ExIvar.new.ivars
- }
- end
-
def test_local_variables_with_kwarg
bug11674 = '[ruby-core:71437] [Bug #11674]'
v = with_kwargs_11(v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8,v9:9,v10:10,v11:11)