1 | var should = require('should');
|
2 | var request = require('supertest');
|
3 |
|
4 | var mason = require('../index');
|
5 | var express = require('express');
|
6 | var fs = require('fs');
|
7 |
|
8 | describe('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 |
|
57 | return done();
|
58 | });
|
59 | });
|
60 | });
|