mirror of
https://github.com/github/rails.git
synced 2026-01-30 16:58:15 -05:00
Array#to_query preserves its ordering. References #7756.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6378 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
*SVN*
|
||||
|
||||
* Array#to_query preserves its ordering. #7756 [Greg Spurrier]
|
||||
|
||||
* Out-of-range Time calculations transparently overflow to DateTime. Introduce Time#to_datetime. #7706, #7715 [Geoff Buesing]
|
||||
|
||||
* DateTime calculations analogous to the Date and Time extensions. #7693 [Geoff Buesing]
|
||||
|
||||
@@ -15,7 +15,7 @@ end
|
||||
|
||||
class Array
|
||||
def to_query(key) #:nodoc:
|
||||
collect { |value| value.to_query("#{key}[]") }.sort * '&'
|
||||
collect { |value| value.to_query("#{key}[]") } * '&'
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -544,7 +544,7 @@ class QueryTest < Test::Unit::TestCase
|
||||
end
|
||||
|
||||
def test_nested_conversion
|
||||
assert_query_equal 'person%5Bname%5D=Nicholas&person%5Blogin%5D=seckar',
|
||||
assert_query_equal 'person%5Blogin%5D=seckar&person%5Bname%5D=Nicholas',
|
||||
:person => {:name => 'Nicholas', :login => 'seckar'}
|
||||
end
|
||||
|
||||
@@ -558,8 +558,13 @@ class QueryTest < Test::Unit::TestCase
|
||||
:person => {:id => [10, 20]}
|
||||
end
|
||||
|
||||
def test_array_values_are_not_sorted
|
||||
assert_query_equal 'person%5Bid%5D%5B%5D=20&person%5Bid%5D%5B%5D=10',
|
||||
:person => {:id => [20, 10]}
|
||||
end
|
||||
|
||||
private
|
||||
def assert_query_equal(expected, actual, message = nil)
|
||||
assert_equal expected.split('&').sort, actual.to_query.split('&').sort
|
||||
assert_equal expected.split('&'), actual.to_query.split('&')
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user