Skip to content
This repository has been archived by the owner on Apr 14, 2021. It is now read-only.

Commit

Permalink
scope specs to their bundler version and remove duplicate test
Browse files Browse the repository at this point in the history
  • Loading branch information
Colby Swandale committed Dec 11, 2017
1 parent 2122a05 commit cbf30a8
Showing 1 changed file with 35 additions and 40 deletions.
75 changes: 35 additions & 40 deletions spec/commands/init_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,24 +13,41 @@
expect(bundled_app("gems.rb")).to be_file
end

context "when a Gemfile already exists" do
context "when a Gemfile already exists", :bundler => "< 2" do
before do
create_file "gems.rb", <<-G
create_file "Gemfile", <<-G
gem "rails"
G
end

it "does not change existing Gemfiles" do
expect { bundle :init }.not_to change { File.read(bundled_app("gems.rb")) }
expect { bundle :init }.not_to change { File.read(bundled_app("Gemfile")) }
end

it "notifies the user that an existing Gemfile already exists" do
bundle :init
expect(out).to include("Gemfile already exists")
end
end

context "when gems.rb already exists", :bundler => ">= 2" do
before do
create_file("gems.rb", <<-G)
gem "rails"
G
end

it "does not change existing Gemfiles" do
expect { bundle :init }.not_to change { File.read(bundled_app("gems.rb")) }
end

it "notifies the user that an existing gems.rb already exists" do
bundle :init
expect(out).to include("gems.rb already exists")
end
end

context "when a Gemfile exists in a parent directory" do
context "when a Gemfile exists in a parent directory", :bundler => "< 2" do
let(:subdir) { "child_dir" }

it "lets users generate a Gemfile in a child directory" do
Expand All @@ -42,25 +59,25 @@
bundle! :init
end

expect(out).to include("Writing new gems.rb")
expect(bundled_app("#{subdir}/gems.rb")).to be_file
expect(out).to include("Writing new Gemfile")
expect(bundled_app("#{subdir}/Gemfile")).to be_file
end
end

context "when a gems.rb already exists" do
before do
create_file "gems.rb", <<-G
gem "rails"
G
end
context "when a gems.rb file exists in a parent directory", :bundler => ">= 2" do
let(:subdir) { "child_dir" }

it "does not change existing gem.rb files" do
expect { bundle :init }.not_to change { File.read(bundled_app("gems.rb")) }
end
it "lets users generate a Gemfile in a child directory" do
bundle! :init

it "notifies the user that an existing gems.rb already exists" do
bundle :init
expect(out).to include("gems.rb already exists")
FileUtils.mkdir bundled_app(subdir)

Dir.chdir bundled_app(subdir) do
bundle! :init
end

expect(out).to include("Writing new gems.rb")
expect(bundled_app("#{subdir}/gems.rb")).to be_file
end
end

Expand Down Expand Up @@ -111,28 +128,6 @@
context "when init_gems_rb setting is enabled" do
before { bundle "config init_gems_rb true" }

it "generates a gems.rb file" do
bundle :init
expect(bundled_app("gems.rb")).to exist
end

context "when gems.rb already exists" do
before do
create_file("gems.rb", <<-G)
gem "rails"
G
end

it "does not change existing Gemfiles" do
expect { bundle :init }.not_to change { File.read(bundled_app("gems.rb")) }
end

it "notifies the user that an existing gems.rb already exists" do
bundle :init
expect(out).to include("gems.rb already exists")
end
end

context "given --gemspec option", :bundler => "< 2" do
let(:spec_file) { tmp.join("test.gemspec") }

Expand Down

0 comments on commit cbf30a8

Please sign in to comment.