UNPKG

2.34 kBJavaScriptView Raw
1var Lab = require('lab');
2var Moonboots = require('..');
3var moonboots, beforeBuildJSRan, beforeBuildCSSRan, transformRan;
4
5Lab.experiment('development mode', function () {
6 Lab.before(function (done) {
7 var options = {
8 developmentMode: true,
9 main: __dirname + '/../fixtures/app/app.js',
10 jsFileName: 'app',
11 cssFileName: 'app',
12 beforeBuildJS: function (cb) {
13 beforeBuildJSRan = true;
14 cb();
15 },
16 beforeBuildCSS: function (cb) {
17 beforeBuildCSSRan = true;
18 cb();
19 },
20 modulesDir: __dirname + '/../fixtures/modules',
21 browserify: {
22 transforms: [
23 function () {
24 var through = require('through');
25 transformRan = true;
26 return through(
27 function write() {},
28 function _end() {
29 this.queue(null);
30 }
31 );
32 }
33 ]
34 },
35 stylesheets: [
36 __dirname + '/../fixtures/stylesheets/style.css'
37 ]
38 };
39 moonboots = new Moonboots(options);
40 moonboots.on('ready', done);
41 });
42 Lab.test('htmlContext', function (done) {
43 var context = moonboots.htmlContext();
44 Lab.expect(context).to.have.keys('jsFileName', 'cssFileName');
45 Lab.expect(context.jsFileName).to.equal('app.nonCached.js');
46 Lab.expect(context.cssFileName).to.equal('app.nonCached.css');
47 done();
48 });
49 Lab.test('js rebuilds every request', function (done) {
50 beforeBuildJSRan = false;
51 moonboots.jsSource(function (err, js) {
52 Lab.expect(beforeBuildJSRan).to.equal(true);
53 Lab.expect(transformRan).to.equal(true);
54 Lab.expect(js, 'js source').to.contain('"foo"');
55 done();
56 });
57 });
58 Lab.test('css rebuilds every request', function (done) {
59 beforeBuildCSSRan = false;
60 transformRan = false;
61 moonboots.cssSource(function () {
62 Lab.expect(beforeBuildCSSRan).to.equal(true);
63 done();
64 });
65 });
66});
67