Browse Source

lib/empty-dir: created emptyDirSync()

ci/travis-osximage
JP Richardson 10 years ago
parent
commit
8882f738a3
  1. 23
      lib/empty-dir.js
  2. 4
      lib/index.js
  3. 54
      test/empty/empty-dir-sync.js

23
lib/empty-dir.js

@ -0,0 +1,23 @@
var fs = require('fs')
var path = require('path')
var mkdir = require('./mkdir')
var remove = require('./remove')
function emptyDirSync (dir) {
var items
try {
items = fs.readdirSync(dir)
} catch (err) {
return mkdir.mkdirsSync(dir)
}
items.forEach(function (item) {
item = path.join(dir, item)
remove.removeSync(item)
})
}
module.exports = {
emptyDirSync: emptyDirSync,
emptydirSync: emptyDirSync
}

4
lib/index.js

@ -85,6 +85,10 @@ fs.writeJSON = jsonFile.writeFile
fs.writeJsonSync = jsonFile.writeFileSync
fs.writeJSONSync = jsonFile.writeFileSync
var empty = require('./empty-dir')
Object.keys(empty).forEach(function (method) {
fs[method] = empty[method]
})
module.exports = fs

54
test/empty/empty-dir-sync.js

@ -0,0 +1,54 @@
var assert = require('assert')
var fs = require('fs')
var path = require('path')
var os = require('os')
var fse = require(process.cwd())
/* global afterEach, beforeEach, describe, it */
describe('+ emptyDir()', function () {
var TEST_DIR
beforeEach(function () {
TEST_DIR = path.join(os.tmpdir(), 'test-fs-extra', 'empty-dir')
if (fs.existsSync(TEST_DIR)) {
fse.removeSync(TEST_DIR)
}
fse.ensureDirSync(TEST_DIR)
})
afterEach(function () {
fse.removeSync(TEST_DIR)
})
describe('> when directory exists and contains items', function () {
it('should delete all of the items', function () {
// verify nothing
assert.equal(fs.readdirSync(TEST_DIR).length, 0)
fse.ensureFileSync(path.join(TEST_DIR, 'some-file'))
fse.ensureFileSync(path.join(TEST_DIR, 'some-file-2'))
fse.ensureDirSync(path.join(TEST_DIR, 'some-dir'))
assert.equal(fs.readdirSync(TEST_DIR).length, 3)
fse.emptyDirSync(TEST_DIR)
assert.equal(fs.readdirSync(TEST_DIR).length, 0)
})
})
describe('> when directory exists and contains no items', function () {
it('should do nothing', function () {
assert.equal(fs.readdirSync(TEST_DIR).length, 0)
fse.emptyDirSync(TEST_DIR)
assert.equal(fs.readdirSync(TEST_DIR).length, 0)
})
})
describe('> when directory does not exist', function () {
it('should create it', function () {
fse.removeSync(TEST_DIR)
assert(!fs.existsSync(TEST_DIR))
fse.emptyDirSync(TEST_DIR)
assert.equal(fs.readdirSync(TEST_DIR).length, 0)
})
})
})
Loading…
Cancel
Save