From 2a456162b67e914eec77849623dcdb87011a482f Mon Sep 17 00:00:00 2001 From: Oliver Salzburg Date: Tue, 18 Oct 2016 22:02:19 +0200 Subject: [PATCH] test: case sensitivity of env variables Environment variables should be treated case-insensitive on Windows platforms and case-sensitive on UNIX platforms. This commit ensures this behavior persists. Reviewed-By: Benjamin Gruenbaum Reviewed-By: Anna Henningsen Reviewed-By: Colin Ihrig Reviewed-By: Luigi Pinca PR-URL: https://github.com/nodejs/node/pull/9166 Fixes: https://github.com/nodejs/node/issues/9157 --- test/parallel/test-process-env.js | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/test/parallel/test-process-env.js b/test/parallel/test-process-env.js index d3b1682629..21898d1942 100644 --- a/test/parallel/test-process-env.js +++ b/test/parallel/test-process-env.js @@ -1,6 +1,6 @@ 'use strict'; -require('../common'); +const common = require('../common'); const assert = require('assert'); // changes in environment should be visible to child processes @@ -67,3 +67,17 @@ assert.equal(3, date.getUTCHours()); assert.equal(5, date.getHours()); */ /* eslint-enable max-len */ + +// Environment variables should be case-insensitive on Windows, and +// case-sensitive on other platforms. +process.env.TEST = 'test'; +assert.strictEqual(process.env.TEST, 'test'); +// Check both mixed case and lower case, to avoid any regressions that might +// simply convert input to lower case. +if (common.isWindows) { + assert.strictEqual(process.env.test, 'test'); + assert.strictEqual(process.env.teST, 'test'); +} else { + assert.strictEqual(process.env.test, undefined); + assert.strictEqual(process.env.teST, undefined); +}