diff --git a/test/move.test.js b/test/move.test.js index 834347b..caeee97 100644 --- a/test/move.test.js +++ b/test/move.test.js @@ -1,39 +1,44 @@ var assert = require('assert') var path = require('path') var rimraf = require('rimraf') -var fs = require('fs') +var fs = require('fs') var fse = require('../') var testutil = require('./_lib/util') +/* global afterEach, beforeEach, describe, it */ + var TEST_DIR = '' var FIXTURES_DIR = '' var SRC_FIXTURES_DIR = 'test/fixtures/move' // makes fs.rename return cross-device error. var mock_fs = {} -mock_fs.rename = function(src, dest, callback) { - setTimeout(function() { +mock_fs.rename = function (src, dest, callback) { + setTimeout(function () { var err = new Error() err.code = 'EXDEV' callback(err) }, 10) } -describe("move", function() { - beforeEach(function() { +describe('move', function () { + beforeEach(function () { TEST_DIR = testutil.createTestDir('fs-extra') TEST_DIR = path.join(TEST_DIR, 'move') - if (!fs.existsSync(TEST_DIR)) + + if (!fs.existsSync(TEST_DIR)) { fs.mkdirSync(TEST_DIR) + } + FIXTURES_DIR = path.join(TEST_DIR, 'fixtures') fse.copySync(SRC_FIXTURES_DIR, FIXTURES_DIR) }) - afterEach(function() { + afterEach(function () { rimraf.sync(TEST_DIR) }) - it("should rename a file on the same device", function (done) { + it('should rename a file on the same device', function (done) { var src = FIXTURES_DIR + '/a-file' var dest = FIXTURES_DIR + '/a-file-dest' @@ -41,28 +46,28 @@ describe("move", function() { assert.ifError(err) fs.readFile(dest, 'utf8', function (err, contents) { assert.ifError(err) - assert.strictEqual(contents, "sonic the hedgehog\n") + assert.strictEqual(contents, 'sonic the hedgehog\n') done() }) }) }) - it("should not overwrite if clobber = false", function (done) { - var src = FIXTURES_DIR + "/a-file" - var dest = FIXTURES_DIR + "/a-folder/another-file" + it('should not overwrite if clobber = false', function (done) { + var src = FIXTURES_DIR + '/a-file' + var dest = FIXTURES_DIR + '/a-folder/another-file' // verify file exists already assert(fs.existsSync(dest)) fse.move(src, dest, {clobber: false}, function (err) { - assert.ok(err && err.code === 'EEXIST', "throw EEXIST") + assert.ok(err && err.code === 'EEXIST', 'throw EEXIST') done() }) }) - it("should not create directory structure if mkdirp is false", function (done) { - var src = FIXTURES_DIR + "/a-file" - var dest = FIXTURES_DIR + "/does/not/exist/a-file-dest" + it('should not create directory structure if mkdirp is false', function (done) { + var src = FIXTURES_DIR + '/a-file' + var dest = FIXTURES_DIR + '/does/not/exist/a-file-dest' // verify dest directory does not exist assert(!fs.existsSync(path.dirname(dest))) @@ -73,9 +78,9 @@ describe("move", function() { }) }) - it("should create directory structure by default", function (done) { - var src = FIXTURES_DIR + "/a-file" - var dest = FIXTURES_DIR + "/does/not/exist/a-file-dest" + it('should create directory structure by default', function (done) { + var src = FIXTURES_DIR + '/a-file' + var dest = FIXTURES_DIR + '/does/not/exist/a-file-dest' // verify dest directory does not exist assert(!fs.existsSync(path.dirname(dest))) @@ -84,15 +89,15 @@ describe("move", function() { assert.ifError(err) fs.readFile(dest, 'utf8', function (err, contents) { assert.ifError(err) - assert.strictEqual(contents, "sonic the hedgehog\n") + assert.strictEqual(contents, 'sonic the hedgehog\n') done() }) }) }) - it("should work across devices", function (done) { - var src = FIXTURES_DIR + "/a-file" - var dest = FIXTURES_DIR + "/a-file-dest" + it('should work across devices', function (done) { + var src = FIXTURES_DIR + '/a-file' + var dest = FIXTURES_DIR + '/a-file-dest' var oldRename = fs.rename fs.rename = mock_fs.rename @@ -101,7 +106,7 @@ describe("move", function() { assert.ifError(err) fs.readFile(dest, 'utf8', function (err, contents) { assert.ifError(err) - assert.strictEqual(contents, "sonic the hedgehog\n") + assert.strictEqual(contents, 'sonic the hedgehog\n') // restore fs.rename = oldRename @@ -111,35 +116,35 @@ describe("move", function() { }) }) - it("should move folders", function (done) { - var src = FIXTURES_DIR + "/a-folder" - var dest = FIXTURES_DIR + "/a-folder-dest" + it('should move folders', function (done) { + var src = FIXTURES_DIR + '/a-folder' + var dest = FIXTURES_DIR + '/a-folder-dest' // verify it doesn't exist assert(!fs.existsSync(dest)) fse.move(src, dest, function (err) { assert.ifError(err) - fs.readFile(dest + "/another-file", 'utf8', function (err, contents) { + fs.readFile(dest + '/another-file', 'utf8', function (err, contents) { assert.ifError(err) - assert.strictEqual(contents, "tails\n") + assert.strictEqual(contents, 'tails\n') done() }) }) }) - it("should move folders across devices", function (done) { - var src = FIXTURES_DIR + "/a-folder" - var dest = FIXTURES_DIR + "/a-folder-dest" + it('should move folders across devices', function (done) { + var src = FIXTURES_DIR + '/a-folder' + var dest = FIXTURES_DIR + '/a-folder-dest' var oldRename = fs.rename fs.rename = mock_fs.rename fse.move(src, dest, function (err) { assert.ifError(err) - fs.readFile(dest + "/another-folder/file3", 'utf8', function (err, contents) { + fs.readFile(dest + '/another-folder/file3', 'utf8', function (err, contents) { assert.ifError(err) - assert.strictEqual(contents, "knuckles\n") + assert.strictEqual(contents, 'knuckles\n') // restore fs.rename = oldRename @@ -149,8 +154,8 @@ describe("move", function() { }) }) - describe.skip('> when trying to a move a folder into itself', function() { - it('should produce an error', function(done) { + describe.skip('> when trying to a move a folder into itself', function () { + it('should produce an error', function (done) { var SRC_DIR = path.join(TEST_DIR, 'test') var DEST_DIR = path.join(TEST_DIR, 'test', 'test') @@ -158,7 +163,7 @@ describe("move", function() { fs.mkdirSync(SRC_DIR) assert(fs.existsSync(SRC_DIR)) - fse.move(SRC_DIR, DEST_DIR, function(err) { + fse.move(SRC_DIR, DEST_DIR, function (err) { assert(fs.existsSync(SRC_DIR)) assert(err) done() @@ -169,7 +174,7 @@ describe("move", function() { // tested on Linux ubuntu 3.13.0-32-generic #57-Ubuntu SMP i686 i686 GNU/Linux // this won't trigger a bug on Mac OS X Yosimite with a USB drive (/Volumes) // see issue #108 - describe('> when actually trying to a move a folder across devices', function() { + describe('> when actually trying to a move a folder across devices', function () { var differentDevice = '/mnt' var __skipTests = false @@ -189,35 +194,34 @@ describe("move", function() { var _it = __skipTests ? it.skip : it - describe('> just the folder', function() { - _it('should move the folder', function(done) { + describe('> just the folder', function () { + _it('should move the folder', function (done) { var src = '/mnt/some/weird/dir-really-weird' var dest = path.join(TEST_DIR, 'device-weird') - if (!fs.existsSync(src)) + if (!fs.existsSync(src)) { fse.mkdirpSync(src) + } assert(!fs.existsSync(dest)) assert(fs.lstatSync(src).isDirectory()) - fse.move(src, dest, function(err) { + fse.move(src, dest, function (err) { assert.ifError(err) assert(fs.existsSync(dest)) - //console.log(path.normalize(dest)) + // console.log(path.normalize(dest)) assert(fs.lstatSync(dest).isDirectory()) done() }) }) }) - describe('> a folder with a bunch of stuff', function() { - - }) + describe('> a folder with a bunch of stuff', function () {}) - describe('> when clobber = true', function() { - describe('> when dest is a directory', function() { - it('should clobber the destination', function(done) { + describe('> when clobber = true', function () { + describe('> when dest is a directory', function () { + it('should clobber the destination', function (done) { // use fixtures dir as dest since it has stuff var dest = FIXTURES_DIR var paths = fs.readdirSync(dest) @@ -237,13 +241,13 @@ describe("move", function() { assert(paths.indexOf('some-file') >= 0) assert(paths.indexOf('some-folder') >= 0) - fse.move(src, dest, {clobber: true}, function(err) { + fse.move(src, dest, {clobber: true}, function (err) { if (err) return done(err) // verify dest does not have old stuff var paths = fs.readdirSync(dest) - assert(paths.indexOf('a-file') == -1) - assert(paths.indexOf('a-folder') == -1) + assert.strictEqual(paths.indexOf('a-file'), -1) + assert.strictEqual(paths.indexOf('a-folder'), -1) // verify dest has new stuff assert(paths.indexOf('some-file') >= 0) @@ -256,7 +260,3 @@ describe("move", function() { }) }) }) - - - -