]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/test/test.js
Adding integrated tile server
[simantics/district.git] / org.simantics.maps.server / node / node-v4.8.0-win-x64 / node_modules / npm / node_modules / read-package-json / node_modules / json-parse-helpfulerror / test / test.js
1 var Code = require('code'),
2     Lab = require('lab'),
3     lab = Lab.script(),
4     jph = require('..'); // 'json-parse-helpfulerror'
5
6 exports.lab = lab;
7
8 lab.test('can parse', function (done) {
9   var o = jph.parse('{"foo": "bar"}');
10
11   Code.expect(o.foo).to.equal('bar');
12   done();
13 });
14
15 lab.test('helpful error for bad JSON', function (done) {
16
17   var bad = "{'foo': 'bar'}";
18
19   Code.expect(function () { JSON.parse(bad) }).to.throw();
20
21   Code.expect(function () { jph.parse(bad) }).to.throw(SyntaxError, "Unexpected token '\\'' at 1:2\n" + bad + '\n ^');
22
23   done();
24 });
25
26 lab.test('fails if reviver throws', function (done) {
27   function badReviver() { throw new ReferenceError('silly'); }
28
29   Code.expect(function () { jph.parse('3', badReviver) }).to.throw(ReferenceError, 'silly');
30
31   done();
32 });