![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /usr/local/lib/node_modules/browserify/test/ |
Upload File : |
var test = require('tap').test; var spawn = require('child_process').spawn; var browserify = require('../'); var path = require('path'); var concat = require('concat-stream'); var vm = require('vm'); var fs = require('fs'); var through = require('through2'); var temp = require('temp'); temp.track(); var tmpdir = temp.mkdirSync({prefix: 'browserify-test'}); test('bare', function (t) { t.plan(4); var cwd = process.cwd(); process.chdir(__dirname); var ps = spawn(process.execPath, [ path.resolve(__dirname, '../bin/cmd.js'), '-', '--bare' ]); ps.stdout.pipe(concat(function (body) { vm.runInNewContext(body, { Buffer: function (s) { return s.toLowerCase() }, console: { log: function (msg) { t.equal(msg, 'abc') } } }); vm.runInNewContext(body, { Buffer: Buffer, console: { log: function (msg) { t.ok(Buffer.isBuffer(msg)); t.equal(msg.toString('utf8'), 'ABC') } } }); })); ps.stdin.end('console.log(Buffer("ABC"))'); ps.on('exit', function (code) { t.equal(code, 0); }); }); test('bare api', function (t) { t.plan(3); var input = through(); var b = browserify(input, { bare: true }); b.bundle().pipe(concat(function (body) { vm.runInNewContext(body, { Buffer: function (s) { return s.toLowerCase() }, console: { log: function (msg) { t.equal(msg, 'abc') } } }); vm.runInNewContext(body, { Buffer: Buffer, console: { log: function (msg) { t.ok(Buffer.isBuffer(msg)); t.equal(msg.toString('utf8'), 'ABC') } } }); })); input.end('console.log(Buffer("ABC"))'); }); test('bare inserts __filename,__dirname but not process,global,Buffer', function (t) { t.plan(2); var file = path.resolve(__dirname, 'bare/main.js'); var ps = spawn(process.execPath, [ path.resolve(__dirname, '../bin/cmd.js'), file, '--bare' ]); ps.stdout.pipe(concat(function (body) { vm.runInNewContext(body, { require: require, __dirname: process.cwd(), console: { log: function (msg) { t.same(msg, [ path.join(__dirname, 'bare'), path.join(__dirname, 'bare/main.js'), 'undefined', 'undefined', 'undefined' ]); } } }); })); ps.stdin.end(); ps.on('exit', function (code) { t.equal(code, 0); }); }); test('bare inserts dynamic __filename,__dirname', function (t) { t.plan(2); var file = path.join(tmpdir, 'dirname-filename.js'); fs.writeFileSync( file, fs.readFileSync(path.resolve(__dirname, 'bare/dirname-filename.js')) ); var ps = spawn(process.execPath, [ path.resolve(__dirname, '../bin/cmd.js'), file, '--bare' ]); ps.stdout.pipe(concat(function (body) { vm.runInNewContext(body, { require: require, __dirname: process.cwd(), console: { log: function (msg) { t.same(msg, [ path.dirname(file), file ]); } } }); })); ps.stdin.end(); ps.on('exit', function (code) { t.equal(code, 0); }); }); test('bare inserts dynamic __filename,__dirname with basedir', function (t) { t.plan(2); var file = 'dirname-filename.js'; var ps = spawn(process.execPath, [ path.resolve(__dirname, '../bin/cmd.js'), file, '--bare', '--basedir=' + path.join(__dirname, 'bare') ]); ps.stdout.pipe(concat(function (body) { vm.runInNewContext(body, { require: require, __dirname: process.cwd(), console: { log: function (msg) { t.same(msg, [ __dirname, path.join(__dirname, file) ]); } } }); })); ps.stdin.end(); ps.on('exit', function (code) { t.equal(code, 0); }); });