diff options
| author | L. E. Segovia | 2017-11-24 01:21:30 +0000 | 
|---|---|---|
| committer | L. E. Segovia | 2017-11-24 01:21:30 +0000 | 
| commit | e0be066f8b5f4ccb313ddcf6bba1d6fed3549b69 (patch) | |
| tree | 6a3e0f0c6e3b0763cc4836e1ad1e18f6b291cf3f /Library/Homebrew/test/cask/cli | |
| parent | 7ee98eb421380afd45144ef8df1656cb22d4bb66 (diff) | |
| download | brew-e0be066f8b5f4ccb313ddcf6bba1d6fed3549b69.tar.bz2 | |
Load Casks only once (and fix style issues)
Diffstat (limited to 'Library/Homebrew/test/cask/cli')
| -rw-r--r-- | Library/Homebrew/test/cask/cli/upgrade_spec.rb | 186 | 
1 files changed, 109 insertions, 77 deletions
diff --git a/Library/Homebrew/test/cask/cli/upgrade_spec.rb b/Library/Homebrew/test/cask/cli/upgrade_spec.rb index fa2a2361c..0f15c2d5b 100644 --- a/Library/Homebrew/test/cask/cli/upgrade_spec.rb +++ b/Library/Homebrew/test/cask/cli/upgrade_spec.rb @@ -38,64 +38,78 @@ describe Hbc::CLI::Upgrade, :cask do      include_context "Proper Casks"      it "and updates all the installed Casks when no token is provided" do -      expect(Hbc::CaskLoader.load("local-caffeine")).to be_installed -      expect(Hbc.appdir.join("Caffeine.app")).to be_a_directory -      expect(Hbc::CaskLoader.load("local-caffeine").versions).to include("1.2.2") +      local_caffeine = Hbc::CaskLoader.load("local-caffeine") +      local_caffeine_route = Hbc.appdir.join("Caffeine.app") +      local_transmission = Hbc::CaskLoader.load("local-transmission") +      local_transmission_route = Hbc.appdir.join("Transmission.app") -      expect(Hbc::CaskLoader.load("local-transmission")).to be_installed -      expect(Hbc.appdir.join("Transmission.app")).to be_a_directory -      expect(Hbc::CaskLoader.load("local-transmission").versions).to include("2.60") +      expect(local_caffeine).to be_installed +      expect(local_caffeine_route).to be_a_directory +      expect(local_caffeine.versions).to include("1.2.2") + +      expect(local_transmission).to be_installed +      expect(local_transmission_route).to be_a_directory +      expect(local_transmission.versions).to include("2.60")        described_class.run -      expect(Hbc::CaskLoader.load("local-caffeine")).to be_installed -      expect(Hbc.appdir.join("Caffeine.app")).to be_a_directory -      expect(Hbc::CaskLoader.load("local-caffeine").versions).to include("1.2.3") +      expect(local_caffeine).to be_installed +      expect(local_caffeine_route).to be_a_directory +      expect(local_caffeine.versions).to include("1.2.3") -      expect(Hbc::CaskLoader.load("local-transmission")).to be_installed -      expect(Hbc.appdir.join("Transmission.app")).to be_a_directory -      expect(Hbc::CaskLoader.load("local-transmission").versions).to include("2.61") +      expect(local_transmission).to be_installed +      expect(local_transmission_route).to be_a_directory +      expect(local_transmission.versions).to include("2.61")      end      it "and updates only the Casks specified in the command line" do -      expect(Hbc::CaskLoader.load("local-caffeine")).to be_installed -      expect(Hbc.appdir.join("Caffeine.app")).to be_a_directory -      expect(Hbc::CaskLoader.load("local-caffeine").versions).to include("1.2.2") +      local_caffeine = Hbc::CaskLoader.load("local-caffeine") +      local_caffeine_route = Hbc.appdir.join("Caffeine.app") +      local_transmission = Hbc::CaskLoader.load("local-transmission") +      local_transmission_route = Hbc.appdir.join("Transmission.app") + +      expect(local_caffeine).to be_installed +      expect(local_caffeine_route).to be_a_directory +      expect(local_caffeine.versions).to include("1.2.2") -      expect(Hbc::CaskLoader.load("local-transmission")).to be_installed -      expect(Hbc.appdir.join("Transmission.app")).to be_a_directory -      expect(Hbc::CaskLoader.load("local-transmission").versions).to include("2.60") +      expect(local_transmission).to be_installed +      expect(local_transmission_route).to be_a_directory +      expect(local_transmission.versions).to include("2.60")        described_class.run("local-caffeine") -      expect(Hbc::CaskLoader.load("local-caffeine")).to be_installed -      expect(Hbc.appdir.join("Caffeine.app")).to be_a_directory -      expect(Hbc::CaskLoader.load("local-caffeine").versions).to include("1.2.3") -      expect(Hbc::CaskLoader.load("local-caffeine").versions).to_not include("1.2.2") +      expect(local_caffeine).to be_installed +      expect(local_caffeine_route).to be_a_directory +      expect(local_caffeine.versions).to include("1.2.3") -      expect(Hbc::CaskLoader.load("local-transmission")).to be_installed -      expect(Hbc.appdir.join("Transmission.app")).to be_a_directory -      expect(Hbc::CaskLoader.load("local-transmission").versions).to include("2.60") +      expect(local_transmission).to be_installed +      expect(local_transmission_route).to be_a_directory +      expect(local_transmission.versions).to include("2.60")      end      it 'updates "auto_updates" and "latest" Casks when their tokens are provided in the command line' do -      expect(Hbc::CaskLoader.load("local-caffeine")).to be_installed -      expect(Hbc.appdir.join("Caffeine.app")).to be_a_directory -      expect(Hbc::CaskLoader.load("local-caffeine").versions).to include("1.2.2") +      local_caffeine = Hbc::CaskLoader.load("local-caffeine") +      local_caffeine_route = Hbc.appdir.join("Caffeine.app") +      auto_updates = Hbc::CaskLoader.load("auto-updates") +      auto_updates_path = Hbc.appdir.join("MyFancyApp.app") -      expect(Hbc::CaskLoader.load("auto-updates")).to be_installed -      expect(Hbc.appdir.join("MyFancyApp.app")).to be_a_directory -      expect(Hbc::CaskLoader.load("auto-updates").versions).to include("2.57") +      expect(local_caffeine).to be_installed +      expect(local_caffeine_route).to be_a_directory +      expect(local_caffeine.versions).to include("1.2.2") + +      expect(auto_updates).to be_installed +      expect(auto_updates_path).to be_a_directory +      expect(auto_updates.versions).to include("2.57")        described_class.run("local-caffeine", "auto-updates") -      expect(Hbc::CaskLoader.load("local-caffeine")).to be_installed -      expect(Hbc.appdir.join("Caffeine.app")).to be_a_directory -      expect(Hbc::CaskLoader.load("local-caffeine").versions).to include("1.2.3") +      expect(local_caffeine).to be_installed +      expect(local_caffeine_route).to be_a_directory +      expect(local_caffeine.versions).to include("1.2.3") -      expect(Hbc::CaskLoader.load("auto-updates")).to be_installed -      expect(Hbc.appdir.join("MyFancyApp.app")).to be_a_directory -      expect(Hbc::CaskLoader.load("auto-updates").versions).to include("2.61") +      expect(auto_updates).to be_installed +      expect(auto_updates_path).to be_a_directory +      expect(auto_updates.versions).to include("2.61")      end    end @@ -103,47 +117,59 @@ describe Hbc::CLI::Upgrade, :cask do      include_context "Proper Casks"      it 'includes the Casks with "auto_updates true" or "version latest" with --greedy' do -      expect(Hbc::CaskLoader.load("auto-updates")).to be_installed -      expect(Hbc.appdir.join("MyFancyApp.app")).to be_a_directory -      expect(Hbc::CaskLoader.load("auto-updates").versions).to include("2.57") +      local_caffeine = Hbc::CaskLoader.load("local-caffeine") +      local_caffeine_route = Hbc.appdir.join("Caffeine.app") +      auto_updates = Hbc::CaskLoader.load("auto-updates") +      auto_updates_path = Hbc.appdir.join("MyFancyApp.app") +      local_transmission = Hbc::CaskLoader.load("local-transmission") +      local_transmission_route = Hbc.appdir.join("Transmission.app") + +      expect(local_caffeine).to be_installed +      expect(local_caffeine_route).to be_a_directory +      expect(local_caffeine.versions).to include("1.2.2") -      expect(Hbc::CaskLoader.load("local-caffeine")).to be_installed -      expect(Hbc.appdir.join("Caffeine.app")).to be_a_directory -      expect(Hbc::CaskLoader.load("local-caffeine").versions).to include("1.2.2") +      expect(auto_updates).to be_installed +      expect(auto_updates_path).to be_a_directory +      expect(auto_updates.versions).to include("2.57") -      expect(Hbc::CaskLoader.load("local-transmission").versions).to include("2.60") +      expect(local_transmission).to be_installed +      expect(local_transmission_route).to be_a_directory +      expect(local_transmission.versions).to include("2.60")        described_class.run("--greedy") -      expect(Hbc::CaskLoader.load("auto-updates")).to be_installed -      expect(Hbc.appdir.join("MyFancyApp.app")).to be_a_directory -      expect(Hbc::CaskLoader.load("auto-updates").versions).to include("2.61") +      expect(local_caffeine).to be_installed +      expect(local_caffeine_route).to be_a_directory +      expect(local_caffeine.versions).to include("1.2.3") -      expect(Hbc::CaskLoader.load("local-caffeine")).to be_installed -      expect(Hbc.appdir.join("Caffeine.app")).to be_a_directory -      expect(Hbc::CaskLoader.load("local-caffeine").versions).to include("1.2.3") +      expect(auto_updates).to be_installed +      expect(auto_updates_path).to be_a_directory +      expect(auto_updates.versions).to include("2.61") -      expect(Hbc::CaskLoader.load("local-transmission")).to be_installed -      expect(Hbc.appdir.join("Transmission.app")).to be_a_directory -      expect(Hbc::CaskLoader.load("local-transmission").versions).to include("2.61") +      expect(local_transmission).to be_installed +      expect(local_transmission_route).to be_a_directory +      expect(local_transmission.versions).to include("2.61")      end      it 'does not include the Casks with "auto_updates true" when the version did not change' do -      expect(Hbc::CaskLoader.load("auto-updates")).to be_installed -      expect(Hbc.appdir.join("MyFancyApp.app")).to be_a_directory -      expect(Hbc::CaskLoader.load("auto-updates").versions).to include("2.57") +      auto_updates = Hbc::CaskLoader.load("auto-updates") +      auto_updates_path = Hbc.appdir.join("MyFancyApp.app") + +      expect(auto_updates).to be_installed +      expect(auto_updates_path).to be_a_directory +      expect(auto_updates.versions).to include("2.57")        described_class.run("auto-updates", "--greedy") -      expect(Hbc::CaskLoader.load("auto-updates")).to be_installed -      expect(Hbc.appdir.join("MyFancyApp.app")).to be_a_directory -      expect(Hbc::CaskLoader.load("auto-updates").versions).to include("2.61") +      expect(auto_updates).to be_installed +      expect(auto_updates_path).to be_a_directory +      expect(auto_updates.versions).to include("2.61")        described_class.run("auto-updates", "--greedy") -      expect(Hbc::CaskLoader.load("auto-updates")).to be_installed -      expect(Hbc.appdir.join("MyFancyApp.app")).to be_a_directory -      expect(Hbc::CaskLoader.load("auto-updates").versions).to include("2.61") +      expect(auto_updates).to be_installed +      expect(auto_updates_path).to be_a_directory +      expect(auto_updates.versions).to include("2.61")      end    end @@ -155,33 +181,39 @@ describe Hbc::CLI::Upgrade, :cask do      EOS      it "restores the old Cask if the upgrade failed" do -      expect(Hbc::CaskLoader.load("will-fail-if-upgraded")).to be_installed -      expect(Hbc.appdir.join("container")).to be_a_file -      expect(Hbc::CaskLoader.load("will-fail-if-upgraded").versions).to include("1.2.2") +      will_fail_if_upgraded = Hbc::CaskLoader.load("will-fail-if-upgraded") +      will_fail_if_upgraded_path = Hbc.appdir.join("container") + +      expect(will_fail_if_upgraded).to be_installed +      expect(will_fail_if_upgraded_path).to be_a_file +      expect(will_fail_if_upgraded.versions).to include("1.2.2")        expect {          described_class.run("will-fail-if-upgraded")        }.to raise_error(Hbc::CaskError).and output(output_reverted).to_stderr -      expect(Hbc::CaskLoader.load("will-fail-if-upgraded")).to be_installed -      expect(Hbc.appdir.join("container")).to be_a_file -      expect(Hbc::CaskLoader.load("will-fail-if-upgraded").versions).to include("1.2.2") -      expect(Hbc::CaskLoader.load("will-fail-if-upgraded").staged_path).to_not exist +      expect(will_fail_if_upgraded).to be_installed +      expect(will_fail_if_upgraded_path).to be_a_file +      expect(will_fail_if_upgraded.versions).to include("1.2.2") +      expect(will_fail_if_upgraded.staged_path).to_not exist      end      it "by not restoring the old Cask if the upgrade failed pre-install" do -      expect(Hbc::CaskLoader.load("bad-checksum")).to be_installed -      expect(Hbc.appdir.join("Caffeine.app")).to be_a_directory -      expect(Hbc::CaskLoader.load("bad-checksum").versions).to include("1.2.2") +      bad_checksum = Hbc::CaskLoader.load("bad-checksum") +      bad_checksum_path = Hbc.appdir.join("Caffeine.app") + +      expect(bad_checksum).to be_installed +      expect(bad_checksum_path).to be_a_directory +      expect(bad_checksum.versions).to include("1.2.2")        expect {          described_class.run("bad-checksum") -      }.to raise_error(Hbc::CaskSha256MismatchError).and (not_to_output output_reverted).to_stderr +      }.to raise_error(Hbc::CaskSha256MismatchError).and(not_to_output(output_reverted).to_stderr) -      expect(Hbc::CaskLoader.load("bad-checksum")).to be_installed -      expect(Hbc.appdir.join("Caffeine.app")).to be_a_directory -      expect(Hbc::CaskLoader.load("bad-checksum").versions).to include("1.2.2") -      expect(Hbc::CaskLoader.load("bad-checksum").staged_path).to_not exist +      expect(bad_checksum).to be_installed +      expect(bad_checksum_path).to be_a_directory +      expect(bad_checksum.versions).to include("1.2.2") +      expect(bad_checksum.staged_path).to_not exist      end    end  end  | 
