From 27be82e5c04bd19e2da561e8a06821d9bb2fa84e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9e=20Kooi?= Date: Fri, 22 Jun 2018 12:58:44 +0200 Subject: [PATCH] Add test for scope tracking features in static-module@3 --- test/files/scope-sentinel | 1 + test/files/scope.js | 9 +++++++++ test/scope.js | 25 +++++++++++++++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 test/files/scope-sentinel create mode 100644 test/files/scope.js create mode 100644 test/scope.js diff --git a/test/files/scope-sentinel b/test/files/scope-sentinel new file mode 100644 index 0000000..7134f83 --- /dev/null +++ b/test/files/scope-sentinel @@ -0,0 +1 @@ +SCOPE_SENTINEL diff --git a/test/files/scope.js b/test/files/scope.js new file mode 100644 index 0000000..04a6e33 --- /dev/null +++ b/test/files/scope.js @@ -0,0 +1,9 @@ +var fs = require('fs'); +var path = require('path'); +var dynamicallyCreatedFilename = path.join('/files/', 'somefile'); +fs.readFileSync(__dirname + dynamicallyCreatedFilename + __dirname, 'utf8'); +function x (fs) { + fs.readFileSync('doesNotExist') +} +fs.readFileSync(__dirname + '/scope-sentinel') +require('fs').readFileSync(__dirname + '/scope-sentinel') diff --git a/test/scope.js b/test/scope.js new file mode 100644 index 0000000..dfe86f1 --- /dev/null +++ b/test/scope.js @@ -0,0 +1,25 @@ +var test = require('tap').test; +var browserify = require('browserify'); +var path = require('path'); + +test('scope', function (t) { + t.plan(4); + + var b = browserify({ node: true }); + b.add(__dirname + '/files/scope'); + b.transform(path.dirname(__dirname)); + + b.bundle(function (err, src) { + if (err) t.fail(err); + t.pass('build success'); + src = src.toString(); + console.log(src) + t.ok(src.indexOf("require('fs')") !== -1, 'kept the require call'); + var sentinel = new Buffer('SCOPE_SENTINEL\n', 'utf8').toString('base64') + var i = src.indexOf(sentinel); + t.ok(i !== -1, 'read the file'); + i = src.indexOf(sentinel, i + 10); + t.ok(i !== -1, 'did the require("fs").readFileSync'); + }); + +});