Added OrderedHash#delete [#113 state:resolved]
Signed-off-by: Joshua Peek <josh@joshpeek.com>
This commit is contained in:
parent
a40223d36d
commit
d75525b045
|
@ -18,6 +18,12 @@ module ActiveSupport
|
|||
pair = assoc(key)
|
||||
pair ? pair.last : nil
|
||||
end
|
||||
|
||||
def delete(key)
|
||||
pair = assoc(key)
|
||||
pair ? array_index = index(pair) : nil
|
||||
array_index ? delete_at(array_index).last : nil
|
||||
end
|
||||
|
||||
def keys
|
||||
collect { |key, value| key }
|
||||
|
|
|
@ -29,6 +29,19 @@ class OrderedHashTest < Test::Unit::TestCase
|
|||
assert_equal value, @ordered_hash.values.last
|
||||
assert_equal value, @ordered_hash[key]
|
||||
end
|
||||
|
||||
def test_delete
|
||||
key, value = 'white', 'ffffff'
|
||||
bad_key = 'black'
|
||||
|
||||
@ordered_hash[key] = value
|
||||
assert_equal @keys.length + 1, @ordered_hash.length
|
||||
|
||||
assert_equal value, @ordered_hash.delete(key)
|
||||
assert_equal @keys.length, @ordered_hash.length
|
||||
|
||||
assert_nil @ordered_hash.delete(bad_key)
|
||||
end
|
||||
end
|
||||
|
||||
class OrderedOptionsTest < Test::Unit::TestCase
|
||||
|
|
Loading…
Reference in New Issue