Skip to content

Commit

Permalink
test: refactor parallel/test-process-env.js
Browse files Browse the repository at this point in the history
* Remove disabling of lint rule
* == -> ===
* var -> const

PR-URL: nodejs#8324
Reviewed-By: jasnell - James M Snell <[email protected]>
Reviewed-By: cjihrig - Colin Ihrig <[email protected]>
  • Loading branch information
Trott authored and Fishrock123 committed Sep 8, 2016
1 parent eef9381 commit 1f9bcf0
Showing 1 changed file with 31 additions and 27 deletions.
58 changes: 31 additions & 27 deletions test/parallel/test-process-env.js
Original file line number Diff line number Diff line change
@@ -1,40 +1,24 @@
'use strict';
/* eslint-disable max-len */

require('../common');
const assert = require('assert');
const spawn = require('child_process').spawn;

/* For the moment we are not going to support setting the timezone via the
* environment variables. The problem is that various V8 platform backends
* deal with timezone in different ways. The windows platform backend caches
* the timezone value while the Linux one hits libc for every query.
https://github.com/joyent/node/blob/08782931205bc4f6d28102ebc29fd806e8ccdf1f/deps/v8/src/platform-linux.cc#L339-345
https://github.com/joyent/node/blob/08782931205bc4f6d28102ebc29fd806e8ccdf1f/deps/v8/src/platform-win32.cc#L590-596
// first things first, set the timezone; see tzset(3)
process.env.TZ = 'Europe/Amsterdam';
// time difference between Greenwich and Amsterdam is +2 hours in the summer
date = new Date('Fri, 10 Sep 1982 03:15:00 GMT');
assert.equal(3, date.getUTCHours());
assert.equal(5, date.getHours());
*/


// changes in environment should be visible to child processes
if (process.argv[2] == 'you-are-the-child') {
// failed assertion results in process exiting with status code 1
if (process.argv[2] === 'you-are-the-child') {
assert.strictEqual(false, 'NODE_PROCESS_ENV_DELETED' in process.env);
assert.strictEqual('42', process.env.NODE_PROCESS_ENV);
assert.strictEqual('asdf', process.env.hasOwnProperty);
var hasOwnProperty = Object.prototype.hasOwnProperty;
const hasOwnProperty = Object.prototype.hasOwnProperty;
const has = hasOwnProperty.call(process.env, 'hasOwnProperty');
assert.strictEqual(true, has);
process.exit(0);
} else {
assert.strictEqual(Object.prototype.hasOwnProperty, process.env.hasOwnProperty);
}

{
const spawn = require('child_process').spawn;

assert.strictEqual(Object.prototype.hasOwnProperty,
process.env.hasOwnProperty);
const has = process.env.hasOwnProperty('hasOwnProperty');
assert.strictEqual(false, has);

Expand All @@ -49,17 +33,37 @@ if (process.argv[2] == 'you-are-the-child') {
delete process.env.NODE_PROCESS_ENV_DELETED;
assert.strictEqual(false, 'NODE_PROCESS_ENV_DELETED' in process.env);

var child = spawn(process.argv[0], [process.argv[1], 'you-are-the-child']);
const child = spawn(process.argv[0], [process.argv[1], 'you-are-the-child']);
child.stdout.on('data', function(data) { console.log(data.toString()); });
child.stderr.on('data', function(data) { console.log(data.toString()); });
child.on('exit', function(statusCode) {
if (statusCode != 0) {
if (statusCode !== 0) {
process.exit(statusCode); // failed assertion in child process
}
});
}


// delete should return true except for non-configurable properties
// https://github.com/nodejs/node/issues/7960
delete process.env.NON_EXISTING_VARIABLE;
assert.strictEqual(true, delete process.env.NON_EXISTING_VARIABLE);

/* eslint-disable max-len */
/* For the moment we are not going to support setting the timezone via the
* environment variables. The problem is that various V8 platform backends
* deal with timezone in different ways. The windows platform backend caches
* the timezone value while the Linux one hits libc for every query.
https://github.com/joyent/node/blob/08782931205bc4f6d28102ebc29fd806e8ccdf1f/deps/v8/src/platform-linux.cc#L339-345
https://github.com/joyent/node/blob/08782931205bc4f6d28102ebc29fd806e8ccdf1f/deps/v8/src/platform-win32.cc#L590-596
// set the timezone; see tzset(3)
process.env.TZ = 'Europe/Amsterdam';
// time difference between Greenwich and Amsterdam is +2 hours in the summer
date = new Date('Fri, 10 Sep 1982 03:15:00 GMT');
assert.equal(3, date.getUTCHours());
assert.equal(5, date.getHours());
*/
/* eslint-enable max-len */

0 comments on commit 1f9bcf0

Please sign in to comment.