From e13f41e02df0d29fbde659b9e426862a8d433003 Mon Sep 17 00:00:00 2001 From: Adam Hess Date: Tue, 5 Jan 2021 15:34:45 -0800 Subject: [ruby/ostruct] Allow ostruct to return a value on super (#4028) This fixes cases where you can super in something that inherits from OpenStruct Co-authored-by: John Hawthorn --- test/ostruct/test_ostruct.rb | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'test/ostruct/test_ostruct.rb') diff --git a/test/ostruct/test_ostruct.rb b/test/ostruct/test_ostruct.rb index 3ca98ee739..443a20c86a 100644 --- a/test/ostruct/test_ostruct.rb +++ b/test/ostruct/test_ostruct.rb @@ -249,6 +249,14 @@ class TC_OpenStruct < Test::Unit::TestCase assert_equal(:bar, os.format) end + def test_super + c = Class.new(OpenStruct) { + def foo; super; end + } + os = c.new(foo: :bar) + assert_equal(:bar, os.foo) + end + def test_overridden_public_methods os = OpenStruct.new(method: :foo, class: :bar) assert_equal(:foo, os.method) -- cgit v1.2.3