1 | var test = require('tap').test;
|
2 | var browserify = require('browserify');
|
3 | var through = require('through');
|
4 |
|
5 | var vm = require('vm');
|
6 | var fs = require('fs');
|
7 | var path = require('path');
|
8 |
|
9 | test('parse non-js, non-json files', function (t) {
|
10 | t.plan(2);
|
11 |
|
12 | var b = browserify();
|
13 | b.add(__dirname + '/files/tr.beep');
|
14 | b.transform(function (file) {
|
15 | var buffers = [];
|
16 | if (!/\.beep$/.test(file)) return through();
|
17 | return through(write, end);
|
18 |
|
19 | function write (buf) { buffers.push(buf) }
|
20 | function end () {
|
21 | var src = Buffer.concat(buffers).toString('utf8');
|
22 | this.queue(src.replace(/\bFN\b/g, 'function'));
|
23 | this.queue(null);
|
24 | }
|
25 | });
|
26 | b.transform(path.dirname(__dirname));
|
27 |
|
28 | var bs = b.bundle(function (err, src) {
|
29 | if (err) t.fail(err);
|
30 | vm.runInNewContext(src, { console: { log: log } });
|
31 | });
|
32 | b.on('transform', function (tr) {
|
33 | tr.on('file', function (file) {
|
34 | t.equal(file, __dirname + '/files/tr.html');
|
35 | });
|
36 | });
|
37 |
|
38 | function log (msg) {
|
39 | t.equal(13, msg);
|
40 | }
|
41 | });
|