class Gem::Package::TarTestCase

def assert_headers_equal(expected, actual)

def assert_headers_equal(expected, actual)
  expected = expected.to_s unless String === expected
  actual = actual.to_s unless String === actual
  fields = %w[
    name 100
    mode 8
    uid 8
    gid 8
    size 12
    mtime 12
    checksum 8
    typeflag 1
    linkname 100
    magic 6
    version 2
    uname 32
    gname 32
    devmajor 8
    devminor 8
    prefix 155
  ]
  offset = 0
  until fields.empty? do
    name = fields.shift
    length = fields.shift.to_i
    if name == "checksum" then
      chksum_off = offset
      offset += length
      next
    end
    assert_equal expected[offset, length], actual[offset, length],
                 "Field #{name} of the tar header differs."
    offset += length
  end
  assert_equal expected[chksum_off, 8], actual[chksum_off, 8]
end