diff options
| author | Markus Reiter | 2017-02-08 13:25:10 +0100 |
|---|---|---|
| committer | Markus Reiter | 2017-02-10 17:19:19 +0100 |
| commit | 7b2d8ed4b3a1a71da59b1aa1859e844c37ba24c2 (patch) | |
| tree | 3163a050980a2906cb9d20bcb219be797236ea5e /Library | |
| parent | bcaa13b7507afaf7f957a2d815884a8263461d31 (diff) | |
| download | brew-7b2d8ed4b3a1a71da59b1aa1859e844c37ba24c2.tar.bz2 | |
Convert Options test to spec.
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/cask/spec/cask/cli/options_spec.rb (renamed from Library/Homebrew/cask/test/cask/cli/options_test.rb) | 50 | ||||
| -rw-r--r-- | Library/Homebrew/cask/spec/spec_helper.rb | 32 |
2 files changed, 50 insertions, 32 deletions
diff --git a/Library/Homebrew/cask/test/cask/cli/options_test.rb b/Library/Homebrew/cask/spec/cask/cli/options_spec.rb index d49e7827b..a4381213a 100644 --- a/Library/Homebrew/cask/test/cask/cli/options_test.rb +++ b/Library/Homebrew/cask/spec/cask/cli/options_spec.rb @@ -1,10 +1,10 @@ -require "test_helper" +require "spec_helper" describe Hbc::CLI do it "supports setting the appdir" do Hbc::CLI.process_options %w[help --appdir=/some/path/foo] - Hbc.appdir.must_equal Pathname("/some/path/foo") + expect(Hbc.appdir).to eq(Pathname.new("/some/path/foo")) end it "supports setting the appdir from ENV" do @@ -12,13 +12,13 @@ describe Hbc::CLI do Hbc::CLI.process_options %w[help] - Hbc.appdir.must_equal Pathname("/some/path/bar") + expect(Hbc.appdir).to eq(Pathname.new("/some/path/bar")) end it "supports setting the prefpanedir" do Hbc::CLI.process_options %w[help --prefpanedir=/some/path/foo] - Hbc.prefpanedir.must_equal Pathname("/some/path/foo") + expect(Hbc.prefpanedir).to eq(Pathname.new("/some/path/foo")) end it "supports setting the prefpanedir from ENV" do @@ -26,13 +26,13 @@ describe Hbc::CLI do Hbc::CLI.process_options %w[help] - Hbc.prefpanedir.must_equal Pathname("/some/path/bar") + expect(Hbc.prefpanedir).to eq(Pathname.new("/some/path/bar")) end it "supports setting the qlplugindir" do Hbc::CLI.process_options %w[help --qlplugindir=/some/path/foo] - Hbc.qlplugindir.must_equal Pathname("/some/path/foo") + expect(Hbc.qlplugindir).to eq(Pathname.new("/some/path/foo")) end it "supports setting the qlplugindir from ENV" do @@ -40,13 +40,13 @@ describe Hbc::CLI do Hbc::CLI.process_options %w[help] - Hbc.qlplugindir.must_equal Pathname("/some/path/bar") + expect(Hbc.qlplugindir).to eq(Pathname.new("/some/path/bar")) end it "supports setting the colorpickerdir" do Hbc::CLI.process_options %w[help --colorpickerdir=/some/path/foo] - Hbc.colorpickerdir.must_equal Pathname("/some/path/foo") + expect(Hbc.colorpickerdir).to eq(Pathname.new("/some/path/foo")) end it "supports setting the colorpickerdir from ENV" do @@ -54,13 +54,13 @@ describe Hbc::CLI do Hbc::CLI.process_options %w[help] - Hbc.colorpickerdir.must_equal Pathname("/some/path/bar") + expect(Hbc.colorpickerdir).to eq(Pathname.new("/some/path/bar")) end it "supports setting the dictionarydir" do Hbc::CLI.process_options %w[help --dictionarydir=/some/path/foo] - Hbc.dictionarydir.must_equal Pathname("/some/path/foo") + expect(Hbc.dictionarydir).to eq(Pathname.new("/some/path/foo")) end it "supports setting the dictionarydir from ENV" do @@ -68,13 +68,13 @@ describe Hbc::CLI do Hbc::CLI.process_options %w[help] - Hbc.dictionarydir.must_equal Pathname("/some/path/bar") + expect(Hbc.dictionarydir).to eq(Pathname.new("/some/path/bar")) end it "supports setting the fontdir" do Hbc::CLI.process_options %w[help --fontdir=/some/path/foo] - Hbc.fontdir.must_equal Pathname("/some/path/foo") + expect(Hbc.fontdir).to eq(Pathname.new("/some/path/foo")) end it "supports setting the fontdir from ENV" do @@ -82,13 +82,13 @@ describe Hbc::CLI do Hbc::CLI.process_options %w[help] - Hbc.fontdir.must_equal Pathname("/some/path/bar") + expect(Hbc.fontdir).to eq(Pathname.new("/some/path/bar")) end it "supports setting the servicedir" do Hbc::CLI.process_options %w[help --servicedir=/some/path/foo] - Hbc.servicedir.must_equal Pathname("/some/path/foo") + expect(Hbc.servicedir).to eq(Pathname.new("/some/path/foo")) end it "supports setting the servicedir from ENV" do @@ -96,36 +96,36 @@ describe Hbc::CLI do Hbc::CLI.process_options %w[help] - Hbc.servicedir.must_equal Pathname("/some/path/bar") + expect(Hbc.servicedir).to eq(Pathname.new("/some/path/bar")) end it "allows additional options to be passed through" do rest = Hbc::CLI.process_options %w[edit foo --create --appdir=/some/path/qux] - Hbc.appdir.must_equal Pathname("/some/path/qux") - rest.must_equal %w[edit foo --create] + expect(Hbc.appdir).to eq(Pathname.new("/some/path/qux")) + expect(rest).to eq(%w[edit foo --create]) end describe "when a mandatory argument is missing" do it "shows a user-friendly error message" do - lambda { + expect { Hbc::CLI.process_options %w[install -f] - }.must_raise Hbc::CaskError + }.to raise_error(Hbc::CaskError) end end describe "given an ambiguous option" do it "shows a user-friendly error message" do - lambda { + expect { Hbc::CLI.process_options %w[edit -c] - }.must_raise Hbc::CaskError + }.to raise_error(Hbc::CaskError) end end describe "--debug" do it "sets the Cask debug method to true" do Hbc::CLI.process_options %w[help --debug] - Hbc.debug.must_equal true + expect(Hbc.debug).to be true Hbc.debug = false end end @@ -133,12 +133,8 @@ describe Hbc::CLI do describe "--help" do it "sets the Cask help method to true" do Hbc::CLI.process_options %w[foo --help] - Hbc.help.must_equal true + expect(Hbc.help).to be true Hbc.help = false end end - - after do - ENV["HOMEBREW_CASK_OPTS"] = nil - end end diff --git a/Library/Homebrew/cask/spec/spec_helper.rb b/Library/Homebrew/cask/spec/spec_helper.rb index 059d13a3a..13ed746b5 100644 --- a/Library/Homebrew/cask/spec/spec_helper.rb +++ b/Library/Homebrew/cask/spec/spec_helper.rb @@ -37,11 +37,33 @@ FileUtils.ln_s Pathname.new(ENV["HOMEBREW_LIBRARY"]).join("Taps", "caskroom", "h RSpec.configure do |config| config.order = :random config.include(Test::Helper::Shutup) - config.after(:each) do - FileUtils.rm_rf [ - Hbc.appdir.children, - Hbc.caskroom.children, - ] + config.around(:each) do |example| + begin + @__appdir = Hbc.appdir + @__caskroom = Hbc.caskroom + @__prefpanedir = Hbc.prefpanedir + @__qlplugindir = Hbc.qlplugindir + @__servicedir = Hbc.servicedir + + @__argv = ARGV.dup + @__env = ENV.to_hash # dup doesn't work on ENV + + example.run + ensure + ARGV.replace(@__argv) + ENV.replace(@__env) + + Hbc.appdir = @__appdir + Hbc.caskroom = @__caskroom + Hbc.prefpanedir = @__prefpanedir + Hbc.qlplugindir = @__qlplugindir + Hbc.servicedir = @__servicedir + + FileUtils.rm_rf [ + Hbc.appdir.children, + Hbc.caskroom.children, + ] + end end end |
