summaryrefslogtreecommitdiff
path: root/test/rubygems
diff options
context:
space:
mode:
authorhsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-12-12 05:07:50 +0000
committerhsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-12-12 05:07:50 +0000
commit7f9bf068fcff9ca7d6a21711f31c5b8d6022dddf (patch)
tree2bf9d83db081c73e583aeaf9f30140732c43282a /test/rubygems
parent53a5b276b8bc6e22a9fecc23dd99259e2d0e7fa4 (diff)
Merge rubygems@21f12a8 from upstream.
* [BudlerVersionFinder] set .filter! and .compatible? to match only on major versions https://github.com/rubygems/rubygems/pull/2515 * Fix broken symlink that points to ../* https://github.com/rubygems/rubygems/pull/2516 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/rubygems')
-rw-r--r--test/rubygems/test_bundled_ca.rb2
-rw-r--r--test/rubygems/test_gem_bundler_version_finder.rb15
-rw-r--r--test/rubygems/test_gem_commands_build_command.rb30
-rw-r--r--test/rubygems/test_gem_package.rb5
-rw-r--r--test/rubygems/test_gem_remote_fetcher.rb1
-rw-r--r--test/rubygems/test_gem_specification.rb10
6 files changed, 44 insertions, 19 deletions
diff --git a/test/rubygems/test_bundled_ca.rb b/test/rubygems/test_bundled_ca.rb
index 97a64af323..d56a374e1d 100644
--- a/test/rubygems/test_bundled_ca.rb
+++ b/test/rubygems/test_bundled_ca.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
require 'rubygems/test_case'
-require 'net/https'
+require 'net/http'
require 'rubygems/request'
# = Testing Bundled CA
diff --git a/test/rubygems/test_gem_bundler_version_finder.rb b/test/rubygems/test_gem_bundler_version_finder.rb
index 7dafe13033..3b63b89423 100644
--- a/test/rubygems/test_gem_bundler_version_finder.rb
+++ b/test/rubygems/test_gem_bundler_version_finder.rb
@@ -88,20 +88,21 @@ class TestGemBundlerVersionFinder < Gem::TestCase
bvf.stub(:bundler_version, v("2.1.1.1")) do
assert bvf.compatible?(util_spec("foo"))
assert bvf.compatible?(util_spec("bundler", "2.1.1.1"))
- refute bvf.compatible?(util_spec("bundler", "2.1.1.a"))
+ assert bvf.compatible?(util_spec("bundler", "2.1.1.a"))
+ assert bvf.compatible?(util_spec("bundler", "2.999"))
refute bvf.compatible?(util_spec("bundler", "1.999"))
- refute bvf.compatible?(util_spec("bundler", "2.999"))
+ refute bvf.compatible?(util_spec("bundler", "3.0.0"))
end
end
def test_filter
- versions = %w[1 1.0 1.0.1.1 2.a 3 3.0]
+ versions = %w[1 1.0 1.0.1.1 2 2.a 2.0 2.1.1 3 3.a 3.0 3.1.1]
specs = versions.map { |v| util_spec("bundler", v) }
- assert_equal %w[1 1.0 1.0.1.1 2.a 3 3.0], util_filter_specs(specs).map(&:version).map(&:to_s)
+ assert_equal %w[1 1.0 1.0.1.1 2 2.a 2.0 2.1.1 3 3.a 3.0 3.1.1], util_filter_specs(specs).map(&:version).map(&:to_s)
bvf.stub(:bundler_version, v("2.1.1.1")) do
- assert_empty util_filter_specs(specs).map(&:version).map(&:to_s)
+ assert_equal %w[2 2.a 2.0 2.1.1], util_filter_specs(specs).map(&:version).map(&:to_s)
end
bvf.stub(:bundler_version, v("1.1.1.1")) do
assert_equal %w[1 1.0 1.0.1.1], util_filter_specs(specs).map(&:version).map(&:to_s)
@@ -110,10 +111,10 @@ class TestGemBundlerVersionFinder < Gem::TestCase
assert_equal %w[1 1.0 1.0.1.1], util_filter_specs(specs).map(&:version).map(&:to_s)
end
bvf.stub(:bundler_version, v("2.a")) do
- assert_equal %w[2.a], util_filter_specs(specs).map(&:version).map(&:to_s)
+ assert_equal %w[2 2.a 2.0 2.1.1], util_filter_specs(specs).map(&:version).map(&:to_s)
end
bvf.stub(:bundler_version, v("3")) do
- assert_equal %w[3 3.0], util_filter_specs(specs).map(&:version).map(&:to_s)
+ assert_equal %w[3 3.a 3.0 3.1.1], util_filter_specs(specs).map(&:version).map(&:to_s)
end
end
diff --git a/test/rubygems/test_gem_commands_build_command.rb b/test/rubygems/test_gem_commands_build_command.rb
index 68b5724c61..ac82a408c7 100644
--- a/test/rubygems/test_gem_commands_build_command.rb
+++ b/test/rubygems/test_gem_commands_build_command.rb
@@ -22,7 +22,6 @@ class TestGemCommandsBuildCommand < Gem::TestCase
end
@gem = util_spec 'some_gem' do |s|
- s.rubyforge_project = 'example'
s.license = 'AGPL-3.0'
s.files = ['README.md']
end
@@ -37,11 +36,39 @@ class TestGemCommandsBuildCommand < Gem::TestCase
assert @cmd.options[:strict]
end
+ def test_options_filename
+ gemspec_file = File.join(@tempdir, @gem.spec_name)
+
+ File.open gemspec_file, 'w' do |gs|
+ gs.write @gem.to_ruby
+ end
+
+ @cmd.options[:args] = [gemspec_file]
+ @cmd.options[:output] = "test.gem"
+
+ use_ui @ui do
+ Dir.chdir @tempdir do
+ @cmd.execute
+ end
+ end
+
+ file = File.join(@tempdir, File::SEPARATOR, "test.gem")
+ assert File.exist?(file)
+
+ output = @ui.output.split "\n"
+ assert_equal " Successfully built RubyGem", output.shift
+ assert_equal " Name: some_gem", output.shift
+ assert_equal " Version: 2", output.shift
+ assert_equal " File: test.gem", output.shift
+ assert_equal [], output
+ end
+
def test_handle_options_defaults
@cmd.handle_options []
refute @cmd.options[:force]
refute @cmd.options[:strict]
+ assert_nil @cmd.options[:output]
end
def test_execute
@@ -97,7 +124,6 @@ class TestGemCommandsBuildCommand < Gem::TestCase
def test_execute_strict_with_warnings
bad_gem = util_spec 'some_bad_gem' do |s|
- s.rubyforge_project = 'example'
s.files = ['README.md']
end
diff --git a/test/rubygems/test_gem_package.rb b/test/rubygems/test_gem_package.rb
index b868fe237c..77c5b65c90 100644
--- a/test/rubygems/test_gem_package.rb
+++ b/test/rubygems/test_gem_package.rb
@@ -151,7 +151,7 @@ class TestGemPackage < Gem::Package::TarTestCase
def test_add_files_symlink
spec = Gem::Specification.new
- spec.files = %w[lib/code.rb lib/code_sym.rb]
+ spec.files = %w[lib/code.rb lib/code_sym.rb lib/code_sym2.rb]
FileUtils.mkdir_p 'lib'
File.open 'lib/code.rb', 'w' do |io| io.write '# lib/code.rb' end
@@ -159,6 +159,7 @@ class TestGemPackage < Gem::Package::TarTestCase
# NOTE: 'code.rb' is correct, because it's relative to lib/code_sym.rb
begin
File.symlink('code.rb', 'lib/code_sym.rb')
+ File.symlink('../lib/code.rb', 'lib/code_sym2.rb')
rescue Errno::EACCES => e
if win_platform?
skip "symlink - must be admin with no UAC on Windows"
@@ -189,7 +190,7 @@ class TestGemPackage < Gem::Package::TarTestCase
end
assert_equal %w[lib/code.rb], files
- assert_equal [{'lib/code_sym.rb' => 'lib/code.rb'}], symlinks
+ assert_equal [{'lib/code_sym.rb' => 'lib/code.rb'}, {'lib/code_sym2.rb' => '../lib/code.rb'}], symlinks
end
def test_build
diff --git a/test/rubygems/test_gem_remote_fetcher.rb b/test/rubygems/test_gem_remote_fetcher.rb
index 6561ba6bda..ad99783c64 100644
--- a/test/rubygems/test_gem_remote_fetcher.rb
+++ b/test/rubygems/test_gem_remote_fetcher.rb
@@ -51,7 +51,6 @@ gems:
author: Jim Weirich
email: jim@weirichhouse.org
homepage: http://rake.rubyforge.org
- rubyforge_project: rake
description: Rake is a Make-like program implemented in Ruby. Tasks and dependencies are specified in standard Ruby syntax.
autorequire:
default_executable: rake
diff --git a/test/rubygems/test_gem_specification.rb b/test/rubygems/test_gem_specification.rb
index 7a26d5918e..8deb211798 100644
--- a/test/rubygems/test_gem_specification.rb
+++ b/test/rubygems/test_gem_specification.rb
@@ -48,7 +48,6 @@ end
s.extensions << 'ext/a/extconf.rb'
s.test_file = 'test/suite.rb'
s.requirements << 'A working computer'
- s.rubyforge_project = 'example'
s.license = 'MIT'
s.add_dependency 'rake', '> 0.4'
@@ -80,7 +79,6 @@ end
s.executable = 'exec'
s.test_file = 'test/suite.rb'
s.requirements << 'A working computer'
- s.rubyforge_project = 'example'
s.license = 'MIT'
s.mark_version
@@ -701,7 +699,6 @@ end
required_ruby_version
required_rubygems_version
requirements
- rubyforge_project
rubygems_version
signing_key
specification_version
@@ -871,7 +868,6 @@ require_paths:
author: Austin Ziegler
email: diff-lcs@halostatue.ca
homepage: http://rubyforge.org/projects/ruwiki/
-rubyforge_project: ruwiki
description: "Test"
bindir: bin
has_rdoc: true
@@ -1215,7 +1211,7 @@ dependencies: []
data = Marshal.load Gem::Util.inflate(Gem.read_binary(path))
- assert_nil data.rubyforge_project
+ assert_nil data.signing_key
end
def test_initialize
@@ -2506,7 +2502,6 @@ Gem::Specification.new do |s|
s.homepage = "http://example.com".freeze
s.licenses = ["MIT".freeze]
s.requirements = ["A working computer".freeze]
- s.rubyforge_project = "example".freeze
s.rubygems_version = "#{Gem::VERSION}".freeze
s.summary = "this is a summary".freeze
s.test_files = ["test/suite.rb".freeze]
@@ -2699,6 +2694,7 @@ end
@a1.add_runtime_dependency 'l', '> 1.2.3'
@a1.add_runtime_dependency 'm', '~> 2.1.0'
@a1.add_runtime_dependency 'n', '~> 0.1.0'
+ @a1.add_runtime_dependency 'o'
use_ui @ui do
@a1.validate
@@ -2719,6 +2715,8 @@ end
#{w}: open-ended dependency on l (> 1.2.3) is not recommended
if l is semantically versioned, use:
add_runtime_dependency 'l', '~> 1.2', '> 1.2.3'
+#{w}: open-ended dependency on o (>= 0) is not recommended
+ use a bounded requirement, such as '~> x.y'
#{w}: See http://guides.rubygems.org/specification-reference/ for help
EXPECTED