aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/memoizable_test.rb
diff options
context:
space:
mode:
authorAndrew Kaspick <andrew@redlinesoftware.com>2010-09-23 16:48:35 -0500
committerSantiago Pastorino <santiago@wyeworks.com>2010-09-24 20:31:12 -0300
commitfb08e334d61b1706db754733b209075b0154b57e (patch)
tree532e994412d32504ea48e1492579eee5c6df724a /activesupport/test/memoizable_test.rb
parent72543b2e6358a502257a0e1eac61b0e3164937dd (diff)
downloadrails-fb08e334d61b1706db754733b209075b0154b57e.tar.gz
rails-fb08e334d61b1706db754733b209075b0154b57e.tar.bz2
rails-fb08e334d61b1706db754733b209075b0154b57e.zip
memoized protected methods should remain protected
Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
Diffstat (limited to 'activesupport/test/memoizable_test.rb')
-rw-r--r--activesupport/test/memoizable_test.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/activesupport/test/memoizable_test.rb b/activesupport/test/memoizable_test.rb
index b11fa8d346..bceac1315b 100644
--- a/activesupport/test/memoizable_test.rb
+++ b/activesupport/test/memoizable_test.rb
@@ -36,6 +36,13 @@ class MemoizableTest < ActiveSupport::TestCase
memoize :name, :age
+ protected
+
+ def memoize_protected_test
+ 'protected'
+ end
+ memoize :memoize_protected_test
+
private
def is_developer?
@@ -237,6 +244,13 @@ class MemoizableTest < ActiveSupport::TestCase
assert_raise(RuntimeError) { company.memoize :name }
end
+ def test_protected_method_memoization
+ person = Person.new
+
+ assert_raise(NoMethodError) { person.memoize_protected_test }
+ assert_equal "protected", person.send(:memoize_protected_test)
+ end
+
def test_private_method_memoization
person = Person.new