aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/test
diff options
context:
space:
mode:
authorMike McQuaid2017-03-21 17:31:31 +0000
committerGitHub2017-03-21 17:31:31 +0000
commit4117d198ccff6b220ca3e26882f1f3904130b984 (patch)
tree86a9e08a44b57912588b939fc2388bb9a16b4da2 /Library/Homebrew/test
parent7095b9b3c7ca8584a4e7528aa62f0ae87e3afdc0 (diff)
parentf59eb358c29c5f40601a99e3f1bf7e8e891f10ba (diff)
downloadbrew-4117d198ccff6b220ca3e26882f1f3904130b984.tar.bz2
Merge pull request #1732 from zmwangx/hint-migrations
Hint at new location of migrated formulae
Diffstat (limited to 'Library/Homebrew/test')
-rw-r--r--Library/Homebrew/test/blacklist_spec.rb115
-rw-r--r--Library/Homebrew/test/cmd/log_spec.rb2
-rw-r--r--Library/Homebrew/test/missing_formula_spec.rb179
3 files changed, 180 insertions, 116 deletions
diff --git a/Library/Homebrew/test/blacklist_spec.rb b/Library/Homebrew/test/blacklist_spec.rb
deleted file mode 100644
index 01882167d..000000000
--- a/Library/Homebrew/test/blacklist_spec.rb
+++ /dev/null
@@ -1,115 +0,0 @@
-require "blacklist"
-
-describe "Blacklist" do
- matcher(:be_blacklisted) { match(&method(:blacklisted?)) }
-
- context "rubygems" do
- %w[gem rubygem rubygems].each do |s|
- subject { s }
-
- it { is_expected.to be_blacklisted }
- end
- end
-
- context "latex" do
- %w[latex tex tex-live texlive TexLive].each do |s|
- subject { s }
-
- it { is_expected.to be_blacklisted }
- end
- end
-
- context "pip" do
- subject { "pip" }
-
- it { is_expected.to be_blacklisted }
- end
-
- context "pil" do
- subject { "pil" }
-
- it { is_expected.to be_blacklisted }
- end
-
- context "macruby" do
- subject { "MacRuby" }
-
- it { is_expected.to be_blacklisted }
- end
-
- context "lzma" do
- %w[lzma liblzma].each do |s|
- subject { s }
-
- it { is_expected.to be_blacklisted }
- end
- end
-
- context "gtest" do
- %w[gtest googletest google-test].each do |s|
- subject { s }
-
- it { is_expected.to be_blacklisted }
- end
- end
-
- context "gmock" do
- %w[gmock googlemock google-mock].each do |s|
- subject { s }
-
- it { is_expected.to be_blacklisted }
- end
- end
-
- context "sshpass" do
- subject { "sshpass" }
-
- it { is_expected.to be_blacklisted }
- end
-
- context "gsutil" do
- subject { "gsutil" }
-
- it { is_expected.to be_blacklisted }
- end
-
- context "clojure" do
- subject { "clojure" }
-
- it { is_expected.to be_blacklisted }
- end
-
- context "osmium" do
- %w[osmium Osmium].each do |s|
- subject { s }
-
- it { is_expected.to be_blacklisted }
- end
- end
-
- context "gfortran" do
- subject { "gfortran" }
-
- it { is_expected.to be_blacklisted }
- end
-
- context "play" do
- subject { "play" }
-
- it { is_expected.to be_blacklisted }
- end
-
- context "haskell-platform" do
- subject { "haskell-platform" }
-
- it { is_expected.to be_blacklisted }
- end
-
- context "xcode", :needs_macos do
- %w[xcode Xcode].each do |s|
- subject { s }
-
- it { is_expected.to be_blacklisted }
- end
- end
-end
diff --git a/Library/Homebrew/test/cmd/log_spec.rb b/Library/Homebrew/test/cmd/log_spec.rb
index bdbca8912..b9e3e8d3e 100644
--- a/Library/Homebrew/test/cmd/log_spec.rb
+++ b/Library/Homebrew/test/cmd/log_spec.rb
@@ -33,7 +33,7 @@ describe "brew log", :integration_test do
expect { brew "log", "#{shallow_tap}/testball" }
.to output(/This is a test commit for Testball/).to_stdout
- .and output(/Warning: The git repository is a shallow clone/).to_stderr
+ .and output(%r{Warning: homebrew/shallow is a shallow clone}).to_stderr
.and be_a_success
expect(shallow_tap.path/".git/shallow").to exist, "A shallow clone should have been created."
diff --git a/Library/Homebrew/test/missing_formula_spec.rb b/Library/Homebrew/test/missing_formula_spec.rb
new file mode 100644
index 000000000..f395965a6
--- /dev/null
+++ b/Library/Homebrew/test/missing_formula_spec.rb
@@ -0,0 +1,179 @@
+require "missing_formula"
+
+describe Homebrew::MissingFormula do
+ context "::reason" do
+ subject { described_class.reason("gem") }
+
+ it { is_expected.to_not be_nil }
+ end
+
+ context "::blacklisted_reason" do
+ matcher(:be_blacklisted) do
+ match(&Homebrew::MissingFormula.method(:blacklisted_reason))
+ end
+
+ context "rubygems" do
+ %w[gem rubygem rubygems].each do |s|
+ subject { s }
+
+ it { is_expected.to be_blacklisted }
+ end
+ end
+
+ context "latex" do
+ %w[latex tex tex-live texlive TexLive].each do |s|
+ subject { s }
+
+ it { is_expected.to be_blacklisted }
+ end
+ end
+
+ context "pip" do
+ subject { "pip" }
+
+ it { is_expected.to be_blacklisted }
+ end
+
+ context "pil" do
+ subject { "pil" }
+
+ it { is_expected.to be_blacklisted }
+ end
+
+ context "macruby" do
+ subject { "MacRuby" }
+
+ it { is_expected.to be_blacklisted }
+ end
+
+ context "lzma" do
+ %w[lzma liblzma].each do |s|
+ subject { s }
+
+ it { is_expected.to be_blacklisted }
+ end
+ end
+
+ context "gtest" do
+ %w[gtest googletest google-test].each do |s|
+ subject { s }
+
+ it { is_expected.to be_blacklisted }
+ end
+ end
+
+ context "gmock" do
+ %w[gmock googlemock google-mock].each do |s|
+ subject { s }
+
+ it { is_expected.to be_blacklisted }
+ end
+ end
+
+ context "sshpass" do
+ subject { "sshpass" }
+
+ it { is_expected.to be_blacklisted }
+ end
+
+ context "gsutil" do
+ subject { "gsutil" }
+
+ it { is_expected.to be_blacklisted }
+ end
+
+ context "clojure" do
+ subject { "clojure" }
+
+ it { is_expected.to be_blacklisted }
+ end
+
+ context "osmium" do
+ %w[osmium Osmium].each do |s|
+ subject { s }
+
+ it { is_expected.to be_blacklisted }
+ end
+ end
+
+ context "gfortran" do
+ subject { "gfortran" }
+
+ it { is_expected.to be_blacklisted }
+ end
+
+ context "play" do
+ subject { "play" }
+
+ it { is_expected.to be_blacklisted }
+ end
+
+ context "haskell-platform" do
+ subject { "haskell-platform" }
+
+ it { is_expected.to be_blacklisted }
+ end
+
+ context "xcode", :needs_macos do
+ %w[xcode Xcode].each do |s|
+ subject { s }
+
+ it { is_expected.to be_blacklisted }
+ end
+ end
+ end
+
+ context "::tap_migration_reason" do
+ subject { described_class.tap_migration_reason(formula) }
+
+ before do
+ Tap.clear_cache
+ tap_path = Tap::TAP_DIRECTORY/"homebrew/homebrew-foo"
+ tap_path.mkpath
+ (tap_path/"tap_migrations.json").write <<-EOS.undent
+ { "migrated-formula": "homebrew/bar" }
+ EOS
+ end
+
+ context "with a migrated formula" do
+ let(:formula) { "migrated-formula" }
+ it { is_expected.to_not be_nil }
+ end
+
+ context "with a missing formula" do
+ let(:formula) { "missing-formula" }
+ it { is_expected.to be_nil }
+ end
+ end
+
+ context "::deleted_reason" do
+ subject { described_class.deleted_reason(formula) }
+
+ before do
+ Tap.clear_cache
+ tap_path = Tap::TAP_DIRECTORY/"homebrew/homebrew-foo"
+ tap_path.mkpath
+ (tap_path/"deleted-formula.rb").write "placeholder"
+
+ tap_path.cd do
+ shutup do
+ system "git", "init"
+ system "git", "add", "--all"
+ system "git", "commit", "-m", "initial state"
+ system "git", "rm", "deleted-formula.rb"
+ system "git", "commit", "-m", "delete formula 'deleted-formula'"
+ end
+ end
+ end
+
+ context "with a deleted formula" do
+ let(:formula) { "homebrew/foo/deleted-formula" }
+ it { is_expected.to_not be_nil }
+ end
+
+ context "with a formula that never existed" do
+ let(:formula) { "homebrew/foo/missing-formula" }
+ it { is_expected.to be_nil }
+ end
+ end
+end