diff options
author | André Arko <mail@arko.net> | 2015-07-27 19:11:43 -0700 |
---|---|---|
committer | André Arko <mail@arko.net> | 2015-07-27 19:11:43 -0700 |
commit | 26c4665788cd2601211cc54935411b8227c2f132 (patch) | |
tree | 651f717865c443ee270a1de36804c7597a0142db | |
parent | bccaa40bb2c433e555233761114ae509c75d128e (diff) | |
parent | 2e97cd4042828a2188306fa4aabc2392e125ba27 (diff) | |
download | bundler-26c4665788cd2601211cc54935411b8227c2f132.tar.gz |
Merge pull request #3885 from bundler/aa-3811-specific-test-deps
Depend on major version of test gems
-rw-r--r-- | lib/bundler/cli/gem.rb | 7 | ||||
-rw-r--r-- | lib/bundler/templates/newgem/newgem.gemspec.tt | 2 | ||||
-rw-r--r-- | spec/commands/newgem_spec.rb | 12 |
3 files changed, 20 insertions, 1 deletions
diff --git a/lib/bundler/cli/gem.rb b/lib/bundler/cli/gem.rb index cef64f27a8..bae6ab06b8 100644 --- a/lib/bundler/cli/gem.rb +++ b/lib/bundler/cli/gem.rb @@ -2,6 +2,11 @@ require "pathname" module Bundler class CLI::Gem + TEST_FRAMEWORK_VERSIONS = { + "rspec" => "3.0", + "minitest" => "5.0" + } + attr_reader :options, :gem_name, :thor, :name, :target def initialize(options, gem_name, thor) @@ -63,6 +68,8 @@ module Bundler if test_framework = ask_and_set_test_framework config[:test] = test_framework + config[:test_framework_version] = TEST_FRAMEWORK_VERSIONS[test_framework] + templates.merge!(".travis.yml.tt" => ".travis.yml") case test_framework diff --git a/lib/bundler/templates/newgem/newgem.gemspec.tt b/lib/bundler/templates/newgem/newgem.gemspec.tt index 89f669120b..c35ee72dff 100644 --- a/lib/bundler/templates/newgem/newgem.gemspec.tt +++ b/lib/bundler/templates/newgem/newgem.gemspec.tt @@ -38,6 +38,6 @@ Gem::Specification.new do |spec| spec.add_development_dependency "rake-compiler" <%- end -%> <%- if config[:test] -%> - spec.add_development_dependency "<%=config[:test]%>" + spec.add_development_dependency "<%=config[:test]%>", "~> <%=config[:test_framework_version]%>" <%- end -%> end diff --git a/spec/commands/newgem_spec.rb b/spec/commands/newgem_spec.rb index 8acde88b5e..b644d1ba68 100644 --- a/spec/commands/newgem_spec.rb +++ b/spec/commands/newgem_spec.rb @@ -244,6 +244,12 @@ describe "bundle gem" do expect(bundled_app("test_gem/spec/spec_helper.rb")).to exist end + it "depends on a specific version of rspec", :rubygems => ">= 1.8.1" do + remove_push_guard(gem_name) + rspec_dep = generated_gem.gemspec.development_dependencies.find {|d| d.name == "rspec" } + expect(rspec_dep).to be_specific + end + it "requires 'test-gem'" do expect(bundled_app("test_gem/spec/spec_helper.rb").read).to include("require 'test_gem'") end @@ -289,6 +295,12 @@ describe "bundle gem" do bundle "gem #{gem_name} --test=minitest" end + it "depends on a specific version of minitest", :rubygems => ">= 1.8.1" do + remove_push_guard(gem_name) + rspec_dep = generated_gem.gemspec.development_dependencies.find {|d| d.name == "minitest" } + expect(rspec_dep).to be_specific + end + it "builds spec skeleton" do expect(bundled_app("test_gem/test/test_gem_test.rb")).to exist expect(bundled_app("test_gem/test/test_helper.rb")).to exist |