aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/ordered_hash_test.rb
diff options
context:
space:
mode:
authorArthur Neves <arthurnn@gmail.com>2014-02-26 15:22:52 -0500
committerArthur Neves <arthurnn@gmail.com>2014-03-07 12:30:20 -0500
commita94966ea094fcfd94cf09642d3a561af80c64602 (patch)
treeb0bd592c6dcc628c92d7c33e979cbaa401806746 /activesupport/test/ordered_hash_test.rb
parentf60b5249194d71a5a7ad152332400af39543628f (diff)
downloadrails-a94966ea094fcfd94cf09642d3a561af80c64602.tar.gz
rails-a94966ea094fcfd94cf09642d3a561af80c64602.tar.bz2
rails-a94966ea094fcfd94cf09642d3a561af80c64602.zip
Fix OrderedHash.select to return self instance.
On ruby 2.1.1 the behavior of .select and .reject has changed. They will return a Hash new instance, so we need to override them to keep the instance object class.
Diffstat (limited to 'activesupport/test/ordered_hash_test.rb')
-rw-r--r--activesupport/test/ordered_hash_test.rb5
1 files changed, 4 insertions, 1 deletions
diff --git a/activesupport/test/ordered_hash_test.rb b/activesupport/test/ordered_hash_test.rb
index 0b54026c64..460a61613e 100644
--- a/activesupport/test/ordered_hash_test.rb
+++ b/activesupport/test/ordered_hash_test.rb
@@ -120,7 +120,9 @@ class OrderedHashTest < ActiveSupport::TestCase
end
def test_select
- assert_equal @keys, @ordered_hash.select { true }.map(&:first)
+ new_ordered_hash = @ordered_hash.select { true }
+ assert_equal @keys, new_ordered_hash.map(&:first)
+ assert_instance_of ActiveSupport::OrderedHash, new_ordered_hash
end
def test_delete_if
@@ -143,6 +145,7 @@ class OrderedHashTest < ActiveSupport::TestCase
assert_equal copy, @ordered_hash
assert !new_ordered_hash.keys.include?('pink')
assert @ordered_hash.keys.include?('pink')
+ assert_instance_of ActiveSupport::OrderedHash, new_ordered_hash
end
def test_clear