aboutsummaryrefslogtreecommitdiffstats
path: root/test/rubygems/test_gem_resolver_specification.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/rubygems/test_gem_resolver_specification.rb')
-rw-r--r--test/rubygems/test_gem_resolver_specification.rb32
1 files changed, 32 insertions, 0 deletions
diff --git a/test/rubygems/test_gem_resolver_specification.rb b/test/rubygems/test_gem_resolver_specification.rb
index 2c9c143cee..e1ec68a22c 100644
--- a/test/rubygems/test_gem_resolver_specification.rb
+++ b/test/rubygems/test_gem_resolver_specification.rb
@@ -3,6 +3,7 @@ require 'rubygems/test_case'
class TestGemResolverSpecification < Gem::TestCase
class TestSpec < Gem::Resolver::Specification
+ attr_writer :source
attr_reader :spec
def initialize spec
@@ -12,6 +13,26 @@ class TestGemResolverSpecification < Gem::TestCase
end
end
+ def test_install
+ gemhome = "#{@gemhome}2"
+ spec_fetcher do |fetcher|
+ fetcher.gem 'a', 1
+ end
+
+ a = util_spec 'a', 1
+
+ a_spec = TestSpec.new a
+ a_spec.source = Gem::Source.new @gem_repo
+
+ a_spec.install :install_dir => gemhome
+
+ assert_path_exists File.join gemhome, 'gems', a.full_name
+
+ expected = File.join gemhome, 'specifications', a.spec_name
+
+ assert_equal expected, a_spec.spec.loaded_from
+ end
+
def test_installable_platform_eh
a = util_spec 'a', 1
@@ -28,5 +49,16 @@ class TestGemResolverSpecification < Gem::TestCase
refute b_spec.installable_platform?
end
+ def test_source
+ a = util_spec 'a', 1
+
+ source = Gem::Source.new @gem_repo
+
+ a_spec = TestSpec.new a
+ a_spec.source = source
+
+ assert_equal source, a_spec.source
+ end
+
end