a
doum
23 小时以前 307960b07d8cb122d9de0c8267b8cb7a63cfc605
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// Set the umask, so that it works the same everywhere.
process.umask(parseInt('22', 8))
 
var tap = require("tap")
  , tar = require("../tar.js")
  , fs = require("fs")
  , path = require("path")
  , file = path.resolve(__dirname, "link-file-entry-collision/bad-link.tar")
  , target = path.resolve(__dirname, "tmp/link-file-entry-collision")
  , index = 0
  , fstream = require("fstream")
  , mkdirp = require("mkdirp")
  , rimraf = require("rimraf")
 
tap.test("preclean", function (t) {
  rimraf.sync(target)
  t.pass("cleaned!")
  t.end()
})
 
tap.test("extract test", function (t) {
  var extract = tar.Extract(target)
  var inp = fs.createReadStream(file)
  inp.pipe(extract)
 
  extract.on("end", function () {
    t.equal(fs.readFileSync(target + "/bad-link-target", "utf8"),
      "this should remain the same\n")
    t.equal(fs.readFileSync(target + "/a.txt", "utf8"),
      "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
    t.end()
  })
})
 
tap.test("cleanup", function (t) {
  rimraf.sync(target)
  t.pass("cleaned!")
  t.end()
})