minitar 0.9 → 0.12

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,18 +2,19 @@
2
2
 
3
3
  ##
4
4
  module Archive; end
5
+
5
6
  ##
6
7
  module Archive::Tar; end
7
8
 
8
- require 'fileutils'
9
- require 'rbconfig'
9
+ require "fileutils"
10
+ require "rbconfig"
10
11
 
11
- class << Archive::Tar #:nodoc:
12
- def const_missing(const) #:nodoc:
12
+ class << Archive::Tar # :nodoc:
13
+ def const_missing(const) # :nodoc:
13
14
  case const
14
15
  when :PosixHeader
15
- warn 'Archive::Tar::PosixHeader has been renamed to ' \
16
- 'Archive::Tar::Minitar::PosixHeader'
16
+ warn "Archive::Tar::PosixHeader has been renamed to " \
17
+ "Archive::Tar::Minitar::PosixHeader"
17
18
  const_set :PosixHeader, Archive::Tar::Minitar::PosixHeader
18
19
  else
19
20
  super
@@ -29,7 +30,7 @@ class << Archive::Tar #:nodoc:
29
30
  end
30
31
 
31
32
  def modules
32
- require 'set'
33
+ require "set"
33
34
  @modules ||= Set.new
34
35
  end
35
36
  end
@@ -73,7 +74,7 @@ end
73
74
  # tar.close
74
75
  # end
75
76
  module Archive::Tar::Minitar
76
- VERSION = '0.9'.freeze # :nodoc:
77
+ VERSION = "0.12".freeze # :nodoc:
77
78
 
78
79
  # The base class for any minitar error.
79
80
  Error = Class.new(::StandardError)
@@ -99,36 +100,36 @@ module Archive::Tar::Minitar
99
100
  # corrupted <tt>stat()</tt> call on Windows.
100
101
  def dir?(path)
101
102
  # rubocop:disable Style/CharacterLiteral
102
- File.directory?(path[-1] == ?/ ? path : "#{path}/")
103
+ File.directory?((path[-1] == ?/) ? path : "#{path}/")
103
104
  # rubocop:enable Style/CharacterLiteral
104
105
  end
105
106
 
106
107
  # A convenience method for wrapping Archive::Tar::Minitar::Input.open
107
108
  # (mode +r+) and Archive::Tar::Minitar::Output.open (mode +w+). No other
108
109
  # modes are currently supported.
109
- def open(dest, mode = 'r', &block)
110
+ def open(dest, mode = "r", &block)
110
111
  case mode
111
- when 'r'
112
+ when "r"
112
113
  Input.open(dest, &block)
113
- when 'w'
114
+ when "w"
114
115
  Output.open(dest, &block)
115
116
  else
116
- raise 'Unknown open mode for Archive::Tar::Minitar.open.'
117
+ raise "Unknown open mode for Archive::Tar::Minitar.open."
117
118
  end
118
119
  end
119
120
 
120
- def const_missing(c) #:nodoc:
121
+ def const_missing(c) # :nodoc:
121
122
  case c
122
123
  when :BlockRequired
123
- warn 'This constant has been removed.'
124
+ warn "This constant has been removed."
124
125
  const_set(:BlockRequired, Class.new(StandardError))
125
126
  else
126
127
  super
127
128
  end
128
129
  end
129
130
 
130
- def windows? #:nodoc:
131
- RbConfig::CONFIG['host_os'] =~ /^(mswin|mingw|cygwin)/
131
+ def windows? # :nodoc:
132
+ RbConfig::CONFIG["host_os"] =~ /^(mswin|mingw|cygwin)/
132
133
  end
133
134
 
134
135
  # A convenience method to pack the file provided. +entry+ may either be a
@@ -165,39 +166,39 @@ module Archive::Tar::Minitar
165
166
  # <tt>:uid</tt>:: The user owner of the file. (+nil+ on Windows.)
166
167
  # <tt>:gid</tt>:: The group owner of the file. (+nil+ on Windows.)
167
168
  # <tt>:mtime</tt>:: The modification Time of the file.
168
- def pack_file(entry, outputter) #:yields action, name, stats:
169
- if outputter.kind_of?(Archive::Tar::Minitar::Output)
169
+ def pack_file(entry, outputter) # :yields action, name, stats:
170
+ if outputter.is_a?(Archive::Tar::Minitar::Output)
170
171
  outputter = outputter.tar
171
172
  end
