diff options
Diffstat (limited to 'test/rubygems/test_gem_dependency.rb')
-rw-r--r-- | test/rubygems/test_gem_dependency.rb | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/test/rubygems/test_gem_dependency.rb b/test/rubygems/test_gem_dependency.rb index e1ba5ffbe7..7fc4dbbebf 100644 --- a/test/rubygems/test_gem_dependency.rb +++ b/test/rubygems/test_gem_dependency.rb @@ -9,6 +9,15 @@ class TestGemDependency < Gem::TestCase assert_equal req("> 1.0"), d.requirement end + def test_initialize_type_bad + e = assert_raises ArgumentError do + Gem::Dependency.new 'monkey' => '1.0' + end + + assert_equal 'dependency name must be a String, was {"monkey"=>"1.0"}', + e.message + end + def test_initialize_double d = dep "pkg", "> 1.0", "< 2.0" assert_equal req("> 1.0", "< 2.0"), d.requirement @@ -173,5 +182,42 @@ class TestGemDependency < Gem::TestCase assert dep('a', '= 1').specific? end + def test_to_specs_suggests_other_versions + a = util_spec 'a', '1.0', 'b' => '>= 1.0' + + a_file = File.join a.gem_dir, 'lib', 'a_file.rb' + + write_file a_file do |io| + io.puts '# a_file.rb' + end + + dep = Gem::Dependency.new "a", "= 2.0" + + e = assert_raises Gem::LoadError do + dep.to_specs + end + + assert_equal "Could not find 'a' (= 2.0) - did find: [a-1.0]", e.message + end + + def test_to_specs_indicates_total_gem_set_size + a = util_spec 'a', '1.0', 'b' => '>= 1.0' + + a_file = File.join a.gem_dir, 'lib', 'a_file.rb' + + write_file a_file do |io| + io.puts '# a_file.rb' + end + + dep = Gem::Dependency.new "b", "= 2.0" + + e = assert_raises Gem::LoadError do + dep.to_specs + end + + assert_equal "Could not find 'b' (= 2.0) among 1 total gem(s)", e.message + end + + end |