diff options
-rw-r--r-- | spec/bundler/bundler/friendly_errors_spec.rb | 64 |
1 files changed, 45 insertions, 19 deletions
diff --git a/spec/bundler/bundler/friendly_errors_spec.rb b/spec/bundler/bundler/friendly_errors_spec.rb index 8df653c0f1..dc9d539a30 100644 --- a/spec/bundler/bundler/friendly_errors_spec.rb +++ b/spec/bundler/bundler/friendly_errors_spec.rb @@ -6,33 +6,59 @@ require "cgi" RSpec.describe Bundler, "friendly errors" do context "with invalid YAML in .gemrc" do - let(:config_home) { File.dirname(Gem.configuration.config_file_name) } + context "with the old ~/.gemrc" do + before do + File.open(home(".gemrc"), "w") do |f| + f.write "invalid: yaml: hah" + end + end - before do - FileUtils.mkdir_p config_home - File.open(Gem.configuration.config_file_name, "w") do |f| - f.write "invalid: yaml: hah" + after do + FileUtils.rm(home(".gemrc")) end - end - after do - FileUtils.rm(Gem.configuration.config_file_name) + it "reports a relevant friendly error message" do + gemfile <<-G + source "#{file_uri_for(gem_repo1)}" + gem "rack" + G + + bundle :install, :env => { "DEBUG" => "true" } + + expect(err).to include("Failed to load #{home(".gemrc")}") + expect(exitstatus).to eq(0) if exitstatus + end end - it "reports a relevant friendly error message" do - gemfile <<-G - source "#{file_uri_for(gem_repo1)}" - gem "rack" - G + context "with XDG_CONFIG_HOME" do + let(:config_home) { File.dirname(Gem.configuration.config_file_name) } - bundle :install, :env => { "DEBUG" => "true" } + before do + FileUtils.mkdir_p config_home + File.open(Gem.configuration.config_file_name, "w") do |f| + f.write "invalid: yaml: hah" + end + end - if Gem::VERSION >= "3.2.0.pre.1" - expect(err).to include("Failed to load #{File.join(config_home, "gemrc")}") - else - expect(err).to include("Failed to load #{home(".gemrc")}") + after do + FileUtils.rm(Gem.configuration.config_file_name) + end + + it "reports a relevant friendly error message" do + gemfile <<-G + source "#{file_uri_for(gem_repo1)}" + gem "rack" + G + + bundle :install, :env => { "DEBUG" => "true" } + + if Gem::VERSION >= "3.2.0.pre.1" + expect(err).to include("Failed to load #{File.join(config_home, "gemrc")}") + else + expect(err).to include("Failed to load #{home(".gemrc")}") + end + expect(exitstatus).to eq(0) if exitstatus end - expect(exitstatus).to eq(0) if exitstatus end end |