172
173
 
173
174
  stats = {}
174
175
 
175
- if entry.kind_of?(Hash)
176
+ if entry.is_a?(Hash)
176
177
  name = entry[:name]
177
178
  entry.each { |kk, vv| stats[kk] = vv unless vv.nil? }
178
179
  else
179
180
  name = entry
180
181
  end
181
182
 
182
- name = name.sub(%r{\./}, '')
183
+ name = name.sub(%r{\./}, "")
183
184
  stat = File.stat(name)
184
- stats[:mode] ||= stat.mode
185
- stats[:mtime] ||= stat.mtime
185
+ stats[:mode] ||= stat.mode
186
+ stats[:mtime] ||= stat.mtime
186
187
  stats[:size] = stat.size
187
188
 
188
189
  if windows?
189
- stats[:uid] = nil
190
- stats[:gid] = nil
190
+ stats[:uid] = nil
191
+ stats[:gid] = nil
191
192
  else
192
- stats[:uid] ||= stat.uid
193
- stats[:gid] ||= stat.gid
193
+ stats[:uid] ||= stat.uid
194
+ stats[:gid] ||= stat.gid
194
195
  end
195
196
 
196
197
  if File.file?(name)
197
198
  outputter.add_file_simple(name, stats) do |os|
198
199
  stats[:current] = 0
199
200
  yield :file_start, name, stats if block_given?
200
- File.open(name, 'rb') do |ff|
201
+ File.open(name, "rb") do |ff|
201
202
  until ff.eof?
202
203
  stats[:currinc] = os.write(ff.read(4096))
203
204
  stats[:current] += stats[:currinc]
@@ -210,7 +211,7 @@ module Archive::Tar::Minitar
210
211
  yield :dir, name, stats if block_given?
211
212
  outputter.mkdir(name, stats)
212
213
  else
