mirror of
https://github.com/bakustarver/rpgmakermlinux-cicpoffs.git
synced 2025-07-05 16:15:17 +02:00
78 lines
1.5 KiB
JavaScript
78 lines
1.5 KiB
JavaScript
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)
|
|
}
|
|
})
|