1 | var Lab = require('lab');
|
2 | var async = require('async');
|
3 | var Moonboots = require('..');
|
4 |
|
5 | function arrEqual(arr) {
|
6 | if (arr.length > 0) {
|
7 | for (var i = 1; i < arr.length; i++) {
|
8 | if (arr[i] !== arr[0]) {
|
9 | return arr[i];
|
10 | }
|
11 | }
|
12 | }
|
13 | return true;
|
14 | }
|
15 |
|
16 |
|
17 | Lab.experiment('Hash is the same', function () {
|
18 | function setup(done) {
|
19 | var options = {
|
20 | main: __dirname + '/../fixtures/app/appImports.js',
|
21 | jsFileName: 'app',
|
22 | minify: false
|
23 | };
|
24 | var moonboots = new Moonboots(options);
|
25 | moonboots.on('ready', function () {
|
26 | done(moonboots);
|
27 | });
|
28 | }
|
29 |
|
30 | Lab.test('50 times', function (done) {
|
31 | async.timesSeries(50, function (index, next) {
|
32 | setup(function (moonboots) {
|
33 | var filename = moonboots.jsFileName();
|
34 | moonboots.jsSource(function (err, js) {
|
35 | next(null, [filename, js]);
|
36 | });
|
37 | });
|
38 | }, function (err, results) {
|
39 | var filenames = results.map(function (r) {
|
40 | return r[0];
|
41 | });
|
42 | var js = results.map(function (r) {
|
43 | return r[1];
|
44 | });
|
45 | Lab.expect(filenames[0]).to.equal('app.5ddad305.js');
|
46 | Lab.expect(arrEqual(filenames)).to.equal(true);
|
47 | Lab.expect(arrEqual(js)).to.equal(true);
|
48 | done();
|
49 | });
|
50 | });
|
51 | });
|