213
- raise %q(Don't yet know how to pack this type of file.)
214
+ raise "Don't yet know how to pack this type of file."
214
215
  end
215
216
  end
216
217
 
@@ -219,14 +220,14 @@ module Archive::Tar::Minitar
219
220
  # the resulting Archive::Tar::Minitar::Output stream; if +recurse_dirs+ is
220
221
  # true, then directories will be recursed.
221
222
  #
222
- # If +src+ is an Array, it will be treated as the result of Find.find; all
223
- # files matching will be packed.
223
+ # If +src+ is not an Array, it will be treated as the result of Find.find;
224
+ # all files matching will be packed.
224
225
  def pack(src, dest, recurse_dirs = true, &block)
225
- require 'find'
226
+ require "find"
226
227
  Output.open(dest) do |outp|
227
- if src.kind_of?(Array)
228
+ if src.is_a?(Array)
228
229
  src.each do |entry|
229
- if dir?(entry) and recurse_dirs
230
+ if dir?(entry) && recurse_dirs
230
231
  Find.find(entry) do |ee|
231
232
  pack_file(ee, outp, &block)
232
233
  end
@@ -247,14 +248,14 @@ module Archive::Tar::Minitar
247
248
  # will be extracted.
248
249
  def unpack(src, dest, files = [], options = {}, &block)
249
250
  Input.open(src) do |inp|
250
- if File.exist?(dest) and !dir?(dest)
251
- raise %q(Can't unpack to a non-directory.)
251
+ if File.exist?(dest) && !dir?(dest)
252
+ raise "Can't unpack to a non-directory."
252
253
  end
253
254
 
254
255
  FileUtils.mkdir_p(dest) unless File.exist?(dest)
255
256
 
256
257
  inp.each do |entry|
257
- if files.empty? or files.include?(entry.full_name)
258
+ if files.empty? || files.include?(entry.full_name)
258
259
  inp.extract_entry(dest, entry, options, &block)
259
260
  end
260
261
  end
@@ -269,8 +270,8 @@ module Archive::Tar::Minitar
269
270
  io.stat.file?
270
271
  else
271
272
  # Duck-type the rest of this.
272
- methods ||= [ :pos, :pos=, :seek, :rewind ]
273
- methods = [ methods ] unless methods.kind_of?(Array)
273
+ methods ||= [:pos, :pos=, :seek, :rewind]
274
+ methods = [methods] unless methods.is_a?(Array)
274
275
  methods.all? { |m| io.respond_to?(m) }
275
276
  end
276
277
  end
@@ -284,7 +285,7 @@ module Archive::Tar::Minitar
284
285
  end
285
286
 
286
287
  def modules
287
- require 'set'
288
+ require "set"
288
289
  @modules ||= Set.new
289
290
  end
290
291
  end
@@ -293,7 +294,7 @@ module Archive::Tar::Minitar
293
294
  module ByteSize # :nodoc:
294
295
  private
295
296
 
296
- if ''.respond_to?(:bytesize)
297
+ if "".respond_to?(:bytesize)
297
298
  def bytesize(item)
298
299
  item.bytesize
299
300
  end
@@ -305,6 +306,6 @@ module Archive::Tar::Minitar
305
306
  end
306
307
  end
307
308
 
308
- require 'archive/tar/minitar/posix_header'
309
- require 'archive/tar/minitar/input'
310
- require 'archive/tar/minitar/output'
309
+ require "archive/tar/minitar/posix_header"
310
+ require "archive/tar/minitar/input"
311
+ require "archive/tar/minitar/output"
@@ -1,3 +1,3 @@
1
1
  # coding: utf-8
2
2
 
3
- require 'archive/tar/minitar'
3
+ require "archive/tar/minitar"
data/lib/minitar.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # coding: utf-8
2
2
 
3
- require 'archive/tar/minitar'
3
+ require "archive/tar/minitar"
4
4
 
5
5
  if defined?(::Minitar) && ::Minitar != Archive::Tar::Minitar
6
6
  warn <<-EOS
@@ -0,0 +1,64 @@
1
+ # A Hoe plug-in to provide a second, linked gemspec, for a gem that has been
2
+ # deprecated in favour of a modern name. (The name is an artifact of Hoe's
3
+ # plugin loading.)
4
+ module Hoe::Deprecated_Gem # standard:disable Naming/ClassAndModuleCamelCase
5
+ def linked_spec(spec)
6
+ permitted_classes = %w[
7
+ Symbol Time Date Gem::Dependency Gem::Platform Gem::Requirement
8
+ Gem::Specification Gem::Version Gem::Version::Requirement
9
+ YAML::Syck::DefaultKey Syck::DefaultKey
10
+ ]
11
+ permitted_symbols = %w[development runtime]
12
+ atm = begin
13
+ YAML.safe_load(
14
+ YAML.dump(spec),
15
+ :permitted_classes => permitted_classes,
16
+ :permitted_symbols => permitted_symbols,
17
+ :aliases => true
18
+ )
19
+ rescue
20
+ YAML.safe_load(
21
+ YAML.dump(spec), permitted_classes, permitted_symbols, true
22
+ )
23
+ end
24
+ atm.name = "archive-tar-minitar"
25
+ d = %('#{atm.name}' has been deprecated; just install '#{spec.name}'.)
26
+ atm.description = "#{d} #{spec.description}"
27
+ atm.summary = atm.post_install_message = d
28
+ atm.files.delete_if do |f|
29
+ f !~ %r{lib/archive-tar-minitar\.rb}
30
+ end
31
+ atm.extra_rdoc_files.clear
32
+ atm.rdoc_options.clear
33
+ atm.dependencies.clear
34
+
35
+ version = Gem::Version.new(spec.version.segments.first(2).join("."))
36
+
37
+ atm.add_dependency(spec.name, "~> #{version}")
38
+ atm.add_dependency(%(#{spec.name}-cli), "~> #{version}")
39
+
40
+ unless @include_all
41
+ [:signing_key, :cert_chain].each { |name|
42
+ atm.send(:"#{name}=", atm.default_value(name))
43
+ }
44
+ end
45
+
46
+ atm
47
+ end
48
+
49
+ def define_deprecated_gem_tasks
50
+ gemspec = spec.name + ".gemspec"
51
+ atmspec = "archive-tar-minitar.gemspec"
52
+
53
+ file atmspec => gemspec do
54
+ File.open(atmspec, "w") { |f| f.write(linked_spec(spec).to_ruby) }
55
+ end
56
+
57
+ task :gemspec => atmspec
58
+
59
+ Gem::PackageTask.new linked_spec(spec) do |pkg|
60
+ pkg.need_tar = @need_tar
61
+ pkg.need_zip = @need_zip
62
+ end
63
+ end
64
+ end
@@ -1,11 +1,12 @@
1
- # -*- ruby encoding: utf-8 -*-
1
+ # frozen_string_literal: true
2
2
 
3
- require 'fileutils'
4
- require 'minitar'
3
+ require "fileutils"
4
+ require "minitar"
5
5
 
6
- gem 'minitest'
7
- require 'minitest/autorun'
6
+ gem "minitest"
7
+ require "minitest/autorun"
8
+ require "minitest/focus"
8
9
 
9
- Dir.glob(File.join(File.dirname(__FILE__), 'support/*.rb')).each do |support|
10
+ Dir.glob(File.join(File.dirname(__FILE__), "support/*.rb")).sort.each do |support|
10
11
  require support
11
12
  end
@@ -4,7 +4,7 @@ module TarTestHelpers
4
4
  include Archive::Tar::Minitar::ByteSize
5
5
 
6
6
  Field = Struct.new(:name, :offset, :length)
7
- def self.Field(name, length) # rubocop:disable Style/MethodName
7
+ def self.Field(name, length)
8
8
  @offset ||= 0
9
9
  field = Field.new(name, @offset, length)
10
10
  @offset += length
@@ -15,38 +15,38 @@ module TarTestHelpers
15
15
 
16
16
  private
17
17
 
18
- FIELDS = {} # rubocop:disable Style/MutableConstant
19
- FIELD_ORDER = [] # rubocop:disable Style/MutableConstant
20
-
21
- Field('name', 100)
22
- Field('mode', 8)
23
- Field('uid', 8)
24
- Field('gid', 8)
25
- Field('size', 12)
26
- Field('mtime', 12)
27
- Field('checksum', 8)
28
- Field('typeflag', 1)
29
- Field('linkname', 100)
30
- Field('magic', 6)
31
- Field('version', 2)
32
- Field('uname', 32)
33
- Field('gname', 32)
34
- Field('devmajor', 8)
35
- Field('devminor', 8)
36
- Field('prefix', 155)
37
-
38
- BLANK_CHECKSUM = ' ' * 8
18
+ FIELDS = {}
19
+ FIELD_ORDER = []
20
+
21
+ Field("name", 100)
22
+ Field("mode", 8)
23
+ Field("uid", 8)
24
+ Field("gid", 8)
25
+ Field("size", 12)
26
+ Field("mtime", 12)
27
+ Field("checksum", 8)
28
+ Field("typeflag", 1)
29
+ Field("linkname", 100)
30
+ Field("magic", 6)
31
+ Field("version", 2)
32
+ Field("uname", 32)
33
+ Field("gname", 32)
34
+ Field("devmajor", 8)
35
+ Field("devminor", 8)
36
+ Field("prefix", 155)
37
+
38
+ BLANK_CHECKSUM = " " * 8
39
39
  NULL_100 = "\0" * 100
40
- USTAR = "ustar\0".freeze
41
- DOUBLE_ZERO = '00'.freeze
40
+ USTAR = "ustar\0"
41
+ DOUBLE_ZERO = "00"
42
42
 
43
43
  def assert_headers_equal(expected, actual)
44
44
  FIELD_ORDER.each do |field|
45
- message = if field == 'checksum'
46
- 'Header checksums are expected to match.'
47
- else
48
- "Header field #{field} is expected to match."
49
- end
45
+ message = if field == "checksum"
46
+ "Header checksums are expected to match."
47
+ else
48
+ "Header field #{field} is expected to match."
49
+ end
50
50
 
51
51
  offset = FIELDS[field].offset
52
52
  length = FIELDS[field].length
@@ -66,40 +66,44 @@ module TarTestHelpers
66
66
  end
67
67
 
68
68
  def tar_file_header(fname, dname, mode, length)
69
- update_checksum(header('0', fname, dname, length, mode))
69
+ update_checksum(header("0", fname, dname, length, mode))
70
70
  end
71
71
 
72
72
  def tar_dir_header(name, prefix, mode)
73
- update_checksum(header('5', name, prefix, 0, mode))
73
+ update_checksum(header("5", name, prefix, 0, mode))
74
74
  end
75
75
 
76
- def header(type, fname, dname, length, mode)
76
+ def tar_symlink_header(name, prefix, mode, target)
77
+ update_checksum(header("2", name, prefix, 0, mode, target))
78
+ end
79
+
80
+ def header(type, fname, dname, length, mode, link_name = "")
77
81
  raw_header(type,
78
82
  asciiz(fname, 100),
79
83
  asciiz(dname, 155),
80
84
  z(to_oct(length, 11)),
81
- z(to_oct(mode, 7))
82
- )
85
+ z(to_oct(mode, 7)),
86
+ asciiz(link_name, 100))
83
87
  end
84
88
 
85
- def raw_header(type, fname, dname, length, mode)
89
+ def raw_header(type, fname, dname, length, mode, link_name = "")
86
90
  arr = [
87
91
  fname, mode, z(to_oct(nil, 7)), z(to_oct(nil, 7)),
88
92
  length, z(to_oct(0, 11)), BLANK_CHECKSUM, type,
89
- NULL_100, USTAR, DOUBLE_ZERO, asciiz('', 32), asciiz('', 32),
93
+ asciiz(link_name, 100), USTAR, DOUBLE_ZERO, asciiz("", 32), asciiz("", 32),
90
94
  z(to_oct(nil, 7)), z(to_oct(nil, 7)), dname
91
95
  ]
92
96
 
93
- h = arr.join.bytes.to_a.pack('C100C8C8C8C12C12C8CC100C6C2C32C32C8C8C155')
97
+ h = arr.join.bytes.to_a.pack("C100C8C8C8C12C12C8CC100C6C2C32C32C8C8C155")
94
98
  ret = h + "\0" * (512 - bytesize(h))
95
99
  assert_equal(512, bytesize(ret))
96
100
  ret
97
101
  end
98
102
 
99
103
  def update_checksum(header)
100
- header[FIELDS['checksum'].offset, FIELDS['checksum'].length] =
104
+ header[FIELDS["checksum"].offset, FIELDS["checksum"].length] =
101
105
  # inject(:+) was introduced in which version?
102
- sp(z(to_oct(header.unpack('C*').inject { |a, e| a + e }, 6)))
106
+ sp(z(to_oct(header.unpack("C*").inject { |a, e| a + e }, 6)))
103
107
  header
104
108
  end
105
109
 
@@ -116,7 +120,7 @@ module TarTestHelpers
116
120
  end
117
121
 
118
122
  def sp(s)
119
- s + ' '
123
+ s + " "
120
124
  end
121
125
 
122
126
  def z(s)
@@ -124,7 +128,7 @@ module TarTestHelpers
124
128
  end
125
129
 
126
130
  def mode_string(value)
127
- '%04o' % (value & 0o777)
131
+ "%04o" % (value & 0o777)
128
132
  end
129
133
 
130
134
  Minitest::Test.send(:include, self)
@@ -1,79 +1,79 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'minitest_helper'
3
+ require "minitest_helper"
4
4
 
5
5
  class TestTarHeader < Minitest::Test
6
6
  def test_arguments_are_checked
7
7
  ph = Archive::Tar::Minitar::PosixHeader
8
8
  assert_raises(ArgumentError) {
9
- ph.new(:name => '', :size => '', :mode => '')
9
+ ph.new(:name => "", :size => "", :mode => "")
10
10
  }
11
11
  assert_raises(ArgumentError) {
12
- ph.new(:name => '', :size => '', :prefix => '')
12
+ ph.new(:name => "", :size => "", :prefix => "")
13
13
  }
14
14
  assert_raises(ArgumentError) {
15
- ph.new(:name => '', :prefix => '', :mode => '')
15
+ ph.new(:name => "", :prefix => "", :mode => "")
16
16
  }
17
17
  assert_raises(ArgumentError) {
18
- ph.new(:prefix => '', :size => '', :mode => '')
18
+ ph.new(:prefix => "", :size => "", :mode => "")
19
19
  }
20
20
  end
21
21
 
22
22
  def test_basic_headers
23
23
  header = {
24
- :name => 'bla',
24
+ :name => "bla",
25
25
  :mode => 0o12345,
26
26
  :size => 10,
27
- :prefix => '',
28
- :typeflag => '0'
27
+ :prefix => "",
28
+ :typeflag => "0"
29
29
  }
30
- assert_headers_equal(tar_file_header('bla', '', 0o12345, 10),
30
+ assert_headers_equal(tar_file_header("bla", "", 0o12345, 10),
31
31
  Archive::Tar::Minitar::PosixHeader.new(header).to_s)
32
32
 
33
33
  header = {
34
- :name => 'bla',
34
+ :name => "bla",
35
35
  :mode => 0o12345,
36
36
  :size => 0,
37
- :prefix => '',
38
- :typeflag => '5'
37
+ :prefix => "",
38
+ :typeflag => "5"
39
39
  }
40
- assert_headers_equal(tar_dir_header('bla', '', 0o12345),
40
+ assert_headers_equal(tar_dir_header("bla", "", 0o12345),
41
41
  Archive::Tar::Minitar::PosixHeader.new(header).to_s)
42
42
  end
43
43
 
44
44
  def test_long_name_works
45
45
  header = {
46
- :name => 'a' * 100, :mode => 0o12345, :size => 10, :prefix => ''
46
+ :name => "a" * 100, :mode => 0o12345, :size => 10, :prefix => ""
47
47
  }
48
- assert_headers_equal(tar_file_header('a' * 100, '', 0o12345, 10),
48
+ assert_headers_equal(tar_file_header("a" * 100, "", 0o12345, 10),
49
49
  Archive::Tar::Minitar::PosixHeader.new(header).to_s)
50
50
  header = {
51
- :name => 'a' * 100, :mode => 0o12345, :size => 10, :prefix => 'bb' * 60
51
+ :name => "a" * 100, :mode => 0o12345, :size => 10, :prefix => "bb" * 60
52
52
  }
53
- assert_headers_equal(tar_file_header('a' * 100, 'bb' * 60, 0o12345, 10),
53
+ assert_headers_equal(tar_file_header("a" * 100, "bb" * 60, 0o12345, 10),
54
54
  Archive::Tar::Minitar::PosixHeader.new(header).to_s)
55
55
  end
56
56
 
57
57
  def test_from_stream
58
- header = tar_file_header('a' * 100, '', 0o12345, 10)
58
+ header = tar_file_header("a" * 100, "", 0o12345, 10)
59
59
  header = StringIO.new(header)
60
60
  h = Archive::Tar::Minitar::PosixHeader.from_stream(header)
61
- assert_equal('a' * 100, h.name)
61
+ assert_equal("a" * 100, h.name)
62
62
  assert_equal(0o12345, h.mode)
63
63
  assert_equal(10, h.size)
64
- assert_equal('', h.prefix)
65
- assert_equal('ustar', h.magic)
64
+ assert_equal("", h.prefix)
65
+ assert_equal("ustar", h.magic)
66
66
  end
67
67
 
68
68
  def test_from_stream_with_evil_name
69
- header = tar_file_header("a \0" + "\0" * 97, '', 0o12345, 10)
69
+ header = tar_file_header("a \0" + "\0" * 97, "", 0o12345, 10)
70
70
  header = StringIO.new(header)
71
71
  h = Archive::Tar::Minitar::PosixHeader.from_stream header
72
- assert_equal('a ', h.name)
72
+ assert_equal("a ", h.name)
73
73
  end
74
74
 
75
75
  def test_valid_with_valid_header
76
- header = tar_file_header('a' * 100, '', 0o12345, 10)
76
+ header = tar_file_header("a" * 100, "", 0o12345, 10)
77
77
  header = StringIO.new(header)
78
78
  h = Archive::Tar::Minitar::PosixHeader.from_stream header
79
79
 
@@ -81,8 +81,8 @@ class TestTarHeader < Minitest::Test
81
81
  end
82
82
 
83
83
  def test_from_stream_with_no_strict_octal
84
- header = tar_file_header('a' * 100, '', 0o12345, -1213)
85
- io = StringIO.new(header)
84
+ header = tar_file_header("a" * 100, "", 0o12345, -1213)
85
+ io = StringIO.new(header)
86
86
 
87
87
  assert_raises(ArgumentError) do
88
88
  Archive::Tar::Minitar::PosixHeader.from_stream(io)
@@ -91,14 +91,13 @@ class TestTarHeader < Minitest::Test
91
91
 
92
92
  def test_from_stream_with_octal_wrapped_by_spaces
93
93
  header = raw_header(0,
94
- asciiz('a' * 100, 100),
95
- asciiz('', 155),
94
+ asciiz("a" * 100, 100),
95
+ asciiz("", 155),
96
96
  " 1213\0",
97
- z(to_oct(0o12345, 7))
98
- )
97
+ z(to_oct(0o12345, 7)))
99
98
 
100
99
  header = update_checksum(header)
101
- io = StringIO.new(header)
100
+ io = StringIO.new(header)
102
101
  header = Archive::Tar::Minitar::PosixHeader.from_stream(io)
103
102
 
104
103
  assert_equal(651, header.size)