diff options
Diffstat (limited to 'test/rubygems/test_gem_resolver_local_specification.rb')
-rw-r--r-- | test/rubygems/test_gem_resolver_local_specification.rb | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/test/rubygems/test_gem_resolver_local_specification.rb b/test/rubygems/test_gem_resolver_local_specification.rb new file mode 100644 index 0000000000..fc3175a3f7 --- /dev/null +++ b/test/rubygems/test_gem_resolver_local_specification.rb @@ -0,0 +1,45 @@ +require 'rubygems/test_case' +require 'rubygems/available_set' + +class TestGemResolverLocalSpecification < Gem::TestCase + + def setup + super + + @set = Gem::AvailableSet.new + end + + def test_install + specs = spec_fetcher do |fetcher| + fetcher.gem 'a', 2 + end + + source = Gem::Source::SpecificFile.new 'gems/a-2.gem' + + spec = Gem::Resolver::LocalSpecification.new @set, specs['a-2'], source + + called = false + + spec.install({}) do |installer| + called = installer + end + + assert_path_exists File.join @gemhome, 'specifications', 'a-2.gemspec' + + assert_kind_of Gem::Installer, called + end + + def test_installable_platform_eh + b, b_gem = util_gem 'a', 1 do |s| + s.platform = Gem::Platform.new %w[cpu other_platform 1] + end + + source = Gem::Source::SpecificFile.new b_gem + + b_spec = Gem::Resolver::InstalledSpecification.new @set, b, source + + assert b_spec.installable_platform? + end + +end + |