提交 2ee28b2b 编写于 作者: S Sergey Nartimov

fix HashWithIndifferentAccess.[] method

上级 ea482d36
......@@ -42,6 +42,10 @@ def self.new_from_hash_copying_default(hash)
end
end
def self.[](*args)
new.merge(Hash[*args])
end
alias_method :regular_writer, :[]= unless method_defined?(:regular_writer)
alias_method :regular_update, :update unless method_defined?(:regular_update)
......
......@@ -388,6 +388,15 @@ def test_store_on_indifferent_access
assert_equal expected, hash
end
def test_constructor_on_indifferent_access
hash = HashWithIndifferentAccess[:foo, 1]
assert_equal 1, hash[:foo]
assert_equal 1, hash['foo']
hash[:foo] = 3
assert_equal 3, hash[:foo]
assert_equal 3, hash['foo']
end
def test_reverse_merge
defaults = { :a => "x", :b => "y", :c => 10 }.freeze
options = { :a => 1, :b => 2 }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册