summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/node-fetch-npm/node_modules/json-parse-helpfulerror/test/test.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/node-fetch-npm/node_modules/json-parse-helpfulerror/test/test.js')
-rw-r--r--deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/node-fetch-npm/node_modules/json-parse-helpfulerror/test/test.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/node-fetch-npm/node_modules/json-parse-helpfulerror/test/test.js b/deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/node-fetch-npm/node_modules/json-parse-helpfulerror/test/test.js
new file mode 100644
index 0000000000..fca458ac08
--- /dev/null
+++ b/deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/node-fetch-npm/node_modules/json-parse-helpfulerror/test/test.js
@@ -0,0 +1,32 @@
+var Code = require('code'),
+ Lab = require('lab'),
+ lab = Lab.script(),
+ jph = require('..'); // 'json-parse-helpfulerror'
+
+exports.lab = lab;
+
+lab.test('can parse', function (done) {
+ var o = jph.parse('{"foo": "bar"}');
+
+ Code.expect(o.foo).to.equal('bar');
+ done();
+});
+
+lab.test('helpful error for bad JSON', function (done) {
+
+ var bad = "{'foo': 'bar'}";
+
+ Code.expect(function () { JSON.parse(bad) }).to.throw();
+
+ Code.expect(function () { jph.parse(bad) }).to.throw(SyntaxError, "Unexpected token '\\'' at 1:2\n" + bad + '\n ^');
+
+ done();
+});
+
+lab.test('fails if reviver throws', function (done) {
+ function badReviver() { throw new ReferenceError('silly'); }
+
+ Code.expect(function () { jph.parse('3', badReviver) }).to.throw(ReferenceError, 'silly');
+
+ done();
+}); \ No newline at end of file