X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.maps.server%2Fnode%2Fnode-v4.8.0-win-x64%2Fnode_modules%2Fnpm%2Fnode_modules%2Ffs-vacuum%2Ftest%2Fno-entries-with-purge.js;fp=org.simantics.maps.server%2Fnode%2Fnode-v4.8.0-win-x64%2Fnode_modules%2Fnpm%2Fnode_modules%2Ffs-vacuum%2Ftest%2Fno-entries-with-purge.js;h=d3ab0c2b6c570e76cbaa68eee1d651415ff6a530;hb=2529be6d456deeb07c128603ce4971f1dc29b695;hp=0000000000000000000000000000000000000000;hpb=2636fc31c16c23711cf2b06a4ae8537bba9c1d35;p=simantics%2Fdistrict.git diff --git a/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/fs-vacuum/test/no-entries-with-purge.js b/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/fs-vacuum/test/no-entries-with-purge.js new file mode 100644 index 00000000..d3ab0c2b --- /dev/null +++ b/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/fs-vacuum/test/no-entries-with-purge.js @@ -0,0 +1,67 @@ +var path = require('path') + +var test = require('tap').test +var statSync = require('graceful-fs').statSync +var writeFileSync = require('graceful-fs').writeFileSync +var mkdtemp = require('tmp').dir +var mkdirp = require('mkdirp') + +var vacuum = require('../vacuum.js') + +// CONSTANTS +var TEMP_OPTIONS = { + unsafeCleanup: true, + mode: '0700' +} +var SHORT_PATH = path.join('i', 'am', 'a', 'path') +var LONG_PATH = path.join(SHORT_PATH, 'of', 'a', 'certain', 'kind') +var FIRST_FILE = path.join(LONG_PATH, 'monsieurs') +var SECOND_FILE = path.join(LONG_PATH, 'mesdames') + +var messages = [] +function log () { messages.push(Array.prototype.slice.call(arguments).join(' ')) } + +var testPath, testBase +test('xXx setup xXx', function (t) { + mkdtemp(TEMP_OPTIONS, function (er, tmpdir) { + t.ifError(er, 'temp directory exists') + + testBase = path.resolve(tmpdir, SHORT_PATH) + testPath = path.resolve(tmpdir, LONG_PATH) + + mkdirp(testPath, function (er) { + t.ifError(er, 'made test path') + + writeFileSync(path.resolve(tmpdir, FIRST_FILE), new Buffer("c'est vraiment joli")) + writeFileSync(path.resolve(tmpdir, SECOND_FILE), new Buffer('oui oui')) + t.end() + }) + }) +}) + +test('remove up to a point', function (t) { + vacuum(testPath, {purge: true, base: testBase, log: log}, function (er) { + t.ifError(er, 'cleaned up to base') + + t.equal(messages.length, 5, 'got 4 removal & 1 finish message') + t.equal(messages[0], 'purging ' + testPath) + t.equal(messages[4], 'finished vacuuming up to ' + testBase) + + var stat + var verifyPath = testPath + function verify () { stat = statSync(verifyPath) } + + for (var i = 0; i < 4; i++) { + t.throws(verify, verifyPath + ' cannot be statted') + t.notOk(stat && stat.isDirectory(), verifyPath + ' is totally gone') + verifyPath = path.dirname(verifyPath) + } + + t.doesNotThrow(function () { + stat = statSync(testBase) + }, testBase + ' can be statted') + t.ok(stat && stat.isDirectory(), testBase + ' is still a directory') + + t.end() + }) +})