From 2dd44f77914f1e0927064735e771298cee533e7a Mon Sep 17 00:00:00 2001 From: Jack Nagel Date: Wed, 30 Oct 2013 00:43:10 -0500 Subject: [PATCH] Resource: push conditional down into #verify_download_integrity --- Library/Homebrew/resource.rb | 7 ++++--- Library/Homebrew/test/test_resource.rb | 6 +++--- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/Library/Homebrew/resource.rb b/Library/Homebrew/resource.rb index c7d73ffa7c..8fd9dc7b3f 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 50ebd4c0fe..d895c2cb63 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).