diff --git a/lib/browser/init.js b/lib/browser/init.js index f7619fd17b..6ff328830e 100644 --- a/lib/browser/init.js +++ b/lib/browser/init.js @@ -39,14 +39,6 @@ if (process.platform === 'win32') { } console.log = console.error = console.warn = consoleLog process.stdout.write = process.stderr.write = streamWrite - - // Always returns EOF for stdin stream. - var Readable = require('stream').Readable - var stdin = new Readable() - stdin.push(null) - process.__defineGetter__('stdin', function () { - return stdin - }) } // Don't quit on fatal error. diff --git a/lib/common/init.js b/lib/common/init.js index 257249f0a6..0ffd97a7c5 100644 --- a/lib/common/init.js +++ b/lib/common/init.js @@ -38,11 +38,21 @@ if (process.type === 'browser') { global.setInterval = wrapWithActivateUvLoop(timers.setInterval) } -// If we're running as a Windows Store app, __dirname will be set -// to C:/Program Files/WindowsApps. -// -// Nobody else get's to install there, changing the path is forbidden -// We can therefore say that we're running as appx -if (process.platform === 'win32' && __dirname.indexOf('\\Program Files\\WindowsApps\\') === 2) { - process.windowsStore = true +if (process.platform === 'win32') { + // Always returns EOF for stdin stream. + const {Readable} = require('stream') + const stdin = new Readable() + stdin.push(null) + process.__defineGetter__('stdin', function () { + return stdin + }) + + // If we're running as a Windows Store app, __dirname will be set + // to C:/Program Files/WindowsApps. + // + // Nobody else get's to install there, changing the path is forbidden + // We can therefore say that we're running as appx + if (__dirname.indexOf('\\Program Files\\WindowsApps\\') === 2) { + process.windowsStore = true + } } diff --git a/spec/node-spec.js b/spec/node-spec.js index 9382c4c915..6d83b5ee48 100644 --- a/spec/node-spec.js +++ b/spec/node-spec.js @@ -221,12 +221,16 @@ describe('node feature', function () { }) describe('process.stdout', function () { - it('should not throw exception', function () { - process.stdout + it('does not throw an exception when accessed', function () { + assert.doesNotThrow(function () { + process.stdout + }) }) - it('should not throw exception when calling write()', function () { - process.stdout.write('test') + it('does not throw an exception when calling write()', function () { + assert.doesNotThrow(function () { + process.stdout.write('test') + }) }) it('should have isTTY defined', function () { @@ -236,6 +240,18 @@ describe('node feature', function () { }) }) + describe('process.stdin', function () { + it('does not throw an exception when accessed', function () { + assert.doesNotThrow(function () { + process.stdin + }) + }) + + it('returns null when read from', function () { + assert.equal(process.stdin.read(), null) + }) + }) + describe('process.version', function () { it('should not have -pre', function () { assert(!process.version.endsWith('-pre'))