mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
[rubygems/rubygems] Add user hint specs for bundle gem --test
1d2292a88f
This commit is contained in:
parent
58267fa59e
commit
154c2717da
Notes:
git
2020-06-05 07:33:54 +09:00
2 changed files with 27 additions and 7 deletions
|
@ -181,7 +181,7 @@ module Bundler
|
|||
if options[:test] == Bundler.settings["gem.test"]
|
||||
Bundler.ui.info "Bundler is configured to generate test files for #{Bundler.settings["gem.test"]}, "\
|
||||
"so -t is not needed if you want to continue using it. " \
|
||||
"This setting can be changed anytime with bundle config gem.test."
|
||||
"This setting can be changed anytime with `bundle config gem.test`."
|
||||
end
|
||||
rescue Errno::EEXIST => e
|
||||
raise GenericSystemCallError.new(e, "There was a conflict while creating the new gem.")
|
||||
|
@ -222,7 +222,7 @@ module Bundler
|
|||
if test_framework.to_s.empty?
|
||||
Bundler.ui.confirm "Do you want to generate tests with your gem?"
|
||||
result = Bundler.ui.ask "Type 'rspec', 'minitest' or 'test-unit' to generate those test files now. \n" \
|
||||
"#{test_framework_help_info} rspec/minitest/test-unit/(none):"
|
||||
"#{test_framework_hint} rspec/minitest/test-unit/(none):"
|
||||
if result =~ /rspec|minitest|test-unit/
|
||||
test_framework = result
|
||||
else
|
||||
|
@ -237,12 +237,12 @@ module Bundler
|
|||
test_framework
|
||||
end
|
||||
|
||||
def test_framework_help_info
|
||||
def test_framework_hint
|
||||
if Bundler.settings["gem.test"] == false
|
||||
"Your choice will only be applied to this gem."
|
||||
else
|
||||
"Future bundle gem calls will use your choice. " \
|
||||
"This setting can be changed anytime with bundle config gem.test."
|
||||
"Future `bundle gem` calls will use your choice. " \
|
||||
"This setting can be changed anytime with `bundle config gem.test`."
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -623,18 +623,32 @@ RSpec.describe "bundle gem" do
|
|||
expect(bundled_app("#{gem_name}/spec/spec_helper.rb")).to exist
|
||||
end
|
||||
|
||||
it "hints that --test is not needed" do
|
||||
hint = "Bundler is configured to generate test files for rspec, "\
|
||||
"so -t is not needed if you want to continue using it. " \
|
||||
"This setting can be changed anytime with `bundle config gem.test`."
|
||||
expect(last_command.stdout).to match(hint)
|
||||
end
|
||||
|
||||
it_behaves_like "test framework is present"
|
||||
end
|
||||
|
||||
context "gem.test setting set to false and --test with no arguments" do
|
||||
before do
|
||||
bundle "config set gem.test false"
|
||||
bundle! "gem #{gem_name} --test"
|
||||
end
|
||||
|
||||
it "asks to generate test files" do
|
||||
result = bundle! "gem #{gem_name} --test"
|
||||
expect(result).to match("Do you want to generate tests with your gem?")
|
||||
expect(last_command.stdout).to match("Do you want to generate tests with your gem?")
|
||||
end
|
||||
|
||||
it "hints that the choice will only be applied to the current gem" do
|
||||
hint = "Your choice will only be applied to this gem."
|
||||
expect(last_command.stdout).to match(hint)
|
||||
end
|
||||
|
||||
it_behaves_like "test framework is absent"
|
||||
end
|
||||
|
||||
context "gem.test setting not set and --test with no arguments" do
|
||||
|
@ -642,6 +656,12 @@ RSpec.describe "bundle gem" do
|
|||
bundle! "gem #{gem_name} --test"
|
||||
end
|
||||
|
||||
it "hints that the choice will be applied to future bundle gem calls" do
|
||||
hint = "Future `bundle gem` calls will use your choice. " \
|
||||
"This setting can be changed anytime with `bundle config gem.test`."
|
||||
expect(last_command.stdout).to match(hint)
|
||||
end
|
||||
|
||||
it_behaves_like "test framework is absent"
|
||||
end
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue