blob: e4bb2814d8782b81599e45f2be23537d978d127e [file] [log] [blame]
Leo Repp58b9f112021-11-22 11:57:47 +01001var test = require('tape')
2var clone = require('./')
3var fs = require('fs')
4
5test('file', function(t) {
6 compare(t, fs.statSync(__filename))
7 t.end()
8})
9
10test('directory', function(t) {
11 compare(t, fs.statSync(__dirname))
12 t.end()
13})
14
15function compare(t, stat) {
16 var copy = clone(stat)
17
18 t.deepEqual(stat, copy, 'clone has equal properties')
19 t.ok(stat instanceof fs.Stats, 'original is an fs.Stat')
20 t.ok(copy instanceof fs.Stats, 'copy is an fs.Stat')
21
22 ;['isDirectory'
23 , 'isFile'
24 , 'isBlockDevice'
25 , 'isCharacterDevice'
26 , 'isSymbolicLink'
27 , 'isFIFO'
28 , 'isSocket'
29 ].forEach(function(method) {
30 t.equal(
31 stat[method].call(stat)
32 , copy[method].call(copy)
33 , 'equal value for stat.' + method + '()'
34 )
35 })
36}