Skip to content

Commit

Permalink
Add fs.mkdirSync()
Browse files Browse the repository at this point in the history
  • Loading branch information
vojtajina committed Oct 1, 2012
1 parent 9601fa7 commit f46e991
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 11 deletions.
36 changes: 25 additions & 11 deletions lib/fs.js
Expand Up @@ -135,22 +135,36 @@ var Mock = function(structure) {
};

this.mkdir = function(directory, callback) {
predictableNextTick(function() {
var pointer = getPointer(path.dirname(directory), structure);
var baseName = path.basename(directory);
var mkdirSync = this.mkdirSync;
var error = null;

if (pointer && typeof pointer === 'object' && !(pointer instanceof File)) {
pointer[baseName] = {};
callback(null);
} else {
var error = new Error(util.format('ENOENT, mkdir "%s"', directory));
error.code = 'ENOENT';
error.errno = 34;
callback(error);
predictableNextTick(function() {
try {
mkdirSync(directory);
} catch (e) {
error = e;
}

callback(error);
});
};

this.mkdirSync = function(directory) {
var pointer = getPointer(path.dirname(directory), structure);
var baseName = path.basename(directory);

if (pointer && typeof pointer === 'object' && !(pointer instanceof File)) {
pointer[baseName] = {};
return;
}

var error = new Error(util.format('ENOENT, mkdir "%s"', directory));
error.code = 'ENOENT';
error.errno = 34;

throw error;
};

this.readFile = function(path, encoding, callback) {
var readFileSync = this.readFileSync;
callback = callback || encoding;
Expand Down
10 changes: 10 additions & 0 deletions test/fs.spec.coffee
Expand Up @@ -203,6 +203,16 @@ describe 'fs', ->
waitForFinished()


# ===========================================================================
# fs.mkdirSync()
# ===========================================================================
describe 'mkdirSync', ->

it 'should create directory', ->
fs.mkdirSync '/home/new'
expect(fs.statSync('/home/new').isDirectory()).toBe true


# ===========================================================================
# fs.readFile
# ===========================================================================
Expand Down

0 comments on commit f46e991

Please sign in to comment.