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.
37 lines
757 B
37 lines
757 B
2 years ago
|
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 + '()'
|
||
|
)
|
||
|
})
|
||
|
}
|