diff options
author | David RodrÃguez <deivid.rodriguez@riseup.net> | 2019-02-07 14:45:59 +0100 |
---|---|---|
committer | David RodrÃguez <deivid.rodriguez@riseup.net> | 2019-02-14 00:45:09 +0100 |
commit | dac69e7b21cb05ad9df27941aab004abcb80b4ef (patch) | |
tree | 01aa5e4bc46d04803bc7cbf5ea3271202640a1cc /spec/commands | |
parent | 1cc82538dbd189a56fc5bdeed9ef5eb325b5bb1c (diff) | |
download | bundler-dac69e7b21cb05ad9df27941aab004abcb80b4ef.tar.gz |
Split stderr and stdout in specs
Diffstat (limited to 'spec/commands')
-rw-r--r-- | spec/commands/add_spec.rb | 32 | ||||
-rw-r--r-- | spec/commands/binstubs_spec.rb | 16 | ||||
-rw-r--r-- | spec/commands/check_spec.rb | 18 | ||||
-rw-r--r-- | spec/commands/clean_spec.rb | 6 | ||||
-rw-r--r-- | spec/commands/exec_spec.rb | 11 | ||||
-rw-r--r-- | spec/commands/help_spec.rb | 2 | ||||
-rw-r--r-- | spec/commands/info_spec.rb | 2 | ||||
-rw-r--r-- | spec/commands/init_spec.rb | 6 | ||||
-rw-r--r-- | spec/commands/install_spec.rb | 40 | ||||
-rw-r--r-- | spec/commands/licenses_spec.rb | 2 | ||||
-rw-r--r-- | spec/commands/list_spec.rb | 8 | ||||
-rw-r--r-- | spec/commands/lock_spec.rb | 6 | ||||
-rw-r--r-- | spec/commands/newgem_spec.rb | 8 | ||||
-rw-r--r-- | spec/commands/open_spec.rb | 4 | ||||
-rw-r--r-- | spec/commands/outdated_spec.rb | 18 | ||||
-rw-r--r-- | spec/commands/package_spec.rb | 6 | ||||
-rw-r--r-- | spec/commands/pristine_spec.rb | 10 | ||||
-rw-r--r-- | spec/commands/remove_spec.rb | 16 | ||||
-rw-r--r-- | spec/commands/show_spec.rb | 50 | ||||
-rw-r--r-- | spec/commands/update_spec.rb | 14 |
20 files changed, 129 insertions, 146 deletions
diff --git a/spec/commands/add_spec.rb b/spec/commands/add_spec.rb index 9f11adbcf8..dac1d0f6b9 100644 --- a/spec/commands/add_spec.rb +++ b/spec/commands/add_spec.rb @@ -106,23 +106,23 @@ RSpec.describe "bundle add" do it "shows error message when version is not formatted correctly" do bundle "add 'foo' -v='~>1 . 0'" - expect(out).to match("Invalid gem requirement pattern '~>1 . 0'") + expect(err).to match("Invalid gem requirement pattern '~>1 . 0'") end it "shows error message when gem cannot be found" do bundle "add 'werk_it'" - expect(out).to match("Could not find gem 'werk_it' in") + expect(err).to match("Could not find gem 'werk_it' in") bundle "add 'werk_it' -s='file://#{gem_repo2}'" - expect(out).to match("Could not find gem 'werk_it' in rubygems repository") + expect(err).to match("Could not find gem 'werk_it' in rubygems repository") end it "shows error message when source cannot be reached" do bundle "add 'baz' --source='http://badhostasdf'" - expect(out).to include("Could not reach host badhostasdf. Check your network connection and try again.") + expect(err).to include("Could not reach host badhostasdf. Check your network connection and try again.") bundle "add 'baz' --source='file://does/not/exist'" - expect(out).to include("Could not fetch specs from file://does/not/exist/") + expect(err).to include("Could not fetch specs from file://does/not/exist/") end describe "with --optimistic" do @@ -153,7 +153,7 @@ RSpec.describe "bundle add" do it "throws error" do bundle "add 'foo' --strict --optimistic" - expect(out).to include("You can not specify `--strict` and `--optimistic` at the same time") + expect(err).to include("You can not specify `--strict` and `--optimistic` at the same time") end end @@ -168,8 +168,8 @@ RSpec.describe "bundle add" do it "throws error if any of the specified gems are present in the gemfile with different version" do bundle "add weakling bar" - expect(out).to include("You cannot specify the same gem twice with different version requirements") - expect(out).to include("You specified: weakling (~> 0.0.1) and weakling (>= 0).") + expect(err).to include("You cannot specify the same gem twice with different version requirements") + expect(err).to include("You specified: weakling (~> 0.0.1) and weakling (>= 0).") end end @@ -182,8 +182,8 @@ RSpec.describe "bundle add" do bundle "add 'rack' --version=1.1" - expect(out).to include("You cannot specify the same gem twice with different version requirements") - expect(out).to include("If you want to update the gem version, run `bundle update rack`. You may also need to change the version requirement specified in the Gemfile if it's too restrictive") + expect(err).to include("You cannot specify the same gem twice with different version requirements") + expect(err).to include("If you want to update the gem version, run `bundle update rack`. You may also need to change the version requirement specified in the Gemfile if it's too restrictive") end it "shows error when added without version requirements" do @@ -194,9 +194,9 @@ RSpec.describe "bundle add" do bundle "add 'rack'" - expect(out).to include("Gem already added.") - expect(out).to include("You cannot specify the same gem twice with different version requirements") - expect(out).not_to include("If you want to update the gem version, run `bundle update rack`. You may also need to change the version requirement specified in the Gemfile if it's too restrictive") + expect(err).to include("Gem already added.") + expect(err).to include("You cannot specify the same gem twice with different version requirements") + expect(err).not_to include("If you want to update the gem version, run `bundle update rack`. You may also need to change the version requirement specified in the Gemfile if it's too restrictive") end end @@ -209,9 +209,9 @@ RSpec.describe "bundle add" do bundle "add 'rack' --version=1.1" - expect(out).to include("You cannot specify the same gem twice with different version requirements") - expect(out).to include("If you want to update the gem version, run `bundle update rack`.") - expect(out).not_to include("You may also need to change the version requirement specified in the Gemfile if it's too restrictive") + expect(err).to include("You cannot specify the same gem twice with different version requirements") + expect(err).to include("If you want to update the gem version, run `bundle update rack`.") + expect(err).not_to include("You may also need to change the version requirement specified in the Gemfile if it's too restrictive") end end end diff --git a/spec/commands/binstubs_spec.rb b/spec/commands/binstubs_spec.rb index 2f014f2631..9874a4d138 100644 --- a/spec/commands/binstubs_spec.rb +++ b/spec/commands/binstubs_spec.rb @@ -59,7 +59,7 @@ RSpec.describe "bundle binstubs <gem>" do bundle "binstubs" expect(exitstatus).to eq(1) if exitstatus - expect(out).to include("`bundle binstubs` needs at least one gem to run.") + expect(err).to include("`bundle binstubs` needs at least one gem to run.") end it "displays an error when used with --all and gems" do @@ -278,7 +278,7 @@ RSpec.describe "bundle binstubs <gem>" do bundle "binstubs doesnt_exist" expect(exitstatus).to eq(7) if exitstatus - expect(out).to include("Could not find gem 'doesnt_exist'.") + expect(err).to include("Could not find gem 'doesnt_exist'.") end end @@ -350,8 +350,8 @@ RSpec.describe "bundle binstubs <gem>" do expect(bundled_app("bin/rackup")).to exist expect(File.read(bundled_app("bin/rackup"))).to eq("OMG") - expect(out).to include("Skipped rackup") - expect(out).to include("overwrite skipped stubs, use --force") + expect(err).to include("Skipped rackup") + expect(err).to include("overwrite skipped stubs, use --force") end context "when using --force" do @@ -382,8 +382,8 @@ RSpec.describe "bundle binstubs <gem>" do G bundle "binstubs rack-obama" - expect(out).to include("rack-obama has no executables") - expect(out).to include("rack has: rackup") + expect(err).to include("rack-obama has no executables") + expect(err).to include("rack has: rackup") end it "works if child gems don't have bins" do @@ -393,7 +393,7 @@ RSpec.describe "bundle binstubs <gem>" do G bundle "binstubs actionpack" - expect(out).to include("no executables for the gem actionpack") + expect(err).to include("no executables for the gem actionpack") end it "works if the gem has development dependencies" do @@ -403,7 +403,7 @@ RSpec.describe "bundle binstubs <gem>" do G bundle "binstubs with_development_dependency" - expect(out).to include("no executables for the gem with_development_dependency") + expect(err).to include("no executables for the gem with_development_dependency") end end diff --git a/spec/commands/check_spec.rb b/spec/commands/check_spec.rb index f2af446fbf..b16cfc37e7 100644 --- a/spec/commands/check_spec.rb +++ b/spec/commands/check_spec.rb @@ -58,7 +58,7 @@ RSpec.describe "bundle check" do G bundle :check - expect(out).to include("Bundler can't satisfy your Gemfile's dependencies.") + expect(err).to include("Bundler can't satisfy your Gemfile's dependencies.") end it "prints a generic error if a Gemfile.lock does not exist and a toplevel dependency does not exist" do @@ -69,7 +69,7 @@ RSpec.describe "bundle check" do bundle :check expect(exitstatus).to be > 0 if exitstatus - expect(out).to include("Bundler can't satisfy your Gemfile's dependencies.") + expect(err).to include("Bundler can't satisfy your Gemfile's dependencies.") end it "prints a generic message if you changed your lockfile" do @@ -89,7 +89,7 @@ RSpec.describe "bundle check" do G bundle :check - expect(out).to include("Bundler can't satisfy your Gemfile's dependencies.") + expect(err).to include("Bundler can't satisfy your Gemfile's dependencies.") end it "remembers --without option from install", :bundler => "< 2" do @@ -132,7 +132,7 @@ RSpec.describe "bundle check" do G bundle "check" - expect(out).to include("* rack (1.0.0)") + expect(err).to include("* rack (1.0.0)") expect(exitstatus).to eq(1) if exitstatus end @@ -201,13 +201,13 @@ RSpec.describe "bundle check" do it "outputs an error when the default Gemfile is not found" do bundle :check expect(exitstatus).to eq(10) if exitstatus - expect(out).to include("Could not locate Gemfile") + expect(err).to include("Could not locate Gemfile") end it "does not output fatal error message" do bundle :check expect(exitstatus).to eq(10) if exitstatus - expect(out).not_to include("Unfortunately, a fatal error has occurred. ") + expect(err).not_to include("Unfortunately, a fatal error has occurred. ") end it "should not crash when called multiple times on a new machine" do @@ -269,7 +269,7 @@ RSpec.describe "bundle check" do bundle "check --path vendor/bundle" expect(exitstatus).to eq(1) if exitstatus - expect(out).to match(/The following gems are missing/) + expect(err).to match(/The following gems are missing/) end end @@ -292,8 +292,8 @@ RSpec.describe "bundle check" do it "shows what is missing with the current Gemfile if it is not satisfied" do simulate_new_machine bundle :check - expect(out).to match(/The following gems are missing/) - expect(out).to include("* rack (1.0") + expect(err).to match(/The following gems are missing/) + expect(err).to include("* rack (1.0") end end diff --git a/spec/commands/clean_spec.rb b/spec/commands/clean_spec.rb index 37cbeeb4e7..2ed8b36a85 100644 --- a/spec/commands/clean_spec.rb +++ b/spec/commands/clean_spec.rb @@ -286,7 +286,7 @@ RSpec.describe "bundle clean" do bundle :clean expect(exitstatus).to eq(15) if exitstatus - expect(out).to include("--force") + expect(err).to include("--force") end # handling bundle clean upgrade path from the pre's @@ -516,8 +516,8 @@ RSpec.describe "bundle clean" do bundle :clean, :force => true - expect(out).to include(system_gem_path.to_s) - expect(out).to include("grant write permissions") + expect(err).to include(system_gem_path.to_s) + expect(err).to include("grant write permissions") sys_exec "gem list" expect(out).to include("foo (1.0)") diff --git a/spec/commands/exec_spec.rb b/spec/commands/exec_spec.rb index b209edc033..04e15757fd 100644 --- a/spec/commands/exec_spec.rb +++ b/spec/commands/exec_spec.rb @@ -199,8 +199,8 @@ RSpec.describe "bundle exec" do bundle "exec foobarbaz" expect(exitstatus).to eq(127) if exitstatus - expect(out).to include("bundler: command not found: foobarbaz") - expect(out).to include("Install missing gem executables with `bundle install`") + expect(err).to include("bundler: command not found: foobarbaz") + expect(err).to include("Install missing gem executables with `bundle install`") end it "errors nicely when the argument is not executable" do @@ -211,7 +211,7 @@ RSpec.describe "bundle exec" do bundle "exec touch foo" bundle "exec ./foo" expect(exitstatus).to eq(126) if exitstatus - expect(out).to include("bundler: not executable: ./foo") + expect(err).to include("bundler: not executable: ./foo") end it "errors nicely when no arguments are passed" do @@ -221,7 +221,7 @@ RSpec.describe "bundle exec" do bundle "exec" expect(exitstatus).to eq(128) if exitstatus - expect(out).to include("bundler: exec needs a command to run") + expect(err).to include("bundler: exec needs a command to run") end it "raises a helpful error when exec'ing to something outside of the bundle", :ruby_repo, :rubygems => ">= 2.5.2" do @@ -662,7 +662,8 @@ RSpec.describe "bundle exec" do end let(:exit_code) { Bundler::GemNotFound.new.status_code } - let(:expected) { <<-EOS.strip } + let(:expected) { "" } + let(:expected_err) { <<-EOS.strip } \e[31mCould not find gem 'rack (= 2)' in locally installed gems. The source contains 'rack' at: 1.0.0\e[0m \e[33mRun `bundle install` to install missing gems.\e[0m diff --git a/spec/commands/help_spec.rb b/spec/commands/help_spec.rb index 56b1b6f722..deea079c59 100644 --- a/spec/commands/help_spec.rb +++ b/spec/commands/help_spec.rb @@ -81,7 +81,7 @@ RSpec.describe "bundle help" do with_fake_man do bundle "instill -h" end - expect(out).to include('Could not find command "instill".') + expect(err).to include('Could not find command "instill".') end it "is called when only using the --help flag" do diff --git a/spec/commands/info_spec.rb b/spec/commands/info_spec.rb index a9ab8fc210..39e97a05f3 100644 --- a/spec/commands/info_spec.rb +++ b/spec/commands/info_spec.rb @@ -20,7 +20,7 @@ RSpec.describe "bundle info" do context "given a gem that is not installed" do it "prints missing gem error" do bundle "info foo" - expect(out).to eq "Could not find gem 'foo'." + expect(err).to eq "Could not find gem 'foo'." end end diff --git a/spec/commands/init_spec.rb b/spec/commands/init_spec.rb index 9b5bd95814..9af911ba3f 100644 --- a/spec/commands/init_spec.rb +++ b/spec/commands/init_spec.rb @@ -26,7 +26,7 @@ RSpec.describe "bundle init" do it "notifies the user that an existing Gemfile already exists" do bundle :init - expect(out).to include("Gemfile already exists") + expect(err).to include("Gemfile already exists") end end @@ -43,7 +43,7 @@ RSpec.describe "bundle init" do it "notifies the user that an existing gems.rb already exists" do bundle :init - expect(out).to include("gems.rb already exists") + expect(err).to include("gems.rb already exists") end end @@ -77,7 +77,7 @@ RSpec.describe "bundle init" do bundle :init end - expect(out).to include("directory is not writable") + expect(err).to include("directory is not writable") expect(Dir[bundled_app("#{subdir}/*")]).to be_empty end end diff --git a/spec/commands/install_spec.rb b/spec/commands/install_spec.rb index 6949eeb65f..1515eed752 100644 --- a/spec/commands/install_spec.rb +++ b/spec/commands/install_spec.rb @@ -8,7 +8,7 @@ RSpec.describe "bundle install with gem sources" do G bundle :install - expect(out).to match(/no dependencies/) + expect(err).to match(/no dependencies/) end it "does not make a lockfile if the install fails" do @@ -311,7 +311,7 @@ RSpec.describe "bundle install with gem sources" do G bundle :install - expect(out).to include("Your Gemfile has no gem server sources") + expect(err).to include("Your Gemfile has no gem server sources") end it "creates a Gemfile.lock on a blank Gemfile" do @@ -329,9 +329,9 @@ RSpec.describe "bundle install with gem sources" do gem "rack" G - expect(out).to include("Your Gemfile lists the gem rack (>= 0) more than once.") - expect(out).to include("Remove any duplicate entries and specify the gem only once (per group).") - expect(out).to include("While it's not a problem now, it could cause errors if you change the version of one of them later.") + expect(err).to include("Your Gemfile lists the gem rack (>= 0) more than once.") + expect(err).to include("Remove any duplicate entries and specify the gem only once (per group).") + expect(err).to include("While it's not a problem now, it could cause errors if you change the version of one of them later.") end it "with same versions" do @@ -341,9 +341,9 @@ RSpec.describe "bundle install with gem sources" do gem "rack", "1.0" G - expect(out).to include("Your Gemfile lists the gem rack (= 1.0) more than once.") - expect(out).to include("Remove any duplicate entries and specify the gem only once (per group).") - expect(out).to include("While it's not a problem now, it could cause errors if you change the version of one of them later.") + expect(err).to include("Your Gemfile lists the gem rack (= 1.0) more than once.") + expect(err).to include("Remove any duplicate entries and specify the gem only once (per group).") + expect(err).to include("While it's not a problem now, it could cause errors if you change the version of one of them later.") end end @@ -355,8 +355,8 @@ RSpec.describe "bundle install with gem sources" do gem "rack", "1.0" G - expect(out).to include("You cannot specify the same gem twice with different version requirements") - expect(out).to include("You specified: rack (>= 0) and rack (= 1.0).") + expect(err).to include("You cannot specify the same gem twice with different version requirements") + expect(err).to include("You specified: rack (>= 0) and rack (= 1.0).") end it "when different versions of both dependencies are specified" do @@ -366,8 +366,8 @@ RSpec.describe "bundle install with gem sources" do gem "rack", "1.1" G - expect(out).to include("You cannot specify the same gem twice with different version requirements") - expect(out).to include("You specified: rack (= 1.0) and rack (= 1.1).") + expect(err).to include("You cannot specify the same gem twice with different version requirements") + expect(err).to include("You specified: rack (= 1.0) and rack (= 1.1).") end end @@ -380,8 +380,8 @@ RSpec.describe "bundle install with gem sources" do G bundle :install, :artifice => nil - expect(out).to include("Could not fetch specs from http://localhost:9384/") - expect(out).not_to include("file://") + expect(err).to include("Could not fetch specs from http://localhost:9384/") + expect(err).not_to include("file://") end it "fails gracefully when downloading an invalid specification from the full index", :rubygems => "2.5" do @@ -442,7 +442,7 @@ RSpec.describe "bundle install with gem sources" do ::RUBY_VERSION = '2.0.1' ruby '~> 2.2' G - expect(out).to include("Your Ruby version is 2.0.1, but your Gemfile specified ~> 2.2") + expect(err).to include("Your Ruby version is 2.0.1, but your Gemfile specified ~> 2.2") end end @@ -529,8 +529,8 @@ RSpec.describe "bundle install with gem sources" do G bundle :install, :quiet => true - expect(out).to include("Could not find gem 'rack'") - expect(out).to_not include("Your Gemfile has no gem server sources") + expect(err).to include("Could not find gem 'rack'") + expect(err).to_not include("Your Gemfile has no gem server sources") end end @@ -547,8 +547,8 @@ RSpec.describe "bundle install with gem sources" do FileUtils.chmod(0o500, bundled_app("vendor")) bundle :install, forgotten_command_line_options(:path => "vendor") - expect(out).to include(bundled_app("vendor").to_s) - expect(out).to include("grant write permissions") + expect(err).to include(bundled_app("vendor").to_s) + expect(err).to include("grant write permissions") end end @@ -580,7 +580,7 @@ RSpec.describe "bundle install with gem sources" do it "should display a helpful message explaining how to fix it" do bundle :install, :env => { "BUNDLE_RUBYGEMS__ORG" => "user:pass{word" } expect(exitstatus).to eq(17) if exitstatus - expect(out).to eq("Please CGI escape your usernames and passwords before " \ + expect(err).to eq("Please CGI escape your usernames and passwords before " \ "setting them for authentication.") end end diff --git a/spec/commands/licenses_spec.rb b/spec/commands/licenses_spec.rb index 144931fb27..4b96c6c7e2 100644 --- a/spec/commands/licenses_spec.rb +++ b/spec/commands/licenses_spec.rb @@ -12,7 +12,7 @@ RSpec.describe "bundle licenses" do it "prints license information for all gems in the bundle" do bundle "licenses" - expect(out).to include("bundler: Unknown") + expect(err).to include("bundler: Unknown") expect(out).to include("with_license: MIT") end diff --git a/spec/commands/list_spec.rb b/spec/commands/list_spec.rb index 5305176c65..fcce34cc72 100644 --- a/spec/commands/list_spec.rb +++ b/spec/commands/list_spec.rb @@ -14,7 +14,7 @@ RSpec.describe "bundle list", :bundler => "2" do it "raises an error" do bundle "list --name-only --paths" - expect(out).to eq "The `--name-only` and `--paths` options cannot be used together" + expect(err).to eq "The `--name-only` and `--paths` options cannot be used together" end end @@ -22,7 +22,7 @@ RSpec.describe "bundle list", :bundler => "2" do it "raises an error" do bundle "list --without-group dev --only-group test" - expect(out).to eq "The `--only-group` and `--without-group` options cannot be used together" + expect(err).to eq "The `--only-group` and `--without-group` options cannot be used together" end end @@ -40,7 +40,7 @@ RSpec.describe "bundle list", :bundler => "2" do it "raises an error" do bundle "list --without-group random" - expect(out).to eq "`random` group could not be found." + expect(err).to eq "`random` group could not be found." end end end @@ -59,7 +59,7 @@ RSpec.describe "bundle list", :bundler => "2" do it "raises an error" do bundle "list --only-group random" - expect(out).to eq "`random` group could not be found." + expect(err).to eq "`random` group could not be found." end end end diff --git a/spec/commands/lock_spec.rb b/spec/commands/lock_spec.rb index 38dfc563fc..f876d719cc 100644 --- a/spec/commands/lock_spec.rb +++ b/spec/commands/lock_spec.rb @@ -86,7 +86,7 @@ RSpec.describe "bundle lock" do it "does not fetch remote specs when using the --local option" do bundle "lock --update --local" - expect(out).to match(/sources listed in your Gemfile|installed locally/) + expect(err).to match(/sources listed in your Gemfile|installed locally/) end it "works with --gemfile flag" do @@ -144,7 +144,7 @@ RSpec.describe "bundle lock" do lockfile @lockfile bundle "lock --update blahblah" - expect(out).to eq("Could not find gem 'blahblah'.") + expect(err).to eq("Could not find gem 'blahblah'.") expect(read_lockfile).to eq(@lockfile) end @@ -225,7 +225,7 @@ RSpec.describe "bundle lock" do it "warns when adding an unknown platform" do bundle "lock --add-platform foobarbaz" - expect(out).to include("The platform `foobarbaz` is unknown to RubyGems and adding it will likely lead to resolution errors") + expect(err).to include("The platform `foobarbaz` is unknown to RubyGems and adding it will likely lead to resolution errors") end it "allows removing platforms" do diff --git a/spec/commands/newgem_spec.rb b/spec/commands/newgem_spec.rb index a2f2951cf8..b95cdd528e 100644 --- a/spec/commands/newgem_spec.rb +++ b/spec/commands/newgem_spec.rb @@ -802,22 +802,22 @@ Usage: "bundle gem NAME [OPTIONS]" context "with an existing const name" do subject { "gem" } - it { expect(out).to include("Invalid gem name #{subject}") } + it { expect(err).to include("Invalid gem name #{subject}") } end context "with an existing hyphenated const name" do subject { "gem-specification" } - it { expect(out).to include("Invalid gem name #{subject}") } + it { expect(err).to include("Invalid gem name #{subject}") } end context "starting with an existing const name" do subject { "gem-somenewconstantname" } - it { expect(out).not_to include("Invalid gem name #{subject}") } + it { expect(err).not_to include("Invalid gem name #{subject}") } end context "ending with an existing const name" do subject { "somenewconstantname-gem" } - it { expect(out).not_to include("Invalid gem name #{subject}") } + it { expect(err).not_to include("Invalid gem name #{subject}") } end end diff --git a/spec/commands/open_spec.rb b/spec/commands/open_spec.rb index 5cab846fb5..ae288b4b9c 100644 --- a/spec/commands/open_spec.rb +++ b/spec/commands/open_spec.rb @@ -30,7 +30,7 @@ RSpec.describe "bundle open" do it "complains if gem not in bundle" do bundle "open missing", :env => { "EDITOR" => "echo editor", "VISUAL" => "", "BUNDLER_EDITOR" => "" } - expect(out).to match(/could not find gem 'missing'/i) + expect(err).to match(/could not find gem 'missing'/i) end it "does not blow up if the gem to open does not have a Gemfile" do @@ -48,7 +48,7 @@ RSpec.describe "bundle open" do it "suggests alternatives for similar-sounding gems" do bundle "open Rails", :env => { "EDITOR" => "echo editor", "VISUAL" => "", "BUNDLER_EDITOR" => "" } - expect(out).to match(/did you mean rails\?/i) + expect(err).to match(/did you mean rails\?/i) end it "opens the gem with short words" do diff --git a/spec/commands/outdated_spec.rb b/spec/commands/outdated_spec.rb index 394db664d8..ce4cbe3a1d 100644 --- a/spec/commands/outdated_spec.rb +++ b/spec/commands/outdated_spec.rb @@ -398,7 +398,7 @@ RSpec.describe "bundle outdated" do describe "with invalid gem name" do it "returns could not find gem name" do bundle "outdated invalid_gem_name" - expect(out).to include("Could not find gem 'invalid_gem_name'.") + expect(err).to include("Could not find gem 'invalid_gem_name'.") end it "returns non-zero exit code" do @@ -434,10 +434,10 @@ RSpec.describe "bundle outdated" do bundle "outdated" expect(last_command).to be_failure - expect(out).to include("You are trying to check outdated gems in deployment mode.") - expect(out).to include("Run `bundle outdated` elsewhere.") - expect(out).to include("If this is a development machine, remove the ") - expect(out).to include("Gemfile freeze\nby running `bundle install --no-deployment`.") + expect(err).to include("You are trying to check outdated gems in deployment mode.") + expect(err).to include("Run `bundle outdated` elsewhere.") + expect(err).to include("If this is a development machine, remove the ") + expect(err).to include("Gemfile freeze\nby running `bundle install --no-deployment`.") end end @@ -457,10 +457,10 @@ RSpec.describe "bundle outdated" do bundle "outdated" expect(last_command).to be_failure - expect(out).to include("You are trying to check outdated gems in deployment mode.") - expect(out).to include("Run `bundle outdated` elsewhere.") - expect(out).to include("If this is a development machine, remove the ") - expect(out).to include("Gemfile freeze\nby running `bundle config --delete deployment`.") + expect(err).to include("You are trying to check outdated gems in deployment mode.") + expect(err).to include("Run `bundle outdated` elsewhere.") + expect(err).to include("If this is a development machine, remove the ") + expect(err).to include("Gemfile freeze\nby running `bundle config --delete deployment`.") end end diff --git a/spec/commands/package_spec.rb b/spec/commands/package_spec.rb index 6351909bc7..ef579da5ec 100644 --- a/spec/commands/package_spec.rb +++ b/spec/commands/package_spec.rb @@ -213,9 +213,9 @@ RSpec.describe "bundle package" do G subject expect(exitstatus).to eq(16) if exitstatus - expect(out).to include("deployment mode") - expect(out).to include("You have added to the Gemfile") - expect(out).to include("* rack-obama") + expect(err).to include("deployment mode") + expect(err).to include("You have added to the Gemfile") + expect(err).to include("* rack-obama") bundle "env" expect(out).to include("frozen").or include("deployment") end diff --git a/spec/commands/pristine_spec.rb b/spec/commands/pristine_spec.rb index d01d550ed3..f622797586 100644 --- a/spec/commands/pristine_spec.rb +++ b/spec/commands/pristine_spec.rb @@ -88,7 +88,7 @@ RSpec.describe "bundle pristine", :ruby_repo do bundle "pristine" expect(File.read(changed_file)).to include(diff) - expect(out).to include("Cannot pristine #{spec.name} (#{spec.version}#{spec.git_version}). Gem is sourced from local path.") + expect(err).to include("Cannot pristine #{spec.name} (#{spec.version}#{spec.git_version}). Gem is sourced from local path.") end it "reinstall gemspec dependency" do @@ -111,7 +111,7 @@ RSpec.describe "bundle pristine", :ruby_repo do FileUtils.touch(changes_txt) expect(changes_txt).to be_file bundle "pristine" - expect(out).to include("Cannot pristine #{spec.name} (#{spec.version}#{spec.git_version}). Gem is sourced from local path.") + expect(err).to include("Cannot pristine #{spec.name} (#{spec.version}#{spec.git_version}). Gem is sourced from local path.") expect(changes_txt).to be_file end end @@ -135,8 +135,8 @@ RSpec.describe "bundle pristine", :ruby_repo do bundle! "pristine foo bar weakling" - expect(out).to include("Cannot pristine bar (1.0). Gem is sourced from local path."). - and include("Installing weakling 1.0") + expect(err).to include("Cannot pristine bar (1.0). Gem is sourced from local path.") + expect(out).to include("Installing weakling 1.0") expect(weakling_changes_txt).not_to be_file expect(foo_changes_txt).not_to be_file @@ -145,7 +145,7 @@ RSpec.describe "bundle pristine", :ruby_repo do it "raises when one of them is not in the lockfile" do bundle "pristine abcabcabc" - expect(out).to include("Could not find gem 'abcabcabc'.") + expect(err).to include("Could not find gem 'abcabcabc'.") end end diff --git a/spec/commands/remove_spec.rb b/spec/commands/remove_spec.rb index daed91c034..7695d2a881 100644 --- a/spec/commands/remove_spec.rb +++ b/spec/commands/remove_spec.rb @@ -9,7 +9,7 @@ RSpec.describe "bundle remove" do bundle "remove" - expect(out).to include("Please specify gems to remove.") + expect(err).to include("Please specify gems to remove.") end end @@ -54,7 +54,7 @@ RSpec.describe "bundle remove" do bundle "remove rack" - expect(out).to include("`rack` is not specified in #{bundled_app("Gemfile")} so it could not be removed.") + expect(err).to include("`rack` is not specified in #{bundled_app("Gemfile")} so it could not be removed.") end end end @@ -91,7 +91,7 @@ RSpec.describe "bundle remove" do bundle "remove rails rack minitest" - expect(out).to include("`rack` is not specified in #{bundled_app("Gemfile")} so it could not be removed.") + expect(err).to include("`rack` is not specified in #{bundled_app("Gemfile")} so it could not be removed.") gemfile_should_be <<-G source "file://#{gem_repo1}" @@ -318,7 +318,7 @@ RSpec.describe "bundle remove" do bundle "remove rails" - expect(out).to include("Gems could not be removed. rack (>= 0) would also have been removed.") + expect(err).to include("Gems could not be removed. rack (>= 0) would also have been removed.") gemfile_should_be <<-G source "file://#{gem_repo1}" gem "rack"; gem "rails" @@ -436,7 +436,7 @@ RSpec.describe "bundle remove" do bundle "remove rack" - expect(out).to include("`rack` is not specified in #{bundled_app("Gemfile")} so it could not be removed.") + expect(err).to include("`rack` is not specified in #{bundled_app("Gemfile")} so it could not be removed.") end end @@ -456,7 +456,7 @@ RSpec.describe "bundle remove" do bundle "remove rack" expect(out).to include("rack was removed.") - expect(out).to include("`rack` is not specified in #{bundled_app("Gemfile-other")} so it could not be removed.") + expect(err).to include("`rack` is not specified in #{bundled_app("Gemfile-other")} so it could not be removed.") gemfile_should_be <<-G source "file://#{gem_repo1}" @@ -481,7 +481,7 @@ RSpec.describe "bundle remove" do bundle "remove rack" expect(out).to include("rack was removed.") - expect(out).to include("Gems could not be removed. rails (>= 0) would also have been removed.") + expect(err).to include("Gems could not be removed. rails (>= 0) would also have been removed.") gemfile_should_be <<-G source "file://#{gem_repo1}" @@ -505,7 +505,7 @@ RSpec.describe "bundle remove" do bundle "remove rack" - expect(out).to include("Gems could not be removed. rails (>= 0) would also have been removed.") + expect(err).to include("Gems could not be removed. rails (>= 0) would also have been removed.") expect(bundled_app("Gemfile-other").read).to include("gem \"rack\"") gemfile_should_be <<-G source "file://#{gem_repo1}" diff --git a/spec/commands/show_spec.rb b/spec/commands/show_spec.rb index 622d29d9b7..70c8e66297 100644 --- a/spec/commands/show_spec.rb +++ b/spec/commands/show_spec.rb @@ -25,30 +25,24 @@ RSpec.describe "bundle show" do expect(bundled_app("Gemfile.lock")).to exist end - it "prints path if gem exists in bundle", :bundler => "< 2" do + it "prints path if gem exists in bundle" do bundle "show rails" expect(out).to eq(default_bundle_path("gems", "rails-2.3.2").to_s) end - it "prints path if gem exists in bundle", :bundler => "2" do + it "prints deprecation", :bundler => "2" do bundle "show rails" - expect(out).to eq( - "[DEPRECATED FOR 2.0] use `bundle info rails` instead of `bundle show rails`\n" + - default_bundle_path("gems", "rails-2.3.2").to_s - ) + expect(err).to eq("[DEPRECATED FOR 2.0] use `bundle info rails` instead of `bundle show rails`") end - it "prints path if gem exists in bundle (with --paths option)", :bundler => "< 2" do + it "prints path if gem exists in bundle (with --paths option)" do bundle "show rails --paths" expect(out).to eq(default_bundle_path("gems", "rails-2.3.2").to_s) end - it "prints path if gem exists in bundle (with --paths option)", :bundler => "2" do + it "prints deprecation when called with a gem and the --paths option", :bundler => "2" do bundle "show rails --paths" - expect(out).to eq( - "[DEPRECATED FOR 2.0] use `bundle info rails --path` instead of `bundle show rails --paths`\n" + - default_bundle_path("gems", "rails-2.3.2").to_s - ) + expect(err).to eq("[DEPRECATED FOR 2.0] use `bundle info rails --path` instead of `bundle show rails --paths`") end it "warns if path no longer exists on disk" do @@ -56,29 +50,25 @@ RSpec.describe "bundle show" do bundle "show rails" - expect(out).to match(/has been deleted/i). - and include(default_bundle_path("gems", "rails-2.3.2").to_s) + expect(err).to match(/has been deleted/i) + expect(err).to match(default_bundle_path("gems", "rails-2.3.2").to_s) end - it "prints the path to the running bundler", :bundler => "< 2" do + it "prints the path to the running bundler" do bundle "show bundler" expect(out).to eq(root.to_s) end - it "prints the path to the running bundler", :bundler => "2" do + it "prints deprecation when called with bundler", :bundler => "2" do bundle "show bundler" - expect(out).to eq( - "[DEPRECATED FOR 2.0] use `bundle info bundler` instead of `bundle show bundler`\n" + - root.to_s - ) + expect(err).to eq("[DEPRECATED FOR 2.0] use `bundle info bundler` instead of `bundle show bundler`") end - it "complains if gem not in bundle" do bundle "show missing" - expect(out).to match(/could not find gem 'missing'/i) + expect(err).to match(/could not find gem 'missing'/i) end - it "prints path of all gems in bundle sorted by name", :bundler => "< 2" do + it "prints path of all gems in bundle sorted by name" do bundle "show --paths" expect(out).to include(default_bundle_path("gems", "rake-12.3.2").to_s) @@ -89,18 +79,10 @@ RSpec.describe "bundle show" do expect(gem_list).to eq(gem_list.sort) end - it "prints path of all gems in bundle sorted by name", :bundler => "2" do + it "prints a deprecation when called with the --paths option", :bundler => 2 do bundle "show --paths" - expect(out).to include(default_bundle_path("gems", "rake-12.3.2").to_s) - expect(out).to include(default_bundle_path("gems", "rails-2.3.2").to_s) - - out_lines = out.split("\n") - expect(out_lines[0]).to eq("[DEPRECATED FOR 2.0] use `bundle list` instead of `bundle show --paths`") - - # Gem names are the last component of their path. - gem_list = out_lines[1..-1].map {|p| p.split("/").last } - expect(gem_list).to eq(gem_list.sort) + expect(err).to eq("[DEPRECATED FOR 2.0] use `bundle list` instead of `bundle show --paths`") end it "prints summary of gems" do @@ -200,7 +182,7 @@ RSpec.describe "bundle show" do invalid_regexp = "[]" bundle "show #{invalid_regexp}" - expect(out).to include("Could not find gem '#{invalid_regexp}'.") + expect(err).to include("Could not find gem '#{invalid_regexp}'.") end end diff --git a/spec/commands/update_spec.rb b/spec/commands/update_spec.rb index d2cdd5a68b..7b8cc9f396 100644 --- a/spec/commands/update_spec.rb +++ b/spec/commands/update_spec.rb @@ -77,13 +77,13 @@ RSpec.describe "bundle update" do it "errors when passed nothing" do install_gemfile! "" bundle :update - expect(out).to eq("To update everything, pass the `--all` flag.") + expect(err).to eq("To update everything, pass the `--all` flag.") end it "errors when passed --all and another option" do install_gemfile! "" bundle "update --all foo" - expect(out).to eq("Cannot specify --all along with specific options.") + expect(err).to eq("Cannot specify --all along with specific options.") end it "updates everything when passed --all" do @@ -114,11 +114,11 @@ RSpec.describe "bundle update" do describe "with an unknown dependency" do it "should inform the user" do bundle "update halting-problem-solver" - expect(out).to include "Could not find gem 'halting-problem-solver'" + expect(err).to include "Could not find gem 'halting-problem-solver'" end it "should suggest alternatives" do bundle "update platformspecific" - expect(out).to include "Did you mean platform_specific?" + expect(err).to include "Did you mean platform_specific?" end end @@ -299,7 +299,7 @@ RSpec.describe "bundle update" do it "should suggest different command when frozen is set globally", :bundler => "2" do bundle! "config --global deployment true" bundle "update", :all => bundle_update_requires_all? - expect(out).to match(/You are trying to install in deployment mode after changing.your Gemfile/m). + expect(err).to match(/You are trying to install in deployment mode after changing.your Gemfile/m). and match(/freeze \nby running `bundle config --delete deployment`./m) end end @@ -639,7 +639,7 @@ RSpec.describe "bundle update" do G bundle "update nonexisting" - expect(out).to include("This Bundle hasn't been installed yet. Run `bundle install` to update and install the bundled gems.") + expect(err).to include("This Bundle hasn't been installed yet. Run `bundle install` to update and install the bundled gems.") expect(exitstatus).to eq(22) if exitstatus end end @@ -719,7 +719,7 @@ RSpec.describe "bundle update --ruby" do it "shows a helpful error message" do bundle "update --ruby" - expect(out).to include("Your Ruby version is 2.2.2, but your Gemfile specified ~> 2.1.0") + expect(err).to include("Your Ruby version is 2.2.2, but your Gemfile specified ~> 2.1.0") end end |