diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2012-06-28 12:27:39 +0200 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2012-06-28 12:27:39 +0200 |
commit | b883e87b1e5222388e6562296009a49126d3af3c (patch) | |
tree | 90cb37dcc307f442aab63e52d1ecd0a13adedd14 /test | |
download | collection_json.js-b883e87b1e5222388e6562296009a49126d3af3c.tar.gz collection_json.js-b883e87b1e5222388e6562296009a49126d3af3c.tar.bz2 collection_json.js-b883e87b1e5222388e6562296009a49126d3af3c.tar.xz collection_json.js-b883e87b1e5222388e6562296009a49126d3af3c.zip |
o Initial import of application/vnd.collection+json parser code.
Diffstat (limited to 'test')
-rw-r--r-- | test/collection_json.test.js | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/test/collection_json.test.js b/test/collection_json.test.js new file mode 100644 index 0000000..b74d99b --- /dev/null +++ b/test/collection_json.test.js @@ -0,0 +1,39 @@ +var assert = require('assert') + , collection_json = require('../'); + +function identity(x) { return x; } + +var collection1 = {collection: { + items: [ + { href: "http://example.com/1", links: [], + data: [ + { prompt: "prompt1", name: "field-1", value: "1", baz: "woot" }, + { prompt: "prompt2", name: "field-2", value: "2", foz: "asdf" }, + ] + }, + { href: "http://example.com/2", links: [], + data: [ + { prompt: "prompt1", name: "field-1", value: "3" }, + { prompt: "prompt2", name: "field-2", value: "4" }, + ] + } + ] +}}; + +describe('fromObject', function() { + it('Has basic fields', function() { + var collection = collection_json.fromObject({}); + assert.deepEqual([], collection.items); + assert.deepEqual([], collection.links); + assert.deepEqual([], collection.queries); + assert.deepEqual([], collection.templates); + }); + + it('Can map data field in items', function() { + assert.deepEqual(collection_json.fromObject(collection1).mapItemData(identity), + [{"field-1": "1", "field-2": "2"} + ,{"field-1": "3", "field-2": "4"}]); + function f(map) { return parseInt(map["field-1"]) + parseInt(map["field-2"]); } + assert.deepEqual(collection_json.fromObject(collection1).mapItemData(f), [3, 7]); + }); +}); |