UNPKG

2.15 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
10tape('read a manifest', function (assert) {
11 assert.plan(5)
12 var script = dedent`
13 1 + 1
14 `
15
16 var manifest = dedent`
17 {
18 "name": "demo",
19 "short_name": "demo",
20 "description": "A very cute app",
21 "start_url": "/",
22 "display": "standalone",
23 "background_color": "#ffc0cb",
24 "theme_color": "#ffc0cb",
25 "icons": [{
26 "src": "/assets/icon.png",
27 "type": "image/png",
28 "sizes": "512x512"
29 }]
30 }
31 `
32
33 var dirname = 'manifest-pipeline-' + (Math.random() * 1e4).toFixed()
34 var tmpDirname = path.join(os.tmpdir(), dirname)
35 var tmpScriptname = path.join(tmpDirname, 'index.js')
36 var tmpManifestname = path.join(tmpDirname, 'manifest.json')
37
38 fs.mkdirSync(tmpDirname)
39 fs.writeFileSync(tmpScriptname, script)
40 fs.writeFileSync(tmpManifestname, manifest)
41
42 var compiler = bankai(tmpScriptname, { watch: false })
43 compiler.manifest(function (err, res) {
44 assert.error(err, 'no error writing manifest')
45 assert.ok(res, 'output exists')
46 assert.ok(res.buffer, 'output buffer exists')
47 assert.ok(res.hash, 'output hash exists')
48 })
49
50 compiler.scripts('bundle.js', function (err, res) {
51 assert.error(err, 'no error writing script')
52 rimraf.sync(tmpDirname)
53 })
54})
55
56tape('should provide a default manifest', function (assert) {
57 assert.plan(3)
58 var script = dedent`
59 1 + 1
60 `
61
62 var dirname = 'manifest-pipeline-' + (Math.random() * 1e4).toFixed()
63 var tmpDirname = path.join(os.tmpdir(), dirname)
64 var tmpScriptname = path.join(tmpDirname, 'index.js')
65
66 fs.mkdirSync(tmpDirname)
67 fs.writeFileSync(tmpScriptname, script)
68
69 var compiler = bankai(tmpScriptname, { watch: false })
70 compiler.manifest(function (err, res) {
71 assert.error(err, 'no error writing manifest')
72 assert.ok(res, 'output exists')
73 })
74
75 compiler.scripts('bundle.js', function (err, res) {
76 assert.error(err, 'no error writing script')
77 rimraf.sync(tmpDirname)
78 })
79})