1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Merge pull request #14244 from arthurnn/orderd_hash_select_fix

Fix OrderedHash.select to return self instance.
This commit is contained in:
Santiago Pastorino 2014-03-08 16:12:10 -02:00
commit 18c651659e
2 changed files with 8 additions and 1 deletions

View file

@ -28,6 +28,10 @@ module ActiveSupport
coder.represent_seq '!omap', map { |k,v| { k => v } } coder.represent_seq '!omap', map { |k,v| { k => v } }
end end
def select(*args, &block)
dup.tap { |hash| hash.select!(*args, &block) }
end
def reject(*args, &block) def reject(*args, &block)
dup.tap { |hash| hash.reject!(*args, &block) } dup.tap { |hash| hash.reject!(*args, &block) }
end end

View file

@ -120,7 +120,9 @@ class OrderedHashTest < ActiveSupport::TestCase
end end
def test_select 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 end
def test_delete_if def test_delete_if
@ -143,6 +145,7 @@ class OrderedHashTest < ActiveSupport::TestCase
assert_equal copy, @ordered_hash assert_equal copy, @ordered_hash
assert !new_ordered_hash.keys.include?('pink') assert !new_ordered_hash.keys.include?('pink')
assert @ordered_hash.keys.include?('pink') assert @ordered_hash.keys.include?('pink')
assert_instance_of ActiveSupport::OrderedHash, new_ordered_hash
end end
def test_clear def test_clear