make order consistent across Ruby vsns w/sort

Fixes #2635.  In particular, link and cookie order differ
between Ruby 1.8.7 and 2.x, causing the test suite to fail
under 1.8.7.
This commit is contained in:
Roland Walker 2014-02-01 14:23:14 -05:00
parent 8dfdfe0e2c
commit 935ae52eb8
2 changed files with 6 additions and 3 deletions

View File

@ -38,11 +38,13 @@ class Cask::Artifact::Symlinked < Cask::Artifact::Base
end
def install
@cask.artifacts[self.class.artifact_dsl_key].each { |artifact| link(artifact) }
# the sort is for predictability between Ruby versions
@cask.artifacts[self.class.artifact_dsl_key].sort.each { |artifact| link(artifact) }
end
def uninstall
@cask.artifacts[self.class.artifact_dsl_key].each { |artifact| unlink(artifact) }
# the sort is for predictability between Ruby versions
@cask.artifacts[self.class.artifact_dsl_key].sort.each { |artifact| unlink(artifact) }
end
def preflight_checks(source, target)

View File

@ -46,7 +46,8 @@ class Cask::DownloadStrategy < CurlDownloadStrategy
if cask_url.cookies
[
'-b',
cask_url.cookies.map do |key, value|
# sort_by is for predictability between Ruby versions
cask_url.cookies.sort_by{ |key, value| key.to_s }.map do |key, value|
"#{CGI.escape(key.to_s)}=#{CGI.escape(value.to_s)}"
end.join(';')
]