mirror support: Add test

This commit is contained in:
Charlie Sharpsteen 2011-09-16 11:04:12 -07:00
parent 9d19506ee9
commit 3ada407922
2 changed files with 24 additions and 1 deletions

View File

@ -6,6 +6,9 @@ ARGV.extend(HomebrewArgvExtension)
require 'test/testball'
require 'utils'
class AbstractDownloadStrategy
attr_reader :url
end
class MostlyAbstractFormula <Formula
@url=''
@ -50,5 +53,13 @@ class FormulaTests < Test::Unit::TestCase
assert_raises(RuntimeError) { f.prefix }
nostdout { assert_raises(RuntimeError) { f.brew } }
end
def test_mirror_support
HOMEBREW_CACHE.mkpath unless HOMEBREW_CACHE.exist?
f = TestBallWithMirror.new
tarball, downloader = f.fetch
assert_equal f.url, "file:///#{TEST_FOLDER}/bad_url/testball-0.1.tbz"
assert_equal downloader.url, "file:///#{TEST_FOLDER}/tarballs/testball-0.1.tbz"
end
end

View File

@ -13,6 +13,18 @@ class TestBall <Formula
end
end
class TestBallWithMirror < Formula
# `url` is bogus---curl should fail to download it. The mirror is fine
# though.
url "file:///#{TEST_FOLDER}/bad_url/testball-0.1.tbz"
mirror "file:///#{TEST_FOLDER}/tarballs/testball-0.1.tbz"
def initialize name=nil
@homepage = 'http://example.com/'
super "testballwithmirror"
end
end
class ConfigureFails <Formula
# name parameter required for some Formula::factory
def initialize name=nil