JAVASCRIPT   52

args.js

Guest on 10th October 2021 02:17:37 PM

  1. var test = require('tap').test;
  2. var fromArgs = require('../bin/args.js');
  3. var path = require('path');
  4. var vm = require('vm');
  5.  
  6. test('bundle from an arguments array', function (t) {
  7.     t.plan(2);
  8.    
  9.     var b = fromArgs([ __dirname + '/entry/two.js', '-s', 'XYZ' ]);
  10.     b.bundle(function (err, src) {
  11.         t.ifError(err);
  12.         var c = { window: {} };
  13.         vm.runInNewContext(src, c);
  14.         t.equal(c.window.XYZ, 2);
  15.     });
  16. });
  17.  
  18. test('external flag for node modules', function(t) {
  19.     t.plan(2);
  20.    
  21.     var b = fromArgs([ __dirname + '/external_args/main.js', '-x', 'backbone' ]);
  22.     b.bundle(function (err, src) {
  23.         t.ifError(err);
  24.         vm.runInNewContext(src, {t: t});
  25.     });
  26. });
  27.  
  28. test('bundle from an arguments with --insert-global-vars', function (t) {
  29.     t.plan(4);
  30.  
  31.     var b = fromArgs([
  32.         __dirname + '/global/filename.js',
  33.         '--insert-global-vars=__filename,__dirname',
  34.         '--basedir', __dirname
  35.     ]);
  36.     b.require(__dirname + '/global/filename.js', { expose: 'x' });
  37.     b.bundle(function (err, src) {
  38.         t.ifError(err, 'b.bundle()');
  39.         var c = {}, x;
  40.         vm.runInNewContext(src, c);
  41.         t.doesNotThrow(function() {
  42.             x = c.require('x');
  43.         }, 'x = c.require(\'x\')');
  44.         t.equal(x && x.filename, '/global/filename.js', 'x.filename');
  45.         t.equal(x && x.dirname, '/global', 'x.dirname');
  46.     })
  47. });
  48.  
  49. test('numeric module names', function(t) {
  50.     t.plan(1);
  51.  
  52.     var b = fromArgs([ '-x', '1337' ]);
  53.     b.bundle(function (err, src) {
  54.         t.ifError(err);
  55.     });
  56. });
  57.  
  58. test('entry expose', function (t) {
  59.     t.plan(3)
  60.    
  61.     var b = fromArgs([
  62.         path.join(__dirname, '/entry_expose/main.js'),
  63.         '--require', path.join(__dirname, '/entry_expose/main.js') + ':x',
  64.     ]);
  65.     b.bundle(function (err, src) {
  66.         t.ifError(err);
  67.         var c = { console: { log: log } };
  68.         function log (msg) { t.equal(msg, 'wow') }
  69.         vm.runInNewContext(src, c);
  70.         t.equal(c.require('x'), 555);
  71.     })
  72. });

Raw Paste


Login or Register to edit or fork this paste. It's free.