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 + '()' | |
) | |
}) | |
} | |