不要怂,就是干,撸起袖子干!

Commit 71d84e25 by Stan S

Fixed test for older versions of node.

- Perform file existence checks using `fs.open` for older versions of node.
1 parent fd8da918
Showing with 13 additions and 4 deletions
...@@ -6,7 +6,7 @@ var chai = require('chai') ...@@ -6,7 +6,7 @@ var chai = require('chai')
, config = require(__dirname + '/../config/config') , config = require(__dirname + '/../config/config')
, Support = require(__dirname + '/support') , Support = require(__dirname + '/support')
, dialect = Support.getTestDialect() , dialect = Support.getTestDialect()
, Sequelize = require(__dirname + '/../../index') , Sequelize = Support.Sequelize
, sqlite3 = require('sqlite3') , sqlite3 = require('sqlite3')
, fs = require('fs') , fs = require('fs')
, path = require('path'); , path = require('path');
...@@ -154,6 +154,17 @@ describe(Support.getTestDialectTeaser('Configuration'), function() { ...@@ -154,6 +154,17 @@ describe(Support.getTestDialectTeaser('Configuration'), function() {
var createTableFoo = 'CREATE TABLE foo (faz TEXT);'; var createTableFoo = 'CREATE TABLE foo (faz TEXT);';
var createTableBar = 'CREATE TABLE bar (baz TEXT);'; var createTableBar = 'CREATE TABLE bar (baz TEXT);';
var testAccess = Sequelize.Promise.method(function() {
if (fs.access) {
return Sequelize.Promise.promisify(fs.access)(p, fs.R_OK | fs.W_OK);
} else { // Node v0.10 and older don't have fs.access
return Sequelize.Promise.promisify(fs.open)(p, 'r+')
.then(function(fd) {
return Sequelize.Promise.promisify(fs.close)(fd);
});
}
});
return Sequelize.Promise.promisify(fs.unlink)(p) return Sequelize.Promise.promisify(fs.unlink)(p)
.catch(function(err) { .catch(function(err) {
expect(err.code).to.equal('ENOENT'); expect(err.code).to.equal('ENOENT');
...@@ -189,9 +200,7 @@ describe(Support.getTestDialectTeaser('Configuration'), function() { ...@@ -189,9 +200,7 @@ describe(Support.getTestDialectTeaser('Configuration'), function() {
}); });
return sequelize.query(createTableFoo); return sequelize.query(createTableFoo);
}) })
.then(function() { .then(testAccess)
return Sequelize.Promise.promisify(fs.access)(p, fs.R_OK | fs.W_OK);
})
.then(function() { .then(function() {
var sequelizeReadOnly = new Sequelize('sqlite://foo', { var sequelizeReadOnly = new Sequelize('sqlite://foo', {
storage: p, storage: p,
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!