ee-templates
Advanced tools
Comparing version 0.2.1 to 0.3.0
@@ -19,9 +19,13 @@ "use strict"; | ||
*/ | ||
var ctx = {}; | ||
if(!!this.propertyName){ | ||
ctx[this.propertyName] = data.content; | ||
} else { | ||
} | ||
else { | ||
ctx = data.content; | ||
} | ||
ctx['language'] = data.language; | ||
try { | ||
@@ -28,0 +32,0 @@ this.env.render(data.template, ctx, function(err, content){ |
@@ -26,5 +26,5 @@ var log = require('ee-log'), | ||
response.render = function (status, headers, data, callback) { | ||
response.render = function (status, language, headers, data, callback) { | ||
// create a context which should be sufficient for all renderers | ||
var context = {content: data, template: template}; | ||
var context = {content: data, template: template, language:language}; | ||
// apply the rendering | ||
@@ -42,2 +42,3 @@ renderer.render(context, function(err, content, type){ | ||
this.setHeaders(headers || {}); | ||
this.setHeader('content-language', language); | ||
@@ -44,0 +45,0 @@ // and send it back to the client |
{ | ||
"name" : "ee-templates" | ||
, "description" : "Templating integration for the ee-soa-transport-rest based on Nunjucks" | ||
, "version" : "0.2.1" | ||
, "version" : "0.3.0" | ||
, "license" : "MIT" | ||
@@ -6,0 +6,0 @@ , "author" : "Michael Rüfenacht <ruefe@rcky.ch> (http://www.rcky.ch)" |
@@ -30,3 +30,10 @@ var assert = require('assert'), | ||
var requestLanguage = new MockRequest('test.ch', 'test.language.nunjuck.html', | ||
{'accept': [ | ||
{key:'text', value: 'html'} | ||
]} | ||
); | ||
var response = new MockResponse(); | ||
var responseLanguage = new MockResponse(); | ||
@@ -38,3 +45,3 @@ middleware.request(request, response, function(){ | ||
response.render(200, {}, {ciao: 'Hallo'}, function(err){ | ||
response.render(200, 'en', {}, {ciao: 'Hallo'}, function(err){ | ||
it('which resolves the template and renders it', function(){ | ||
@@ -51,2 +58,24 @@ assert.equal(err, null); | ||
}); | ||
middleware.request(requestLanguage, responseLanguage, function(){ | ||
it('should append a rendering method to the response', function(){ | ||
assert('render' in responseLanguage); | ||
}); | ||
responseLanguage.render(200, 'it', {}, {ciao: 'Hallo'}, function(err){ | ||
it('which resolves the template and renders it with the language available', function(){ | ||
assert.equal(err, null); | ||
assert.equal('Hallo: Test succeeded in it.', responseLanguage.data); | ||
}); | ||
it('should set the content type and the status correctly', function(){ | ||
assert.equal('text/html; charset=utf8', responseLanguage.contentType); | ||
assert.equal(200, responseLanguage.status); | ||
}); | ||
it('should set the content language correctly', function(){ | ||
assert.equal('it', responseLanguage.getHeader('content-language')); | ||
}); | ||
}); | ||
}); | ||
}); | ||
@@ -65,3 +94,3 @@ | ||
middleware.request(request1, response1, function(){ | ||
response1.render(200, {}, {test: 'succeeded'}, function(err){ | ||
response1.render(200, 'en', {}, {test: 'succeeded'}, function(err){ | ||
it('if the request has an accept value of application/json it should render it as json, and ignore the template', function(){ | ||
@@ -89,3 +118,3 @@ assert.equal(err, null); | ||
middleware.request(request1, response1, function(){ | ||
response1.render(200, {}, {test: 'succeeded'}, function(err){ | ||
response1.render(200, 'en', {}, {test: 'succeeded'}, function(err){ | ||
it('if the request has another accept type it should fallback to json', function(){ | ||
@@ -114,3 +143,3 @@ assert(err==null); | ||
middleware.request(request1, response1, function(){ | ||
response1.render(200, {}, {test: 'succeeded'}, function(err){ | ||
response1.render(200, 'en', {}, {test: 'succeeded'}, function(err){ | ||
it('if there happens an error during the rendering it is passed to the callback', function(){ | ||
@@ -117,0 +146,0 @@ assert(!!err); |
25955
23
594