summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorcjihrig <cjihrig@gmail.com>2016-07-19 11:36:15 -0400
committercjihrig <cjihrig@gmail.com>2016-07-20 13:01:42 -0400
commit8c0f776f23e54814c95a1c8fa68bcf2f1d62c2f6 (patch)
tree093aafed700db881f33a2690a2c41436120bd25e /test
parent135a863f80791f7ecf7e05e5719018bb86f35cd9 (diff)
downloadandroid-node-v8-8c0f776f23e54814c95a1c8fa68bcf2f1d62c2f6.tar.gz
android-node-v8-8c0f776f23e54814c95a1c8fa68bcf2f1d62c2f6.tar.bz2
android-node-v8-8c0f776f23e54814c95a1c8fa68bcf2f1d62c2f6.zip
test: add known issue test for #7788
15157c3c3d7594cefb7f5941cbe925657e7d88bd changed the CLI REPL to default to useGlobal: false by default. This caused the regression seen in https://github.com/nodejs/node/issues/7788. This commit adds a known issue test while a proper resolution is determined. Refs: https://github.com/nodejs/node/pull/5703 Refs: https://github.com/nodejs/node/issues/7788 PR-URL: https://github.com/nodejs/node/pull/7793 Reviewed-By: Rich Trott <rtrott@gmail.com>
Diffstat (limited to 'test')
-rw-r--r--test/fixtures/is-object.js2
-rw-r--r--test/known_issues/test-repl-require-context.js32
2 files changed, 34 insertions, 0 deletions
diff --git a/test/fixtures/is-object.js b/test/fixtures/is-object.js
new file mode 100644
index 0000000000..c283221e96
--- /dev/null
+++ b/test/fixtures/is-object.js
@@ -0,0 +1,2 @@
+'use strict';
+module.exports.isObject = (obj) => obj.constructor === Object;
diff --git a/test/known_issues/test-repl-require-context.js b/test/known_issues/test-repl-require-context.js
new file mode 100644
index 0000000000..2c9195d940
--- /dev/null
+++ b/test/known_issues/test-repl-require-context.js
@@ -0,0 +1,32 @@
+'use strict';
+// Refs: https://github.com/nodejs/node/issues/7788
+const common = require('../common');
+const assert = require('assert');
+const path = require('path');
+const repl = require('repl');
+const stream = require('stream');
+const inputStream = new stream.PassThrough();
+const outputStream = new stream.PassThrough();
+const fixture = path.join(common.fixturesDir, 'is-object.js');
+const r = repl.start({
+ input: inputStream,
+ output: outputStream,
+ useGlobal: false
+});
+
+let output = '';
+outputStream.setEncoding('utf8');
+outputStream.on('data', (data) => output += data);
+
+r.on('exit', common.mustCall(() => {
+ const results = output.split('\n').map((line) => {
+ return line.replace(/\w*>\w*/, '').trim();
+ });
+
+ assert.deepStrictEqual(results, ['undefined', 'true', 'true', '']);
+}));
+
+inputStream.write('const isObject = (obj) => obj.constructor === Object;\n');
+inputStream.write('isObject({});\n');
+inputStream.write(`require('${fixture}').isObject({});\n`);
+r.close();