Add OrderedHash#values
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4411 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
parent
8cdf9126d3
commit
c377ce50ed
@ -1,5 +1,7 @@
|
||||
*SVN*
|
||||
|
||||
* Add OrderedHash#values. [Sam Stephenson]
|
||||
|
||||
* Added Array#to_s(:db) that'll produce a comma-separated list of ids [DHH]. Example:
|
||||
|
||||
Purchase.find(:all, :conditions => "product_id IN (#{shops.products.to_s(:db)})"
|
||||
|
@ -16,7 +16,11 @@ def [](key)
|
||||
end
|
||||
|
||||
def keys
|
||||
self.collect { |i| i.first }
|
||||
collect { |key, value| key }
|
||||
end
|
||||
|
||||
def values
|
||||
collect { |key, value| value }
|
||||
end
|
||||
|
||||
private
|
||||
|
@ -2,6 +2,33 @@
|
||||
|
||||
require File.dirname(__FILE__) + '/../lib/active_support/ordered_options'
|
||||
|
||||
class OrderedHashTest < Test::Unit::TestCase
|
||||
def setup
|
||||
@keys = %w( blue green red pink orange )
|
||||
@values = %w( 000099 009900 aa0000 cc0066 cc6633 )
|
||||
@ordered_hash = ActiveSupport::OrderedHash.new(@keys.zip(@values))
|
||||
end
|
||||
|
||||
def test_order
|
||||
assert_equal @keys, @ordered_hash.keys
|
||||
assert_equal @values, @ordered_hash.values
|
||||
end
|
||||
|
||||
def test_access
|
||||
assert @keys.zip(@values).all? { |k, v| @ordered_hash[k] == v }
|
||||
end
|
||||
|
||||
def test_assignment
|
||||
key, value = 'purple', '5422a8'
|
||||
|
||||
@ordered_hash[key] = value
|
||||
assert_equal @keys.length + 1, @ordered_hash.length
|
||||
assert_equal key, @ordered_hash.keys.last
|
||||
assert_equal value, @ordered_hash.values.last
|
||||
assert_equal value, @ordered_hash[key]
|
||||
end
|
||||
end
|
||||
|
||||
class OrderedOptionsTest < Test::Unit::TestCase
|
||||
def test_usage
|
||||
a = OrderedOptions.new
|
||||
|
Loading…
Reference in New Issue
Block a user