summaryrefslogtreecommitdiff
path: root/test/rubygems/test_gem_package_tar_header.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/rubygems/test_gem_package_tar_header.rb')
-rw-r--r--test/rubygems/test_gem_package_tar_header.rb137
1 files changed, 82 insertions, 55 deletions
diff --git a/test/rubygems/test_gem_package_tar_header.rb b/test/rubygems/test_gem_package_tar_header.rb
index 0e72a72d6a..a3f95bb770 100644
--- a/test/rubygems/test_gem_package_tar_header.rb
+++ b/test/rubygems/test_gem_package_tar_header.rb
@@ -1,25 +1,26 @@
# frozen_string_literal: true
-require_relative 'package/tar_test_case'
-require 'rubygems/package'
+
+require_relative "package/tar_test_case"
+require "rubygems/package"
class TestGemPackageTarHeader < Gem::Package::TarTestCase
def setup
super
header = {
- :name => 'x',
- :mode => 0644,
- :uid => 1000,
- :gid => 10000,
- :size => 100,
- :mtime => 12345,
- :typeflag => '0',
- :linkname => 'link',
- :uname => 'user',
- :gname => 'group',
- :devmajor => 1,
- :devminor => 2,
- :prefix => 'y',
+ name: "x",
+ mode: 0o644,
+ uid: 1000,
+ gid: 10_000,
+ size: 100,
+ mtime: 12_345,
+ typeflag: "0",
+ linkname: "link",
+ uname: "user",
+ gname: "group",
+ devmajor: 1,
+ devminor: 2,
+ prefix: "y",
}
@tar_header = Gem::Package::TarHeader.new header
@@ -36,66 +37,91 @@ class TestGemPackageTarHeader < Gem::Package::TarTestCase
end
def test_initialize
- assert_equal '', @tar_header.checksum, 'checksum'
- assert_equal 1, @tar_header.devmajor, 'devmajor'
- assert_equal 2, @tar_header.devminor, 'devminor'
- assert_equal 10000, @tar_header.gid, 'gid'
- assert_equal 'group', @tar_header.gname, 'gname'
- assert_equal 'link', @tar_header.linkname, 'linkname'
- assert_equal 'ustar', @tar_header.magic, 'magic'
- assert_equal 0644, @tar_header.mode, 'mode'
- assert_equal 12345, @tar_header.mtime, 'mtime'
- assert_equal 'x', @tar_header.name, 'name'
- assert_equal 'y', @tar_header.prefix, 'prefix'
- assert_equal 100, @tar_header.size, 'size'
- assert_equal '0', @tar_header.typeflag, 'typeflag'
- assert_equal 1000, @tar_header.uid, 'uid'
- assert_equal 'user', @tar_header.uname, 'uname'
- assert_equal '00', @tar_header.version, 'version'
-
- refute_empty @tar_header, 'empty'
+ assert_equal "", @tar_header.checksum, "checksum"
+ assert_equal 1, @tar_header.devmajor, "devmajor"
+ assert_equal 2, @tar_header.devminor, "devminor"
+ assert_equal 10_000, @tar_header.gid, "gid"
+ assert_equal "group", @tar_header.gname, "gname"
+ assert_equal "link", @tar_header.linkname, "linkname"
+ assert_equal "ustar", @tar_header.magic, "magic"
+ assert_equal 0o644, @tar_header.mode, "mode"
+ assert_equal 12_345, @tar_header.mtime, "mtime"
+ assert_equal "x", @tar_header.name, "name"
+ assert_equal "y", @tar_header.prefix, "prefix"
+ assert_equal 100, @tar_header.size, "size"
+ assert_equal "0", @tar_header.typeflag, "typeflag"
+ assert_equal 1000, @tar_header.uid, "uid"
+ assert_equal "user", @tar_header.uname, "uname"
+ assert_equal "00", @tar_header.version, "version"
+
+ refute_empty @tar_header, "empty"
end
def test_initialize_bad
assert_raise ArgumentError do
- Gem::Package::TarHeader.new :name => '', :size => '', :mode => ''
+ Gem::Package::TarHeader.new name: "", size: "", mode: ""
end
assert_raise ArgumentError do
- Gem::Package::TarHeader.new :name => '', :size => '', :prefix => ''
+ Gem::Package::TarHeader.new name: "", size: "", prefix: ""
end
assert_raise ArgumentError do
- Gem::Package::TarHeader.new :name => '', :prefix => '', :mode => ''
+ Gem::Package::TarHeader.new name: "", prefix: "", mode: ""
end
assert_raise ArgumentError do
- Gem::Package::TarHeader.new :prefix => '', :size => '', :mode => ''
+ Gem::Package::TarHeader.new prefix: "", size: "", mode: ""
end
end
def test_initialize_typeflag
header = {
- :mode => '',
- :name => '',
- :prefix => '',
- :size => '',
- :typeflag => '',
+ mode: "",
+ name: "",
+ prefix: "",
+ size: "",
+ typeflag: "",
}
tar_header = Gem::Package::TarHeader.new header
- assert_equal '0', tar_header.typeflag
+ assert_equal "0", tar_header.typeflag
end
def test_empty_eh
refute_empty @tar_header
- @tar_header = Gem::Package::TarHeader.new :name => 'x', :prefix => '',
- :mode => 0, :size => 0,
- :empty => true
+ @tar_header = Gem::Package::TarHeader.new name: "x", prefix: "",
+ mode: 0, size: 0,
+ empty: true
+
+ assert_empty @tar_header
+ end
+
+ def test_empty
+ @tar_header = Gem::Package::TarHeader.from(StringIO.new(Gem::Package::TarHeader::EMPTY_HEADER))
assert_empty @tar_header
+ assert_equal Gem::Package::TarHeader.new(
+ checksum: 0,
+ devmajor: 0,
+ devminor: 0,
+ empty: true,
+ gid: 0,
+ gname: "",
+ linkname: "",
+ magic: "",
+ mode: 0,
+ mtime: 0,
+ name: "",
+ prefix: "",
+ size: 0,
+ typeflag: "0",
+ uid: 0,
+ uname: "",
+ version: 0,
+ ), @tar_header
end
def test_equals2
@@ -135,11 +161,11 @@ group\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000
end
def test_update_checksum
- assert_equal '', @tar_header.checksum
+ assert_equal "", @tar_header.checksum
@tar_header.update_checksum
- assert_equal '012467', @tar_header.checksum
+ assert_equal "012467", @tar_header.checksum
end
def test_from_bad_octal
@@ -159,13 +185,14 @@ group\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000
assert_raise ArgumentError do
Gem::Package::TarHeader.from io
end
+ ensure
io.close!
end
end
def test_big_uid_gid
stream = StringIO.new(
- <<-EOF.dup.force_encoding('binary').split("\n").join
+ <<-EOF.dup.force_encoding("binary").split("\n").join
GeoIP2-City_20190528/
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
@@ -194,19 +221,19 @@ tjmather\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
tar_header = Gem::Package::TarHeader.from stream
- assert_equal 1991400094, tar_header.uid
- assert_equal 1991400094, tar_header.gid
+ assert_equal 1_991_400_094, tar_header.uid
+ assert_equal 1_991_400_094, tar_header.gid
- assert_equal 'GeoIP2-City_20190528/', tar_header.name
- assert_equal 0755, tar_header.mode
+ assert_equal "GeoIP2-City_20190528/", tar_header.name
+ assert_equal 0o755, tar_header.mode
assert_equal 0, tar_header.size
- assert_equal 1559064640, tar_header.mtime
+ assert_equal 1_559_064_640, tar_header.mtime
assert_equal 6932, tar_header.checksum
end
def test_spaces_in_headers
stream = StringIO.new(
- <<-EOF.dup.force_encoding('binary').split("\n").join
+ <<-EOF.dup.force_encoding("binary").split("\n").join
Access_Points_09202018.csv
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00