var parser = require('../'); var test = require('tap').test; var fs = require('fs'); var path = require('path'); var files = { main: path.join(__dirname, '/files/main.js'), foo: path.join(__dirname, '/files/foo.js'), bar: path.join(__dirname, '/files/bar.js'), extra: path.join(__dirname, '/files/extra.js') }; var sources = { foo: fs.readFileSync(files.foo, 'utf8'), bar: fs.readFileSync(files.bar, 'utf8'), extra: fs.readFileSync(files.extra, 'utf8'), main: "console.log(require('./foo')(5)); require('./extra.js')" }; test('source', function (t) { t.plan(1); var p = parser(); p.end({ file: files.main, source: sources.main, entry: true }); var rows = []; p.on('data', function (row) { rows.push(row) }); p.on('end', function () { t.same(rows.sort(cmp), [ { id: files.main, file: files.main, source: sources.main, entry: true, deps: { './foo': files.foo, './extra.js': files.extra } }, { id: files.foo, file: files.foo, source: sources.foo, deps: { './bar': files.bar } }, { id: files.bar, file: files.bar, source: sources.bar, deps: {} }, { id: files.extra, file: files.extra, source: sources.extra, deps: {} }, ].sort(cmp)); }); }); function cmp (a, b) { return a.id < b.id ? -1 : 1 }