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