rpgmaker-linux/nwjs/packagefiles/tyranobuilder/node_modules/graceful-fs/test/write-then-read.js

79 lines
1.5 KiB
JavaScript
Raw Permalink Normal View History

2024-07-01 20:36:56 +03:00
var fs = require('../')
var rimraf = require('rimraf')
var mkdirp = require('mkdirp')
var t = require('tap')
var td = t.testdir({ files: {} })
var p = require('path').resolve(td, 'files')
process.chdir(td)
// Make sure to reserve the stderr fd
process.stderr.write('')
var num = 4097
var paths = new Array(num)
t.test('make files', function (t) {
rimraf(p, function (err) {
if (err) {
throw err
}
mkdirp(p, function (err) {
if (err) {
throw err
}
for (var i = 0; i < num; ++i) {
paths[i] = 'files/file-' + i
fs.writeFileSync(paths[i], 'content')
}
t.end()
})
})
})
t.test('copy files', function (t) {
var rem = num
for (var i = 0; i < num; ++i) {
paths[i] = 'files/file-' + i
fs.copyFile(paths[i], paths[i] + '.copy', function(err) {
if (err)
throw err
if (--rem === 0) {
t.end()
}
})
}
})
t.test('copy files with flags', function (t) {
var rem = num
for (var i = 0; i < num; ++i) {
paths[i] = 'files/file-' + i
fs.copyFile(paths[i], paths[i] + '.copy', 2, function(err) {
if (err)
throw err
if (--rem === 0) {
t.end()
}
})
}
})
t.test('read files', function (t) {
function expectContent(err, data) {
if (err)
throw err
t.equal(data, 'content')
}
// now read them
t.plan(num * 2)
for (var i = 0; i < num; ++i) {
fs.readFile(paths[i], 'ascii', expectContent)
fs.readFile(paths[i] + '.copy', 'ascii', expectContent)
}
})