ee-templates
Advanced tools
Comparing version 0.3.3 to 0.3.4
@@ -25,8 +25,8 @@ "use strict"; | ||
application: { | ||
json: new rendering.JSONRenderer() | ||
//, xml: new rendering.XMLRenderer() | ||
json: new rendering.JSONRenderer() | ||
, xml: new rendering.XMLRenderer('application', 'xml') | ||
, all: new rendering.DefaultRenderer('application', 'json') | ||
} | ||
, image: { | ||
png: new rendering.DefaultRenderer('image', 'png') | ||
png: new rendering.DefaultRenderer('image', 'png') | ||
, jpg: new rendering.DefaultRenderer('image', 'jpg') | ||
@@ -40,4 +40,4 @@ , jpeg: new rendering.DefaultRenderer('image', 'jpeg') | ||
, text: { | ||
plain: new rendering.DefaultRenderer('text', 'plain') | ||
//, xml: new rendering.XMLRenderer() | ||
plain: new rendering.DefaultRenderer('text', 'plain') | ||
, xml: new rendering.XMLRenderer() | ||
, html: new rendering.HTMLRenderer(this.container, this.dataPropertyName) | ||
@@ -44,0 +44,0 @@ , all: new rendering.DefaultRenderer('text', '*') |
@@ -8,2 +8,4 @@ module.exports.AbstractRenderer = require('./AbstractRenderer'); | ||
module.exports.HTMLRenderer = require('./HTMLRenderer'); | ||
module.exports.XMLRenderer = require('./XMLRenderer'); | ||
module.exports.Factory = require('./Factory'); |
{ | ||
"name" : "ee-templates" | ||
, "description" : "Templating integration for the ee-soa-transport-rest based on Nunjucks" | ||
, "version" : "0.3.3" | ||
, "version" : "0.3.4" | ||
, "license" : "MIT" | ||
@@ -23,2 +23,3 @@ , "author" : "Michael Rüfenacht <ruefe@rcky.ch> (http://www.rcky.ch)" | ||
, "ee-event-emitter" : "0.1.*" | ||
, "js2xmlparser" : "0.1.*" | ||
} | ||
@@ -25,0 +26,0 @@ , "devDependencies": { |
@@ -26,2 +26,4 @@ var assert = require('assert') | ||
, acceptPlaintext = {'accept': [{key:'text', value: 'plain'}]} | ||
, acceptXML = {'accept': [{key:'text', value: 'xml'}]} | ||
, acceptAppXML = {'accept': [{key:'application', value: 'xml'}]} | ||
, acceptMultiple = {'accept': [{key:'application', value: 'json'}, {key:'text', value: 'html'}]} | ||
@@ -32,3 +34,23 @@ , acceptNonsense = {'accept': [{key:'application', value: 'nonsense'}]} | ||
var complexObject = { | ||
name: function(){ | ||
return 'wayne'; | ||
} | ||
, firstName: 'john' | ||
, age: 200 | ||
, beatsChuckNorris: true | ||
, friends: [ | ||
{ | ||
fullname: "chuck norris" | ||
, id: 1 | ||
} | ||
, { | ||
fullname: "captain future" | ||
, id: 3 | ||
} | ||
] | ||
, sexRatio: 100.3 | ||
}; | ||
describe('an unsatisfiable null path request', function(){ | ||
@@ -146,2 +168,62 @@ var nonsenseRequest = new MockRequest('test.ch', '', acceptNonsense , nullP) | ||
describe('text/xml', function(){ | ||
var requestXML = new MockRequest('test.ch', '', acceptXML) | ||
, responseXML = new MockResponse(); | ||
middleware.request(requestXML, responseXML, function(){ | ||
it('should append a rendering method to the response', function(){ | ||
assert('render' in responseXML); | ||
}); | ||
var expected = '<?xmlversion="1.0"encoding="UTF-8"?><root><name><![CDATA[wayne]]></name><firstName><![CDATA[john]]></firstName><age><![CDATA[200]]></age><beatsChuckNorris><![CDATA[true]]></beatsChuckNorris><friends><fullname><![CDATA[chucknorris]]></fullname><id><![CDATA[1]]></id></friends><friends><fullname><![CDATA[captainfuture]]></fullname><id><![CDATA[3]]></id></friends><sexRatio><![CDATA[100.3]]></sexRatio></root>'; | ||
it('should create xml', function(done){ | ||
responseXML.render(200, 'it', {}, complexObject, function(err){ | ||
try { | ||
// I dont want to dick around with whitespaces | ||
assert.equal(expected, responseXML.data.replace(/\s*/g, '')); | ||
done(); | ||
} catch(ex) { | ||
done(ex); | ||
} | ||
}); | ||
}); | ||
it('and set the content type accordingly', function(){ | ||
assert.equal('text/xml; charset=utf-8', responseXML.contentType); | ||
assert.equal(200, responseXML.status); | ||
}); | ||
}); | ||
}); | ||
describe('application/xml', function(){ | ||
var requestXML = new MockRequest('test.ch', '', acceptAppXML) | ||
, responseXML = new MockResponse(); | ||
middleware.request(requestXML, responseXML, function(){ | ||
it('should append a rendering method to the response', function(){ | ||
assert('render' in responseXML); | ||
}); | ||
var expected = '<?xmlversion="1.0"encoding="UTF-8"?><root><name><![CDATA[wayne]]></name><firstName><![CDATA[john]]></firstName><age><![CDATA[200]]></age><beatsChuckNorris><![CDATA[true]]></beatsChuckNorris><friends><fullname><![CDATA[chucknorris]]></fullname><id><![CDATA[1]]></id></friends><friends><fullname><![CDATA[captainfuture]]></fullname><id><![CDATA[3]]></id></friends><sexRatio><![CDATA[100.3]]></sexRatio></root>'; | ||
it('should create xml', function(done){ | ||
responseXML.render(200, 'it', {}, complexObject, function(err){ | ||
try { | ||
// I dont want to dick around with whitespaces | ||
assert.equal(expected, responseXML.data.replace(/\s*/g, '')); | ||
done(); | ||
} catch(ex) { | ||
done(ex); | ||
} | ||
}); | ||
}); | ||
it('and set the content type accordingly', function(){ | ||
assert.equal('application/xml; charset=utf-8', responseXML.contentType); | ||
assert.equal(200, responseXML.status); | ||
}); | ||
}); | ||
}); | ||
describe('on errors', function(){ | ||
@@ -148,0 +230,0 @@ var errorRequest = new MockRequest('test.ch', 'test.nunjuck.inexistent.html', acceptHTML) |
38079
28
802
5
+ Addedjs2xmlparser@0.1.*
+ Addedjs2xmlparser@0.1.9(transitive)