Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions lib/rubygems/package_task.rb
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ def init(gem)
super gem.full_name, :noversion
@gem_spec = gem
@package_files += gem_spec.files if gem_spec.files
@fileutils_output = $stdout
end

##
Expand Down
53 changes: 46 additions & 7 deletions test/rubygems/test_gem_package_task.rb
Original file line number Diff line number Diff line change
@@ -1,22 +1,27 @@
# frozen_string_literal: true
require 'rubygems/test_case'
require 'rubygems'
require 'bundler/errors'
begin
require 'rubygems/package_task'
rescue LoadError, Bundler::GemfileNotFound
end
require 'rubygems/package_task'

class TestGemPackageTask < Gem::TestCase

def setup
super

Rake.application = Rake::Application.new
RakeFileUtils.verbose_flag = false

@original_rake_fileutils_verbosity = RakeFileUtils.verbose_flag
end

def teardown
RakeFileUtils.verbose_flag = @original_rake_fileutils_verbosity

super
end

def test_gem_package
RakeFileUtils.verbose_flag = false

gem = Gem::Specification.new do |g|
g.name = "pkgr"
g.version = "1.2.3"
Expand All @@ -42,7 +47,37 @@ def test_gem_package
end
end

def test_gem_package_prints_to_stdout_by_default
gem = Gem::Specification.new do |g|
g.name = "pkgr"
g.version = "1.2.3"

g.authors = %w[author]
g.files = %w[x]
g.summary = 'summary'
end

pkg = Gem::PackageTask.new(gem) do |p|
p.package_files << "y"
end

assert_equal %w[x y], pkg.package_files

Dir.chdir @tempdir do
FileUtils.touch 'x'
FileUtils.touch 'y'

_, err = capture_io do
Rake.application['package'].invoke
end

assert_empty err
end
end

def test_gem_package_with_current_platform
RakeFileUtils.verbose_flag = false

gem = Gem::Specification.new do |g|
g.name = "pkgr"
g.version = "1.2.3"
Expand All @@ -56,6 +91,8 @@ def test_gem_package_with_current_platform
end

def test_gem_package_with_ruby_platform
RakeFileUtils.verbose_flag = false

gem = Gem::Specification.new do |g|
g.name = "pkgr"
g.version = "1.2.3"
Expand All @@ -69,6 +106,8 @@ def test_gem_package_with_ruby_platform
end

def test_package_dir_path
RakeFileUtils.verbose_flag = false

gem = Gem::Specification.new do |g|
g.name = 'nokogiri'
g.version = '1.5.0'
Expand All @@ -81,4 +120,4 @@ def test_package_dir_path
assert_equal 'pkg/nokogiri-1.5.0-java', pkg.package_dir_path
end

end if defined?(Rake::PackageTask)
end