From d0c697e9b17a9f22d645503a39f6d6d167d99b94 Mon Sep 17 00:00:00 2001 From: bogdanvlviv Date: Wed, 28 Feb 2018 00:05:46 +0200 Subject: Add separate test to ensure that `delegate` with `:private` option returns correct value Remove extra comments `# Asking for private method` in activesupport/test/core_ext/module_test.rb Improve docs of using `delegate` with `:private` Update changelog of #31944 --- activesupport/test/core_ext/module_test.rb | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) (limited to 'activesupport/test/core_ext') diff --git a/activesupport/test/core_ext/module_test.rb b/activesupport/test/core_ext/module_test.rb index 36cfd885d7..04692f1484 100644 --- a/activesupport/test/core_ext/module_test.rb +++ b/activesupport/test/core_ext/module_test.rb @@ -482,19 +482,29 @@ class ModuleTest < ActiveSupport::TestCase def initialize(place) @place = place end - end - assert_equal %i(the_street the_city), - location.delegate(:street, :city, to: :@place, prefix: :the, private: true) + delegate(:street, :city, to: :@place, prefix: :the, private: true) + end place = location.new(Somewhere.new("Such street", "Sad city")) - assert_not_respond_to place, :street - assert_not_respond_to place, :city - assert_not_respond_to place, :the_street assert place.respond_to?(:the_street, true) assert_not_respond_to place, :the_city assert place.respond_to?(:the_city, true) end + + def test_delegate_with_private_option_returns_names_of_delegate_methods + location = Class.new do + def initialize(place) + @place = place + end + end + + assert_equal [:street, :city], + location.delegate(:street, :city, to: :@place, private: true) + + assert_equal [:the_street, :the_city], + location.delegate(:street, :city, to: :@place, prefix: :the, private: true) + end end -- cgit v1.2.3