UNPKG

1.59 kBJavaScriptView Raw
1var should = require('should');
2var request = require('supertest');
3
4var mason = require('../index');
5var express = require('express');
6var fs = require('fs');
7
8describe('mason middleware', function() {
9 describe('local renderer', function() {
10 it('should write JS and CSS includes into jade templates', function(done) {
11 var app = express();
12
13 var buildConfig = {
14 file: __dirname + '/fixtures/mason_jade_complex.json',
15 modes: {
16 'a.js': 'debug',
17 'b.js': 'uglify'
18 }
19 };
20
21 app.locals(mason(buildConfig).locals());
22
23 app.use(function(req, res) {
24 res.render(__dirname + '/fixtures/views/b.jade');
25 });
26
27 var ref = fs.readFileSync(__dirname + '/fixtures/reference/b.html', 'utf-8');
28 request(app)
29 .get('/')
30 .expect(ref, done);
31 });
32 it('should provide an optional prefix for urls', function(done) {
33 var app = express();
34
35 var buildConfig = {
36 file: __dirname + '/fixtures/mason_jade_complex.json',
37 modes: {
38 'a.js': 'debug',
39 'b.js': 'uglify'
40 },
41 prefix: 'https://media.server.com/'
42 };
43
44 app.locals(mason(buildConfig).locals());
45
46 app.use(function(req, res) {
47 res.render(__dirname + '/fixtures/views/b.jade');
48 });
49
50 var ref = fs.readFileSync(__dirname + '/fixtures/reference/b_media.html', 'utf-8');
51 request(app)
52 .get('/')
53 .expect(ref, done);
54 });
55 it('should prefix passthru urls', function(done) {
56 // TODO
57 return done();
58 });
59 });
60});