summaryrefslogtreecommitdiff
path: root/test/rubygems
diff options
context:
space:
mode:
Diffstat (limited to 'test/rubygems')
-rw-r--r--test/rubygems/test_gem_dependency_installer.rb55
-rw-r--r--test/rubygems/test_gem_installer.rb37
-rw-r--r--test/rubygems/test_gem_source_list.rb2
3 files changed, 93 insertions, 1 deletions
diff --git a/test/rubygems/test_gem_dependency_installer.rb b/test/rubygems/test_gem_dependency_installer.rb
index d515505922..bfebc6f63b 100644
--- a/test/rubygems/test_gem_dependency_installer.rb
+++ b/test/rubygems/test_gem_dependency_installer.rb
@@ -35,6 +35,61 @@ class TestGemDependencyInstaller < Gem::TestCase
util_reset_gems
end
+ def test_available_set_for_name
+ util_setup_gems
+ p1a, gem = util_gem 'a', '10.a'
+ util_setup_spec_fetcher p1a, @a1, @a1_pre
+
+ inst = Gem::DependencyInstaller.new
+
+ available = inst.available_set_for 'a', Gem::Requirement.default
+
+ assert_equal %w[a-1], available.set.map { |s| s.spec.full_name }
+ end
+
+ def test_available_set_for_name_prerelease
+ util_setup_gems
+ p1a, gem = util_gem 'a', '10.a'
+ util_setup_spec_fetcher p1a, @a1, @a1_pre
+
+ inst = Gem::DependencyInstaller.new :prerelease => true
+
+ available = inst.available_set_for 'a', Gem::Requirement.default
+
+ assert_equal %w[a-10.a],
+ available.sorted.map { |s| s.spec.full_name }
+ end
+
+ def test_available_set_for_dep
+ util_setup_gems
+ p1a, gem = util_gem 'a', '10.a'
+ util_setup_spec_fetcher p1a, @a1, @a1_pre
+
+ inst = Gem::DependencyInstaller.new
+
+ dep = Gem::Dependency.new 'a', Gem::Requirement.default
+
+ available = inst.available_set_for dep, Gem::Requirement.default
+
+ assert_equal %w[a-1], available.set.map { |s| s.spec.full_name }
+ end
+
+ def test_available_set_for_dep_prerelease
+ util_setup_gems
+ p1a, gem = util_gem 'a', '10.a'
+ util_setup_spec_fetcher p1a, @a1, @a1_pre
+
+ inst = Gem::DependencyInstaller.new :prerelease => true
+
+ dep = Gem::Dependency.new 'a', Gem::Requirement.default
+ dep.prerelease = true
+
+ available = inst.available_set_for dep, Gem::Requirement.default
+
+ assert_equal %w[a-10.a],
+ available.sorted.map { |s| s.spec.full_name }
+ end
+
def test_install
util_setup_gems
diff --git a/test/rubygems/test_gem_installer.rb b/test/rubygems/test_gem_installer.rb
index bb48f35d9f..ddedd8144c 100644
--- a/test/rubygems/test_gem_installer.rb
+++ b/test/rubygems/test_gem_installer.rb
@@ -190,6 +190,43 @@ load Gem.bin_path('a', 'executable', version)
Gem::ConfigMap[:bindir] = orig_bindir
end
+ def test_check_executable_overwrite_format_executable
+ @installer.generate_bin
+
+ @spec = Gem::Specification.new do |s|
+ s.files = ['lib/code.rb']
+ s.name = "a"
+ s.version = "3"
+ s.summary = "summary"
+ s.description = "desc"
+ s.require_path = 'lib'
+ end
+
+ open File.join(util_inst_bindir, 'executable'), 'w' do |io|
+ io.write <<-EXEC
+#!/usr/local/bin/ruby
+#
+# This file was generated by RubyGems
+
+gem 'other', version
+ EXEC
+ end
+
+ util_make_exec
+ Gem::Installer.exec_format = 'foo-%s-bar'
+ @installer.gem_dir = @spec.gem_dir
+ @installer.wrappers = true
+ @installer.format_executable = true
+
+ @installer.generate_bin # should not raise
+
+ installed_exec = File.join util_inst_bindir, 'foo-executable-bar'
+ assert File.exist? installed_exec
+
+ wrapper = File.read installed_exec
+ assert_match %r|generated by RubyGems|, wrapper
+ end
+
def test_check_executable_overwrite_other_gem
util_conflict_executable true
diff --git a/test/rubygems/test_gem_source_list.rb b/test/rubygems/test_gem_source_list.rb
index d6e253833e..e2d6da62cd 100644
--- a/test/rubygems/test_gem_source_list.rb
+++ b/test/rubygems/test_gem_source_list.rb
@@ -5,7 +5,7 @@ class TestGemSourceList < Gem::TestCase
def setup
super
- @uri = "http://blah.com"
+ @uri = "http://example"
@source = Gem::Source.new(@uri)
@sl = Gem::SourceList.new