aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJack Nagel2013-10-30 00:43:10 -0500
committerJack Nagel2013-10-30 10:16:20 -0500
commit2dd44f77914f1e0927064735e771298cee533e7a (patch)
treec9f7ba765d72f33195a75934f4ad6b983b33a699
parenta5b2814770f4c1a564d73b3a30ca40b86f99711a (diff)
downloadbrew-2dd44f77914f1e0927064735e771298cee533e7a.tar.bz2
Resource: push conditional down into #verify_download_integrity
-rw-r--r--Library/Homebrew/resource.rb7
-rw-r--r--Library/Homebrew/test/test_resource.rb6
2 files changed, 7 insertions, 6 deletions
diff --git a/Library/Homebrew/resource.rb b/Library/Homebrew/resource.rb
index c7d73ffa7..8fd9dc7b3 100644
--- a/Library/Homebrew/resource.rb
+++ b/Library/Homebrew/resource.rb
@@ -48,8 +48,7 @@ class Resource
# If block is given, yield to that block
# A target or a block must be given, but not both
def stage(target=nil)
- fetched = fetch
- verify_download_integrity(fetched) if fetched.respond_to?(:file?) and fetched.file?
+ verify_download_integrity(fetch)
mktemp(download_name) do
downloader.stage
if block_given?
@@ -75,7 +74,9 @@ class Resource
end
def verify_download_integrity fn
- fn.verify_checksum(checksum)
+ if fn.respond_to?(:file?) && fn.file?
+ fn.verify_checksum(checksum)
+ end
rescue ChecksumMissingError
opoo "Cannot verify integrity of #{fn.basename}"
puts "A checksum was not provided for this resource"
diff --git a/Library/Homebrew/test/test_resource.rb b/Library/Homebrew/test/test_resource.rb
index 50ebd4c0f..d895c2cb6 100644
--- a/Library/Homebrew/test/test_resource.rb
+++ b/Library/Homebrew/test/test_resource.rb
@@ -106,15 +106,15 @@ class ResourceTests < Test::Unit::TestCase
fn = Pathname.new('test')
checksum = @resource.sha1('baadidea'*5)
- fn.expects(:verify_checksum).
- with(checksum).raises(ChecksumMissingError)
+ fn.stubs(:file? => true)
+ fn.expects(:verify_checksum).raises(ChecksumMissingError)
fn.expects(:sha1)
shutup { @resource.verify_download_integrity(fn) }
end
def test_verify_download_integrity_mismatch
- fn = Object.new
+ fn = stub(:file? => true)
checksum = @resource.sha1('baadidea'*5)
fn.expects(:verify_checksum).with(checksum).