UNPKG

@arve.knudsen/bankai

Version:

The easiest way to compile JavaScript, HTML and CSS

54 lines (41 loc) 1.3 kB
var dedent = require('dedent') var rimraf = require('rimraf') var path = require('path') var tape = require('tape') var fs = require('fs') var os = require('os') var bankai = require('../') var tmpDirname function cleanup () { rimraf.sync(tmpDirname) } tape('run an asset pipeline', function (assert) { assert.on('end', cleanup) var script = dedent` 1 + 1 ` var file = dedent` hello planet ` var dirname = 'manifest-pipeline-' + (Math.random() * 1e4).toFixed() tmpDirname = path.join(os.tmpdir(), dirname) var assetDirname = path.join(os.tmpdir(), dirname, 'assets') var tmpScriptname = path.join(tmpDirname, 'index.js') var tmpFilename = path.join(assetDirname, 'file.txt') fs.mkdirSync(tmpDirname) fs.mkdirSync(assetDirname) fs.writeFileSync(tmpScriptname, script) fs.writeFileSync(tmpFilename, file) var compiler = bankai(tmpScriptname, { watch: false }) compiler.on('error', function (name, sub, err) { assert.error(err, 'no error') }) compiler.on('change', function (nodeName, second) { if (nodeName !== 'documents' || second !== 'list') return assert.end() }) compiler.assets('assets/file.txt', function (err, buf) { assert.error(err, 'no error reading file') assert.ok(buf, 'buffer is fine fine fine') }) })