UNPKG

teacup

Version:

Render HTML with native CoffeeScript templates. No magic, no fuss.

48 lines (39 loc) 1.58 kB
expect = require 'expect.js' {renderFile} = require '../lib/express' describe 'express', -> describe 'renderFile', -> {path, params} = {} beforeEach -> path = "#{__dirname}/express_template.coffee" params = { name: 'Foo' } it 'renders a template from file', (done) -> renderFile path, params, (err, rendered) -> return done(err) if err? expect(rendered).to.equal '<p>Name is Foo</p>' done() it "returns error if not found", (done) -> renderFile './not_found.coffee', params, (err, rendered) -> expect(err).not.to.be(undefined) done() describe 'with view cache enabled', -> beforeEach -> params.app = {enabled: -> true} it 'loads from the require cache', (done) -> renderFile path, params, (err, rendered) -> return done(err) if err? expect(rendered).to.equal '<p>Name is Foo</p>' require(path).isSameTemplate = true renderFile path, params, (err, rendered) -> expect(require(path).isSameTemplate).to.be.ok() done() describe 'with view cache disabled', -> beforeEach -> params.app = {enabled: -> false} it 'does not use cached template', (done) -> renderFile path, params, (err, rendered) -> return done(err) if err? expect(rendered).to.equal '<p>Name is Foo</p>' require(path).isSameTemplate = true renderFile path, params, (err, rendered) -> expect(require(path).isSameTemplate).to.not.be.ok() done()