From 4b57017a9011e656f016f826a3a7d09b7cacf9ad Mon Sep 17 00:00:00 2001
From: Markus Reiter <me@reitermark.us>
Date: Thu, 23 Feb 2017 06:07:14 +0100
Subject: [PATCH] Convert `brew migrate` test to spec.

---
 Library/Homebrew/test/cmd/migrate_spec.rb | 46 +++++++++++++++++++++++
 Library/Homebrew/test/migrate_test.rb     | 18 ---------
 2 files changed, 46 insertions(+), 18 deletions(-)
 create mode 100644 Library/Homebrew/test/cmd/migrate_spec.rb
 delete mode 100644 Library/Homebrew/test/migrate_test.rb

diff --git a/Library/Homebrew/test/cmd/migrate_spec.rb b/Library/Homebrew/test/cmd/migrate_spec.rb
new file mode 100644
index 0000000000..18c94fa018
--- /dev/null
+++ b/Library/Homebrew/test/cmd/migrate_spec.rb
@@ -0,0 +1,46 @@
+describe "brew migrate", :integration_test do
+  before(:each) do
+    setup_test_formula "testball1"
+    setup_test_formula "testball2"
+  end
+
+  it "fails when no argument is given" do
+    expect { brew "migrate" }
+      .to output(/Invalid usage/).to_stderr
+      .and not_to_output.to_stdout
+      .and be_a_failure
+  end
+
+  it "fails when a given Formula doesn't exist" do
+    expect { brew "migrate", "testball" }
+      .to output(/No available formula with the name "testball"/).to_stderr
+      .and not_to_output.to_stdout
+      .and be_a_failure
+  end
+
+  it "fails if a given Formula doesn't replace another one" do
+    expect { brew "migrate", "testball1" }
+      .to output(/testball1 doesn't replace any formula/).to_stderr
+      .and not_to_output.to_stdout
+      .and be_a_failure
+  end
+
+  it "migrates a renamed Formula" do
+    install_and_rename_coretap_formula "testball1", "testball2"
+
+    expect { brew "migrate", "testball1" }
+      .to output(/Migrating testball1 to testball2/).to_stdout
+      .and not_to_output.to_stderr
+      .and be_a_success
+  end
+
+  it "fails if a given Formula is not installed" do
+    install_and_rename_coretap_formula "testball1", "testball2"
+    (HOMEBREW_CELLAR/"testball1").rmtree
+
+    expect { brew "migrate", "testball1" }
+      .to output(/Error: No such keg/).to_stderr
+      .and not_to_output.to_stdout
+      .and be_a_failure
+  end
+end
diff --git a/Library/Homebrew/test/migrate_test.rb b/Library/Homebrew/test/migrate_test.rb
deleted file mode 100644
index 17929d0383..0000000000
--- a/Library/Homebrew/test/migrate_test.rb
+++ /dev/null
@@ -1,18 +0,0 @@
-require "testing_env"
-
-class IntegrationCommandTestMigrate < IntegrationCommandTestCase
-  def test_migrate
-    setup_test_formula "testball1"
-    setup_test_formula "testball2"
-    assert_match "Invalid usage", cmd_fail("migrate")
-    assert_match "No available formula with the name \"testball\"",
-      cmd_fail("migrate", "testball")
-    assert_match "testball1 doesn't replace any formula",
-      cmd_fail("migrate", "testball1")
-
-    install_and_rename_coretap_formula "testball1", "testball2"
-    assert_match "Migrating testball1 to testball2", cmd("migrate", "testball1")
-    (HOMEBREW_CELLAR/"testball1").unlink
-    assert_match "Error: No such keg", cmd_fail("migrate", "testball1")
-  end
-end
-- 
GitLab