UNPKG

1.89 kBJavaScriptView Raw
1var browserify = require('../');
2var vm = require('vm');
3var test = require('tap').test;
4var path = require('path');
5var through = require('through2');
6
7var os = require('os');
8var tmpdir = (os.tmpdir || os.tmpDir)();
9var dir = path.join(
10 tmpdir,
11 'browserify-test-' + Math.random(),
12 'aaabbbzzz'
13);
14var dirstring = dir.split(path.sep).slice(-2).join(path.sep);
15
16if (!ArrayBuffer.isView) ArrayBuffer.isView = function () { return false; };
17
18test('leaking information about system paths (process)', function (t) {
19 t.plan(4);
20
21 var b = browserify({ basedir: dir });
22 var stream = through();
23 stream.push('process.nextTick(function () {'
24 + 't.ok(true)'
25 + '})'
26 );
27 stream.push(null);
28 b.add(stream);
29
30 b.bundle(function (err, buf) {
31 var src = buf.toString('utf8');
32 t.equal(src.indexOf(dirstring), -1, 'temp directory visible');
33 t.equal(src.indexOf(process.cwd()), -1, 'cwd directory visible');
34 t.equal(src.indexOf('/home'), -1, 'home directory visible');
35 vm.runInNewContext(src, {
36 t: t,
37 setTimeout: setTimeout,
38 clearTimeout: clearTimeout
39 });
40 });
41});
42
43test('leaking information about system paths (Buffer)', function (t) {
44 t.plan(4);
45
46 var b = browserify({ basedir: dir });
47 var stream = through();
48 stream.push('t.equal(Buffer("eHl6", "base64").toString(), "xyz")');
49 stream.push(null);
50 b.add(stream);
51
52 b.bundle(function (err, buf) {
53 var src = buf.toString('utf8');
54 t.equal(src.indexOf(dirstring), -1, 'temp directory visible');
55 t.equal(src.indexOf(process.cwd()), -1, 'cwd directory visible');
56 t.equal(src.indexOf('/home'), -1, 'home directory visible');
57 vm.runInNewContext(src, { t: t, setTimeout: setTimeout, Uint8Array: Uint8Array, ArrayBuffer: ArrayBuffer });
58 });
59});