From fcbf63e62c627deae76c1b8cb8c0876c536ed811 Mon Sep 17 00:00:00 2001 From: Jari Vetoniemi Date: Mon, 16 Mar 2020 18:49:26 +0900 Subject: Fresh start --- .../rubygems/test_gem_resolver_specification.rb | 64 ++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 jni/ruby/test/rubygems/test_gem_resolver_specification.rb (limited to 'jni/ruby/test/rubygems/test_gem_resolver_specification.rb') diff --git a/jni/ruby/test/rubygems/test_gem_resolver_specification.rb b/jni/ruby/test/rubygems/test_gem_resolver_specification.rb new file mode 100644 index 0000000..e1ec68a --- /dev/null +++ b/jni/ruby/test/rubygems/test_gem_resolver_specification.rb @@ -0,0 +1,64 @@ +require 'rubygems/test_case' + +class TestGemResolverSpecification < Gem::TestCase + + class TestSpec < Gem::Resolver::Specification + attr_writer :source + attr_reader :spec + + def initialize spec + super() + + @spec = spec + 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 + + a_spec = TestSpec.new a + + assert a_spec.installable_platform? + + b = util_spec 'a', 1 do |s| + s.platform = Gem::Platform.new %w[cpu other_platform 1] + end + + b_spec = TestSpec.new b + + 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 + -- cgit v1.2.3