diff --git a/test/res.render.js b/test/res.render.js new file mode 100644 index 00000000..ae2a53d3 --- /dev/null +++ b/test/res.render.js @@ -0,0 +1,144 @@ + +var express = require('../') + , request = require('./support/http'); + +describe('res', function(){ + describe('.render(name)', function(){ + it('should expose app.locals', function(done){ + var app = express(); + + app.set('views', __dirname + '/fixtures'); + app.locals.user = { name: 'tobi' }; + + app.use(function(req, res){ + res.render('user.jade'); + }); + + request(app) + .get('/') + .end(function(res){ + res.body.should.equal('
tobi
'); + done(); + }); + }) + + it('should support index.This is an email
'); + done(); + }); + }) + }) + }) + + describe('.render(name, option)', function(){ + it('should render the template', function(done){ + var app = express(); + + app.set('views', __dirname + '/fixtures'); + + var user = { name: 'tobi' }; + + app.use(function(req, res){ + res.render('user.jade', { user: user }); + }); + + request(app) + .get('/') + .end(function(res){ + res.body.should.equal('tobi
'); + done(); + }); + }) + + it('should expose app.locals', function(done){ + var app = express(); + + app.set('views', __dirname + '/fixtures'); + app.locals.user = { name: 'tobi' }; + + app.use(function(req, res){ + res.render('user.jade', {}); + }); + + request(app) + .get('/') + .end(function(res){ + res.body.should.equal('tobi
'); + done(); + }); + }) + + it('should give precedence to res.render() locals', function(done){ + var app = express(); + + app.set('views', __dirname + '/fixtures'); + app.locals.user = { name: 'tobi' }; + var jane = { name: 'jane' }; + + app.use(function(req, res){ + res.render('user.jade', { user: jane }); + }); + + request(app) + .get('/') + .end(function(res){ + res.body.should.equal('jane
'); + done(); + }); + }) + }) +})