You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
typesetting/pitfall/pdfkit/node_modules/browserify-optional/test/test.js

38 lines
1.2 KiB
JavaScript

var transform = require('../');
var assert = require('assert');
var fs = require('fs');
var concat = require('concat-stream');
describe('browserify-optional', function() {
it('should not transform a file without try..catch requires', function(done) {
var f = __dirname + '/fixtures/1.js';
fs.createReadStream(f)
.pipe(transform(f))
.pipe(concat(function(data) {
assert.equal(data, fs.readFileSync(f, 'utf8').trim());
done();
}));
});
it('should transform a missing require in a try..catch', function(done) {
var f = __dirname + '/fixtures/2.js';
fs.createReadStream(f)
.pipe(transform(f))
.pipe(concat(function(data) {
assert(/var a = 2, x = function \(\)/.test(data));
assert(/Cannot find module \\'y\\'/.test(data));
done();
}));
});
it('should not transform requires in try..catch that are not missing', function(done) {
var f = __dirname + '/fixtures/3.js';
fs.createReadStream(f)
.pipe(transform(f))
.pipe(concat(function(data) {
assert.equal(data.replace(/\s+/g, ''), fs.readFileSync(f, 'utf8').replace(/\s+/g, ''));
done();
}));
});
});