1 | var Lab = require('lab');
|
2 | var Moonboots = require('..');
|
3 | var moonboots;
|
4 |
|
5 |
|
6 | Lab.experiment('js with default options', function () {
|
7 | Lab.before(function (done) {
|
8 | var options = {
|
9 | main: __dirname + '/../fixtures/app/app.js',
|
10 | jsFileName: 'app'
|
11 | };
|
12 | moonboots = new Moonboots(options);
|
13 | moonboots.on('ready', done);
|
14 | });
|
15 | Lab.test('filename', function (done) {
|
16 | Lab.expect(moonboots.jsFileName(), 'js filename').to.equal('app.882ddd9b.min.js');
|
17 | done();
|
18 | });
|
19 | |
20 |
|
21 |
|
22 |
|
23 |
|
24 |
|
25 | });
|
26 |
|
27 | Lab.experiment('js with uglify options', function () {
|
28 | Lab.before(function (done) {
|
29 | var options = {
|
30 | main: __dirname + '/../fixtures/app/app.js',
|
31 | jsFileName: 'app',
|
32 | uglify: {
|
33 | mangle: false
|
34 | }
|
35 | };
|
36 |
|
37 | moonboots = new Moonboots(options);
|
38 | moonboots.on('ready', done);
|
39 | });
|
40 | Lab.test('filename', function (done) {
|
41 | Lab.expect(moonboots.jsFileName(), 'js filename').to.equal('app.882ddd9b.min.js');
|
42 | done();
|
43 | });
|
44 | });
|
45 |
|
46 | Lab.experiment('js with no minify', function () {
|
47 | Lab.before(function (done) {
|
48 | var options = {
|
49 | main: __dirname + '/../fixtures/app/app.js',
|
50 | jsFileName: 'app',
|
51 | minify: false
|
52 | };
|
53 | moonboots = new Moonboots(options);
|
54 | moonboots.on('ready', done);
|
55 | });
|
56 | Lab.test('filename', function (done) {
|
57 | Lab.expect(moonboots.jsFileName(), 'js filename').to.equal('app.882ddd9b.js');
|
58 | done();
|
59 | });
|
60 | |
61 |
|
62 |
|
63 |
|
64 |
|
65 |
|
66 | });
|
67 |
|
68 | Lab.experiment('js with .js already added', function () {
|
69 | Lab.before(function (done) {
|
70 | var options = {
|
71 | main: __dirname + '/../fixtures/app/app.js',
|
72 | jsFileName: 'app.js'
|
73 | };
|
74 | moonboots = new Moonboots(options);
|
75 | moonboots.on('ready', done);
|
76 | });
|
77 | Lab.test('filename', function (done) {
|
78 | Lab.expect(moonboots.jsFileName(), 'js filename').to.equal('app.882ddd9b.min.js');
|
79 | done();
|
80 | });
|
81 | });
|
82 |
|
83 | Lab.experiment('modulesDir', function () {
|
84 | Lab.before(function (done) {
|
85 | var options = {
|
86 | main: __dirname + '/../fixtures/app/app.js',
|
87 | jsFileName: 'app',
|
88 | modulesDir: __dirname + '/../fixtures/modules'
|
89 | };
|
90 | moonboots = new Moonboots(options);
|
91 | moonboots.on('ready', done);
|
92 | });
|
93 | Lab.test('module foo is in source', function (done) {
|
94 | moonboots.jsSource(function (err, js) {
|
95 | Lab.expect(js, 'js source').to.contain('"foo"');
|
96 | done();
|
97 | });
|
98 | });
|
99 | });
|
100 |
|
101 | Lab.experiment('transforms', function () {
|
102 | var transformRan = 0;
|
103 | Lab.before(function (done) {
|
104 | var options = {
|
105 | main: __dirname + '/../fixtures/app/app.js',
|
106 | jsFileName: 'app',
|
107 | browserify: {
|
108 | transforms: [
|
109 | function () {
|
110 | var through = require('through');
|
111 | transformRan++;
|
112 | return through(
|
113 | function write() {},
|
114 | function _end() {
|
115 | this.queue(null);
|
116 | }
|
117 | );
|
118 | }
|
119 | ]
|
120 | }
|
121 | };
|
122 | moonboots = new Moonboots(options);
|
123 | moonboots.on('ready', done);
|
124 | });
|
125 | Lab.test('ran', function (done) {
|
126 | Lab.expect(transformRan).to.equal(1);
|
127 | done();
|
128 | });
|
129 | });
|
130 |
|
131 | Lab.experiment('sync beforeBuildJS', function () {
|
132 | var beforeRan = false;
|
133 | Lab.before(function (done) {
|
134 | var options = {
|
135 | main: __dirname + '/../fixtures/app/app.js',
|
136 | jsFileName: 'app',
|
137 | minify: false,
|
138 | beforeBuildJS: function () {
|
139 | beforeRan = true;
|
140 | }
|
141 | };
|
142 | moonboots = new Moonboots(options);
|
143 | moonboots.on('ready', done);
|
144 | });
|
145 | Lab.test('ran', function (done) {
|
146 | Lab.expect(beforeRan).to.equal(true);
|
147 | done();
|
148 | });
|
149 | });
|