aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew
diff options
context:
space:
mode:
authorTim D. Smith2016-06-27 08:32:41 -0700
committerTim D. Smith2016-06-29 09:03:09 -0700
commit8cf11912deed552a0e1fdcfc970e10a66c536d7e (patch)
treefb6ee05ee794358b06ed4e71651cd7987e632328 /Library/Homebrew
parent9b36e8377142241218cb472dcaf64561f70b96e9 (diff)
downloadbrew-8cf11912deed552a0e1fdcfc970e10a66c536d7e.tar.bz2
Test resolve_test_tap
Diffstat (limited to 'Library/Homebrew')
-rw-r--r--Library/Homebrew/test/test_cmd_testbot.rb45
1 files changed, 45 insertions, 0 deletions
diff --git a/Library/Homebrew/test/test_cmd_testbot.rb b/Library/Homebrew/test/test_cmd_testbot.rb
new file mode 100644
index 000000000..77a9b3df5
--- /dev/null
+++ b/Library/Homebrew/test/test_cmd_testbot.rb
@@ -0,0 +1,45 @@
+require "testing_env"
+require "dev-cmd/test-bot"
+
+class TestbotCommandTests < Homebrew::TestCase
+ def with_environment(partial_env)
+ old = ENV.to_hash
+ ENV.update partial_env
+ begin
+ yield
+ ensure
+ ENV.replace old
+ end
+ end
+
+ def test_resolve_test_tap
+ tap = Homebrew.resolve_test_tap
+ assert_nil tap, "Should return nil if no tap slug provided"
+
+ slug = "spam/homebrew-eggs"
+ url = "https://github.com/#{slug}.git"
+ environments = [
+ { "TRAVIS_REPO_SLUG" => slug },
+ { "UPSTREAM_BOT_PARAMS" => "--tap=#{slug}" },
+ { "UPSTREAM_BOT_PARAMS" => "--tap=spam/eggs" },
+ { "UPSTREAM_GIT_URL" => url },
+ { "GIT_URL" => url },
+ ]
+
+ predicate = proc do |message|
+ tap = Homebrew.resolve_test_tap
+ assert_kind_of Tap, tap, message
+ assert_equal tap.user, "spam", message
+ assert_equal tap.repo, "eggs", message
+ end
+
+ environments.each do |pair|
+ with_environment(pair) do
+ predicate.call pair.to_s
+ end
+ end
+
+ ARGV.expects(:value).with("tap").returns(slug)
+ predicate.call "ARGV"
+ end
+end