diff options
author | Smit Shah <who828@gmail.com> | 2013-11-22 01:02:43 +0530 |
---|---|---|
committer | Smit Shah <who828@gmail.com> | 2013-11-22 01:02:43 +0530 |
commit | cc4d4abb6fc1f640bc494e39e0a578c223eee1cf (patch) | |
tree | d6f13b23261e1fcf34e96dd20dec6c65d837fad4 /spec | |
parent | 2be104f634c103682cef5a5c3bd4e41b14a9fc67 (diff) | |
download | bundler-cc4d4abb6fc1f640bc494e39e0a578c223eee1cf.tar.gz |
Added a fix for multiple level conflict resolution
Diffstat (limited to 'spec')
-rw-r--r-- | spec/resolver/basic_spec.rb | 6 | ||||
-rw-r--r-- | spec/support/indexes.rb | 49 |
2 files changed, 54 insertions, 1 deletions
diff --git a/spec/resolver/basic_spec.rb b/spec/resolver/basic_spec.rb index 22dc2f0fbe..2481e53e13 100644 --- a/spec/resolver/basic_spec.rb +++ b/spec/resolver/basic_spec.rb @@ -23,6 +23,12 @@ describe "Resolving" do dep "my_app" should_resolve_as %w(activemodel-3.2.11 builder-3.0.4 grape-0.2.6 my_app-1.0.0) end + + it "resolves a complex conflicting index" do + @index = a_complex_conflict_index + dep "my_app" + should_resolve_as %w(a-1.4.0 b-0.3.5 c-3.2 d-0.9.8 my_app-1.1.0) + end it "should throw error in case of circular dependencies" do @index = a_circular_index diff --git a/spec/support/indexes.rb b/spec/support/indexes.rb index cbea694b80..3b5ab10bcc 100644 --- a/spec/support/indexes.rb +++ b/spec/support/indexes.rb @@ -115,7 +115,7 @@ module Spec build_index do gem "builder", %w(3.0.4 3.1.4) gem("grape", '0.2.6') do - dep "builder", ">= 4" + dep "builder", ">= 0" end versions '3.2.8 3.2.9 3.2.10 3.2.11' do |version| @@ -131,6 +131,53 @@ module Spec end end + def a_complex_conflict_index + build_index do + gem("a", %w(1.0.2 1.1.4 1.2.0 1.4.0)) do + dep "d", ">= 0" + end + + gem("d", %w(1.3.0 1.4.1)) do + dep "x", ">= 0" + end + + gem "d", "0.9.8" + + gem("b", '0.3.4') do + dep "a", ">= 1.5.0" + end + + gem("b", '0.3.5') do + dep "a", ">= 1.2" + end + + gem("b", '0.3.3') do + dep "a", "> 1.0" + end + + versions '3.2 3.3' do |version| + gem("c", version) do + dep "a", "~> 1.0" + end + end + + gem("my_app", '1.3.0') do + dep "c", ">= 4.0" + dep "b", ">= 0" + end + + gem("my_app", '1.2.0') do + dep "c", "~> 3.3.0" + dep "b", "0.3.4" + end + + gem("my_app", '1.1.0') do + dep "c", "~> 3.2.0" + dep "b", "0.3.5" + end + end + end + def a_circular_index build_index do gem "rack", "1.0.1" |