UNPKG

1.3 kBJavaScriptView Raw
1var dedent = require('dedent')
2var rimraf = require('rimraf')
3var path = require('path')
4var tape = require('tape')
5var fs = require('fs')
6var os = require('os')
7
8var bankai = require('../')
9
10var tmpDirname
11
12function cleanup () {
13 rimraf.sync(tmpDirname)
14}
15
16tape('run an asset pipeline', function (assert) {
17 assert.on('end', cleanup)
18 var script = dedent`
19 1 + 1
20 `
21
22 var file = dedent`
23 hello planet
24 `
25
26 var dirname = 'manifest-pipeline-' + (Math.random() * 1e4).toFixed()
27 tmpDirname = path.join(os.tmpdir(), dirname)
28 var assetDirname = path.join(os.tmpdir(), dirname, 'assets')
29
30 var tmpScriptname = path.join(tmpDirname, 'index.js')
31 var tmpFilename = path.join(assetDirname, 'file.txt')
32
33 fs.mkdirSync(tmpDirname)
34 fs.mkdirSync(assetDirname)
35 fs.writeFileSync(tmpScriptname, script)
36 fs.writeFileSync(tmpFilename, file)
37
38 var compiler = bankai(tmpScriptname, { watch: false })
39
40 compiler.on('error', function (name, sub, err) {
41 assert.error(err, 'no error')
42 })
43
44 compiler.on('change', function (nodeName, second) {
45 if (nodeName !== 'documents' || second !== 'list') return
46 assert.end()
47 })
48
49 compiler.assets('assets/file.txt', function (err, buf) {
50 assert.error(err, 'no error reading file')
51 assert.ok(buf, 'buffer is fine fine fine')
52 })
53})