Sha256: 3a66ce8185b9ae647556d0eea69d8299c16c733fe6d3bb3a0cef04a302d80252
Contents?: true
Size: 1.01 KB
Versions: 3
Compression:
Stored size: 1.01 KB
Contents
require 'test/unit' require 'facet/object/super_send' require 'facet/object/super_method' require 'facet/object/supers' # setup class A def x; "A.x"; end def y; "A.y"; end end class B < A def x; "B.x" end def y; "B.y" end end class C < B def x; "C.x"; end def y; supers.x ; end end class Foo def foo return "Foo#foo" end end class Bar < Foo def foo return "Bar#foo" end end class TC_Object < Test::Unit::TestCase def setup @c = C.new end def test_supers assert_equal("B.x", @c.y) assert_equal("C.x", @c.x) end def test_super_method b = Bar.new assert_equal "Bar#foo", b.foo assert_equal "Bar#foo", b.instance_eval { super_method(Bar, :foo).call } assert_equal "Foo#foo", b.instance_eval { super_method(Foo, :foo).call } end def test_super_send b = Bar.new assert_equal "Bar#foo", b.foo assert_equal "Bar#foo", b.instance_eval { super_send(Bar, :foo) } assert_equal "Foo#foo", b.instance_eval { super_send(Foo, :foo) } end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
facets-0.7.0 | test/object/tc_supers.rb |
facets-0.7.1 | test/object/tc_supers.rb |
facets-0.7.2 | test/object/tc_supers.rb |