Server IP : 127.0.0.2 / Your IP : 3.148.252.90 Web Server : Apache/2.4.18 (Ubuntu) System : User : www-data ( ) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : disk_free_space,disk_total_space,diskfreespace,dl,exec,fpaththru,getmyuid,getmypid,highlight_file,ignore_user_abord,leak,listen,link,opcache_get_configuration,opcache_get_status,passthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,php_uname,phpinfo,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix,_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_times,posix_ttyname,posix_uname,pclose,popen,proc_open,proc_close,proc_get_status,proc_nice,proc_terminate,shell_exec,source,show_source,system,virtual MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/npm/node_modules/tar/test/ |
Upload File : |
var tap = require("tap") var TarHeader = require("../lib/header.js") var tar = require("../tar.js") var fs = require("fs") var headers = { "a.txt file header": [ "612e747874000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030303036343420003035373736312000303030303234200030303030303030303430312031313635313336303333332030313234353100203000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000757374617200303069736161637300000000000000000000000000000000000000000000000000007374616666000000000000000000000000000000000000000000000000000000303030303030200030303030303020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" , { cksumValid: true , path: 'a.txt' , mode: 420 , uid: 24561 , gid: 20 , size: 257 , mtime: 1319493851 , cksum: 5417 , type: '0' , linkpath: '' , ustar: 'ustar\0' , ustarver: '00' , uname: 'isaacs' , gname: 'staff' , devmaj: 0 , devmin: 0 , fill: '' } ] , "omega pax": // the extended header from omega tar. [ "5061784865616465722fcea92e74787400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030303036343420003035373736312000303030303234200030303030303030303137302031313534333731303631312030313530353100207800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000757374617200303069736161637300000000000000000000000000000000000000000000000000007374616666000000000000000000000000000000000000000000000000000000303030303030200030303030303020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" , { cksumValid: true , path: 'PaxHeader/Ω.txt' , mode: 420 , uid: 24561 , gid: 20 , size: 120 , mtime: 1301254537 , cksum: 6697 , type: 'x' , linkpath: '' , ustar: 'ustar\0' , ustarver: '00' , uname: 'isaacs' , gname: 'staff' , devmaj: 0 , devmin: 0 , fill: '' } ] , "omega file header": [ "cea92e7478740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030303036343420003035373736312000303030303234200030303030303030303030322031313534333731303631312030313330373200203000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000757374617200303069736161637300000000000000000000000000000000000000000000000000007374616666000000000000000000000000000000000000000000000000000000303030303030200030303030303020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" , { cksumValid: true , path: 'Ω.txt' , mode: 420 , uid: 24561 , gid: 20 , size: 2 , mtime: 1301254537 , cksum: 5690 , type: '0' , linkpath: '' , ustar: 'ustar\0' , ustarver: '00' , uname: 'isaacs' , gname: 'staff' , devmaj: 0 , devmin: 0 , fill: '' } ] , "foo.js file header": [ "666f6f2e6a730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030303036343420003035373736312000303030303234200030303030303030303030342031313534333637303734312030313236313700203000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000757374617200303069736161637300000000000000000000000000000000000000000000000000007374616666000000000000000000000000000000000000000000000000000000303030303030200030303030303020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" , { cksumValid: true , path: 'foo.js' , mode: 420 , uid: 24561 , gid: 20 , size: 4 , mtime: 1301246433 , cksum: 5519 , type: '0' , linkpath: '' , ustar: 'ustar\0' , ustarver: '00' , uname: 'isaacs' , gname: 'staff' , devmaj: 0 , devmin: 0 , fill: '' } ] , "b.txt file header": [ "622e747874000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030303036343420003035373736312000303030303234200030303030303030313030302031313635313336303637372030313234363100203000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000757374617200303069736161637300000000000000000000000000000000000000000000000000007374616666000000000000000000000000000000000000000000000000000000303030303030200030303030303020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" , { cksumValid: true , path: 'b.txt' , mode: 420 , uid: 24561 , gid: 20 , size: 512 , mtime: 1319494079 , cksum: 5425 , type: '0' , linkpath: '' , ustar: 'ustar\0' , ustarver: '00' , uname: 'isaacs' , gname: 'staff' , devmaj: 0 , devmin: 0 , fill: '' } ] , "deep nested file": [ "636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363633030303634342000303537373631200030303030323420003030303030303030313434203131363532313531353333203034333331340020300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000075737461720030306973616163730000000000000000000000000000000000000000000000000000737461666600000000000000000000000000000000000000000000000000000030303030303020003030303030302000722f652f612f6c2f6c2f792f2d2f642f652f652f702f2d2f662f6f2f6c2f642f652f722f2d2f702f612f742f680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" , { cksumValid: true, path: 'r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' , mode: 420 , uid: 24561 , gid: 20 , size: 100 , mtime: 1319687003 , cksum: 18124 , type: '0' , linkpath: '' , ustar: 'ustar\0' , ustarver: '00' , uname: 'isaacs' , gname: 'staff' , devmaj: 0 , devmin: 0 , fill: '' } ] } tap.test("parsing", function (t) { Object.keys(headers).forEach(function (name) { var h = headers[name] , header = new Buffer(h[0], "hex") , expect = h[1] , parsed = new TarHeader(header) // console.error(parsed) t.has(parsed, expect, "parse " + name) }) t.end() }) tap.test("encoding", function (t) { Object.keys(headers).forEach(function (name) { var h = headers[name] , expect = new Buffer(h[0], "hex") , encoded = TarHeader.encode(h[1]) // might have slightly different bytes, since the standard // isn't very strict, but should have the same semantics // checkSum will be different, but cksumValid will be true var th = new TarHeader(encoded) delete h[1].block delete h[1].needExtended delete h[1].cksum t.has(th, h[1], "fields "+name) }) t.end() }) // test these manually. they're a bit rare to find in the wild tap.test("parseNumeric tests", function (t) { var parseNumeric = TarHeader.parseNumeric , numbers = { "303737373737373700": 2097151 , "30373737373737373737373700": 8589934591 , "303030303036343400": 420 , "800000ffffffffffff": 281474976710655 , "ffffff000000000001": -281474976710654 , "ffffff000000000000": -281474976710655 , "800000000000200000": 2097152 , "8000000000001544c5": 1393861 , "ffffffffffff1544c5": -15383354 } Object.keys(numbers).forEach(function (n) { var b = new Buffer(n, "hex") t.equal(parseNumeric(b), numbers[n], n + " === " + numbers[n]) }) t.end() })