/** * helper needs to be loaded for the asserts but it alos proloads * client which we don't want here * */ var helper = require(__dirname+"/test-helper") , path = require('path') ; var paths = { 'pg' : path.join(__dirname, '..', '..', '..', 'lib', 'index.js') , 'query_js' : path.join(__dirname, '..', '..', '..', 'lib', 'query.js') , 'query_native' : path.join(__dirname, '..', '..', '..', 'lib', 'native', 'query.js') , }; /** * delete the modules we are concerned about from the * module cache, so they get loaded cleanly and the env * var can kick in ... */ function emptyCache(){ Object.keys(require.cache).forEach(function(key){ delete require.cache[key]; }); }; emptyCache(); process.env.NODE_PG_FORCE_NATIVE = '1'; var pg = require( paths.pg ); var query_native = require( paths.query_native ); var query_js = require( paths.query_js ); assert.deepEqual(pg.Client.Query, query_native); assert.notDeepEqual(pg.Client.Query, query_js); emptyCache(); delete process.env.NODE_PG_FORCE_NATIVE