36 lines
757 B
JavaScript
36 lines
757 B
JavaScript
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 + '()'
|
|
)
|
|
})
|
|
}
|