summaryrefslogtreecommitdiff
path: root/test/rubygems/test_gem_resolver_local_specification.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/rubygems/test_gem_resolver_local_specification.rb')
-rw-r--r--test/rubygems/test_gem_resolver_local_specification.rb45
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
+