mason
Version:
simple, fun, static-file builder for jade, stylus, and javascript
61 lines (50 loc) • 1.59 kB
JavaScript
var should = require('should');
var request = require('supertest');
var mason = require('../index');
var express = require('express');
var fs = require('fs');
describe('mason middleware', function() {
describe('local renderer', function() {
it('should write JS and CSS includes into jade templates', function(done) {
var app = express();
var buildConfig = {
file: __dirname + '/fixtures/mason_jade_complex.json',
modes: {
'a.js': 'debug',
'b.js': 'uglify'
}
};
app.locals(mason(buildConfig).locals());
app.use(function(req, res) {
res.render(__dirname + '/fixtures/views/b.jade');
});
var ref = fs.readFileSync(__dirname + '/fixtures/reference/b.html', 'utf-8');
request(app)
.get('/')
.expect(ref, done);
});
it('should provide an optional prefix for urls', function(done) {
var app = express();
var buildConfig = {
file: __dirname + '/fixtures/mason_jade_complex.json',
modes: {
'a.js': 'debug',
'b.js': 'uglify'
},
prefix: 'https://media.server.com/'
};
app.locals(mason(buildConfig).locals());
app.use(function(req, res) {
res.render(__dirname + '/fixtures/views/b.jade');
});
var ref = fs.readFileSync(__dirname + '/fixtures/reference/b_media.html', 'utf-8');
request(app)
.get('/')
.expect(ref, done);
});
it('should prefix passthru urls', function(done) {
// TODO
return done();
});
});
});