aboutsummaryrefslogtreecommitdiffstats
path: root/test/rubygems/test_gem_dependency.rb
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-03-07 08:44:45 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-03-07 08:44:45 +0000
commit1df42597d15416357a20bd68700ce1a2d245e8bb (patch)
treef588f28559958e27464866d7b137955bfff04a6f /test/rubygems/test_gem_dependency.rb
parentfc634cc092f486adfc911f614b7b4aa2c48c698d (diff)
downloadruby-1df42597d15416357a20bd68700ce1a2d245e8bb.tar.gz
cancel subversion backfire. sorry
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31046 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/rubygems/test_gem_dependency.rb')
-rw-r--r--test/rubygems/test_gem_dependency.rb39
1 files changed, 39 insertions, 0 deletions
diff --git a/test/rubygems/test_gem_dependency.rb b/test/rubygems/test_gem_dependency.rb
index 51b746f555..b4a21b896c 100644
--- a/test/rubygems/test_gem_dependency.rb
+++ b/test/rubygems/test_gem_dependency.rb
@@ -106,6 +106,45 @@ class TestGemDependency < Gem::TestCase
refute_equal dep("pkg", :development), dep("pkg", :runtime), "type"
end
+ def test_merge
+ a1 = dep 'a', '~> 1.0'
+ a2 = dep 'a', '= 1.0'
+
+ a3 = a1.merge a2
+
+ assert_equal dep('a', '~> 1.0', '= 1.0'), a3
+ end
+
+ def test_merge_default
+ a1 = dep 'a'
+ a2 = dep 'a', '1'
+
+ a3 = a1.merge a2
+
+ assert_equal dep('a', '1'), a3
+ end
+
+ def test_merge_name_mismatch
+ a = dep 'a'
+ b = dep 'b'
+
+ e = assert_raises ArgumentError do
+ a.merge b
+ end
+
+ assert_equal 'a (>= 0) and b (>= 0) have different names',
+ e.message
+ end
+
+ def test_merge_other_default
+ a1 = dep 'a', '1'
+ a2 = dep 'a'
+
+ a3 = a1.merge a2
+
+ assert_equal dep('a', '1'), a3
+ end
+
def test_prerelease_eh
d = dep "pkg", "= 1"