1 var tap = require("tap")
2 , tar = require("../tar.js")
4 , path = require("path")
5 , file = path.resolve(__dirname, "fixtures/c.tar")
15 mtime: new Date('Wed, 26 Oct 2011 01:10:58 GMT'),
33 mtime: new Date('Wed, 26 Oct 2011 01:11:02 GMT'),
46 { path: 'r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc',
51 mtime: new Date('Thu, 27 Oct 2011 03:43:23 GMT'),
69 mtime: new Date('Thu, 27 Oct 2011 17:51:49 GMT'),
82 { path: 'PaxHeader/Ω.txt',
87 mtime: new Date('Thu, 27 Oct 2011 17:51:49 GMT'),
110 mtime: new Date('Thu, 27 Oct 2011 17:51:49 GMT'),
121 ctime: new Date('Thu, 27 Oct 2011 17:51:49 GMT'),
122 atime: new Date('Thu, 27 Oct 2011 18:11:01 GMT'),
128 { path: 'PaxHeader/200ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc',
133 mtime: new Date('Thu, 27 Oct 2011 03:41:08 GMT'),
144 { path: '200ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc',
147 'LIBARCHIVE.creationtime': '1319686852',
152 { path: '200ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc',
157 mtime: new Date('Thu, 27 Oct 2011 03:41:08 GMT'),
168 ctime: new Date('Thu, 27 Oct 2011 03:41:08 GMT'),
169 atime: new Date('Thu, 27 Oct 2011 18:47:34 GMT'),
170 'LIBARCHIVE.creationtime': '1319686852',
176 { path: '././@LongLink',
181 mtime: new Date('Thu, 01 Jan 1970 00:00:00 GMT'),
186 '200ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' ],
188 { path: '200ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc',
193 mtime: new Date('Thu, 27 Oct 2011 22:21:50 GMT'),
200 { path: '././@LongLink',
205 mtime: new Date('Thu, 01 Jan 1970 00:00:00 GMT'),
210 '200ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' ],
212 { path: '././@LongLink',
217 mtime: new Date('Thu, 01 Jan 1970 00:00:00 GMT'),
222 '200LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL' ],
224 { path: '200LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL',
229 mtime: new Date('Fri, 28 Oct 2011 23:05:17 GMT'),
232 linkpath: '200ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc',
236 { path: 'PaxHeader/200-hard',
241 mtime: new Date('Thu, 27 Oct 2011 03:41:08 GMT'),
254 'LIBARCHIVE.creationtime': '1319686852',
264 mtime: new Date('Thu, 27 Oct 2011 03:41:08 GMT'),
275 ctime: new Date('Sun, 06 Nov 2011 22:05:44 GMT'),
276 atime: new Date('Sun, 06 Nov 2011 22:07:12 GMT'),
277 'LIBARCHIVE.creationtime': '1319686852',
283 { path: 'PaxHeader/200ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc',
288 mtime: new Date('Thu, 27 Oct 2011 03:41:08 GMT'),
299 { path: '200ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc',
302 'LIBARCHIVE.creationtime': '1319686852',
307 { path: '200ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc',
312 mtime: new Date('Thu, 27 Oct 2011 03:41:08 GMT'),
315 linkpath: '200-hard',
323 ctime: new Date('Sun, 06 Nov 2011 22:05:44 GMT'),
324 atime: new Date('Sun, 06 Nov 2011 22:10:06 GMT'),
325 'LIBARCHIVE.creationtime': '1319686852',
332 tap.test("parser test", function (t) {
333 var parser = tar.Parse()
335 parser.on("end", function () {
336 t.equal(index, expect.length, "saw all expected events")
340 fs.createReadStream(file)
342 .on("*", function (ev, entry) {
343 var wanted = expect[index]
345 return t.fail("Unexpected event: " + ev)
347 var result = [ev, entry.props]
348 entry.on("end", function () {
349 result.push(entry.fields || entry.body)
351 t.equal(ev, wanted[0], index + " event type")
352 t.equivalent(entry.props, wanted[1], wanted[1].path + " entry properties")
354 t.equivalent(result[2], wanted[2], "metadata values")