diff options
Diffstat (limited to 'test/rubygems')
-rw-r--r-- | test/rubygems/test_gem_dependency_resolver_vendor_set.rb | 49 | ||||
-rw-r--r-- | test/rubygems/test_gem_dependency_resolver_vendor_specification.rb | 87 |
2 files changed, 136 insertions, 0 deletions
diff --git a/test/rubygems/test_gem_dependency_resolver_vendor_set.rb b/test/rubygems/test_gem_dependency_resolver_vendor_set.rb new file mode 100644 index 0000000000..44b7413865 --- /dev/null +++ b/test/rubygems/test_gem_dependency_resolver_vendor_set.rb @@ -0,0 +1,49 @@ +require 'rubygems/test_case' +require 'rubygems/dependency_resolver' + +class TestGemDependencyResolverVendorSet < Gem::TestCase + + def setup + super + + @set = Gem::DependencyResolver::VendorSet.new + end + + def test_add_vendor_gem + name, version, directory = vendor_gem + + @set.add_vendor_gem name, directory + + spec = @set.load_spec name, version, Gem::Platform::RUBY, nil + + assert_equal "#{name}-#{version}", spec.full_name + end + + def test_find_all + name, version, directory = vendor_gem + + @set.add_vendor_gem name, directory + + dependency = dep 'a', '~> 1' + + req = Gem::DependencyResolver::DependencyRequest.new dependency, nil + + found = @set.find_all req + + spec = @set.load_spec name, version, Gem::Platform::RUBY, nil + + expected = [ + Gem::DependencyResolver::VendorSpecification.new(@set, spec, nil) + ] + + assert_equal expected, found + end + + def test_load_spec + assert_raises KeyError do + @set.load_spec 'a', v(1), Gem::Platform::RUBY, nil + end + end + +end + diff --git a/test/rubygems/test_gem_dependency_resolver_vendor_specification.rb b/test/rubygems/test_gem_dependency_resolver_vendor_specification.rb new file mode 100644 index 0000000000..7617243234 --- /dev/null +++ b/test/rubygems/test_gem_dependency_resolver_vendor_specification.rb @@ -0,0 +1,87 @@ +require 'rubygems/test_case' +require 'rubygems/dependency_resolver' + +class TestGemDependencyResolverVendorSpecification < Gem::TestCase + + def setup + super + + @set = Gem::DependencyResolver::VendorSet.new + @spec = Gem::Specification.new 'a', 1 + end + + def test_initialize + v_spec = Gem::DependencyResolver::VendorSpecification.new @set, @spec + + assert_equal 'a', v_spec.name + assert_equal v(1), v_spec.version + assert_equal Gem::Platform::RUBY, v_spec.platform + assert_equal Gem::Source::Vendor.new, v_spec.source + end + + def test_equals2 + v_spec_a = Gem::DependencyResolver::VendorSpecification.new @set, @spec + + assert_equal v_spec_a, v_spec_a + + spec_b = Gem::Specification.new 'b', 1 + v_spec_b = Gem::DependencyResolver::VendorSpecification.new @set, spec_b + + refute_equal v_spec_a, v_spec_b + + v_set = Gem::DependencyResolver::VendorSet.new + v_spec_s = Gem::DependencyResolver::VendorSpecification.new v_set, @spec + + refute_equal v_spec_a, v_spec_s + + i_set = Gem::DependencyResolver::IndexSet.new + source = Gem::Source.new @gem_repo + i_spec = Gem::DependencyResolver::IndexSpecification.new( + i_set, 'a', v(1), source, Gem::Platform::RUBY) + + refute_equal v_spec_a, i_spec + end + + def test_dependencies + @spec.add_dependency 'b' + @spec.add_dependency 'c' + + v_spec = Gem::DependencyResolver::VendorSpecification.new @set, @spec + + assert_equal [dep('b'), dep('c')], v_spec.dependencies + end + + def test_full_name + v_spec = Gem::DependencyResolver::VendorSpecification.new @set, @spec + + assert_equal 'a-1', v_spec.full_name + end + + def test_name + v_spec = Gem::DependencyResolver::VendorSpecification.new @set, @spec + + assert_equal 'a', v_spec.name + end + + def test_platform + v_spec = Gem::DependencyResolver::VendorSpecification.new @set, @spec + + assert_equal Gem::Platform::RUBY, v_spec.platform + end + + def test_source + v_spec = Gem::DependencyResolver::VendorSpecification.new @set, @spec + + assert_equal Gem::Source::Vendor.new, v_spec.source + end + + def test_version + spec = Gem::Specification.new 'a', 1 + + v_spec = Gem::DependencyResolver::VendorSpecification.new @set, spec + + assert_equal v(1), spec.version + end + +end + |