From 66747603d508bd4b07290c4899bed1382a883f5b Mon Sep 17 00:00:00 2001 From: Carson McDonald Date: Wed, 25 Dec 2013 12:16:53 -0500 Subject: Add more testing for singletons --- test/t/class.rb | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/test/t/class.rb b/test/t/class.rb index d6c0f1c9a..680cd253c 100644 --- a/test/t/class.rb +++ b/test/t/class.rb @@ -258,3 +258,37 @@ assert('Class#inherited') do assert_equal(Baz, Foo.subclass_name) end + +assert('singleton tests') do + bar = String.new + + baz = class << bar + def self.run_baz + 200 + end + end + + assert_false baz.singleton_methods.include? :run_baz + + assert_raise(NoMethodError, 'should raise NoMethodError') do + baz.run_baz + end + + assert_raise(NoMethodError, 'should raise NoMethodError') do + bar.run_baz + end + + baz = class << bar + def self.run_baz + 300 + end + self + end + + assert_true baz.singleton_methods.include? :run_baz + assert_equal 300, baz.run_baz + + assert_raise(NoMethodError, 'should raise NoMethodError') do + bar.run_baz + end +end -- cgit v1.2.3