diff options
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/test/test_formula.rb | 13 | ||||
| -rw-r--r-- | Library/Homebrew/test/testball.rb | 12 |
2 files changed, 24 insertions, 1 deletions
diff --git a/Library/Homebrew/test/test_formula.rb b/Library/Homebrew/test/test_formula.rb index fd3987168..a819e5751 100644 --- a/Library/Homebrew/test/test_formula.rb +++ b/Library/Homebrew/test/test_formula.rb @@ -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 diff --git a/Library/Homebrew/test/testball.rb b/Library/Homebrew/test/testball.rb index 97a161e1c..aae18115c 100644 --- a/Library/Homebrew/test/testball.rb +++ b/Library/Homebrew/test/testball.rb @@ -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 |
