diff options
Diffstat (limited to 'test/rubygems/test_gem_dependency.rb')
-rw-r--r-- | test/rubygems/test_gem_dependency.rb | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/test/rubygems/test_gem_dependency.rb b/test/rubygems/test_gem_dependency.rb index f280221a00..315c49d6ce 100644 --- a/test/rubygems/test_gem_dependency.rb +++ b/test/rubygems/test_gem_dependency.rb @@ -60,6 +60,21 @@ class TestGemDependency < RubyGemTestCase assert_equal Gem::Requirement.new('= 2'), dep.version_requirements end + def test_initialize_with_type + dep = Gem::Dependency.new("pkg", [], :development) + assert_equal(:development, dep.type) + end + + def test_type_is_runtime_by_default + assert_equal(:runtime, Gem::Dependency.new("pkg", []).type) + end + + def test_type_is_restricted + assert_raise(ArgumentError) do + Gem::Dependency.new("pkg", [:sometimes]) + end + end + def test_equals2 assert_equal @pkg1_0, @pkg1_0.dup assert_equal @pkg1_0.dup, @pkg1_0 @@ -74,6 +89,36 @@ class TestGemDependency < RubyGemTestCase assert_not_equal Object.new, @pkg1_0 end + def test_equals2_type + runtime = Gem::Dependency.new("pkg", []) + development = Gem::Dependency.new("pkg", [], :development) + + assert_not_equal(runtime, development) + end + + def test_equals_tilde + def dep(name, version) + Gem::Dependency.new name, version + end + + a0 = dep 'a', '0' + a1 = dep 'a', '1' + b0 = dep 'b', '0' + + pa0 = dep 'a', '>= 0' + pa0r = dep(/a/, '>= 0') + pab0r = dep(/a|b/, '>= 0') + + assert((a0 =~ a0), 'match self') + assert((pa0 =~ a0), 'match version exact') + assert((pa0 =~ a1), 'match version') + assert((pa0r =~ a0), 'match regex simple') + assert((pab0r =~ a0), 'match regex complex') + + assert(!(pa0r =~ b0), 'fail match regex') + assert(!(pa0r =~ Object.new), 'fail match Object') + end + def test_hash assert_equal @pkg1_0.hash, @pkg1_0.dup.hash assert_equal @pkg1_0.dup.hash, @pkg1_0.hash @@ -85,5 +130,11 @@ class TestGemDependency < RubyGemTestCase assert_not_equal @oth1_0.hash, @pkg1_0.hash, "names different" end + def test_hash_type + runtime = Gem::Dependency.new("pkg", []) + development = Gem::Dependency.new("pkg", [], :development) + + assert_not_equal(runtime.hash, development.hash) + end end |