You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
757 B
36 lines
757 B
var test = require('tape') |
|
var clone = require('./') |
|
var fs = require('fs') |
|
|
|
test('file', function(t) { |
|
compare(t, fs.statSync(__filename)) |
|
t.end() |
|
}) |
|
|
|
test('directory', function(t) { |
|
compare(t, fs.statSync(__dirname)) |
|
t.end() |
|
}) |
|
|
|
function compare(t, stat) { |
|
var copy = clone(stat) |
|
|
|
t.deepEqual(stat, copy, 'clone has equal properties') |
|
t.ok(stat instanceof fs.Stats, 'original is an fs.Stat') |
|
t.ok(copy instanceof fs.Stats, 'copy is an fs.Stat') |
|
|
|
;['isDirectory' |
|
, 'isFile' |
|
, 'isBlockDevice' |
|
, 'isCharacterDevice' |
|
, 'isSymbolicLink' |
|
, 'isFIFO' |
|
, 'isSocket' |
|
].forEach(function(method) { |
|
t.equal( |
|
stat[method].call(stat) |
|
, copy[method].call(copy) |
|
, 'equal value for stat.' + method + '()' |
|
) |
|
}) |
|
}
|
|
|