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