var test = require('tap').test; var browserify = require('../'); var through = require('through2'); var vm = require('vm'); test('ordinary debug', function (t) { t.plan(1); var stream = through(); stream.push('console.log(1+2)'); stream.push(null); var b = browserify({ debug: true }); b.add(stream); b.bundle(function (err, buf) { var src = buf.toString('utf8'); var last = src.split('\n').slice(-2)[0]; t.ok( /\/\/# sourceMappingURL=data:application\/json;charset=utf-8;base64,[\w+\/=]+$/ .test(last) ); }); }); test('debug standalone', function (t) { t.plan(1); var stream = through(); stream.push('console.log(1+2)'); stream.push(null); var b = browserify({ debug: true, standalone: 'xyz' }); b.add(stream); b.bundle(function (err, buf) { var src = buf.toString('utf8'); var last = src.split('\n').slice(-2)[0]; t.ok( /\/\/# sourceMappingURL=data:application\/json;charset=utf-8;base64,[\w+\/=]+$/ .test(last) ); }); }); test('debug standalone exposed', function (t) { t.plan(2); var stream = through(); stream.push('console.log(1+2)'); stream.push(null); var b = browserify({ debug: true, standalone: 'xyz' }); b.require(__dirname + '/debug_standalone/x.js', { expose: 'xxx' }); b.bundle(function (err, buf) { var src = buf.toString('utf8'); var last = src.split('\n').slice(-2)[0]; t.ok( /\/\/# sourceMappingURL=data:application\/json;charset=utf-8;base64,[\w+\/=]+$/ .test(last) ); var c = { window: {} }; vm.runInNewContext(src, c); t.equal(c.window.xyz, 555); }); });