Version 1
[yaffs-website] / node_modules / safe-json-parse / test / index.js
1 var test = require("tape")
2 var Result = require("rust-result")
3
4 var safeParse = require("../callback")
5 var safeParseTuple = require("../tuple")
6 var safeParseResult = require("../result")
7
8 test("safeParse is a function", function (assert) {
9     assert.equal(typeof safeParse, "function")
10     assert.end()
11 })
12
13 test("safeParse valid json", function (assert) {
14     safeParse("{ \"foo\": true }", function (err, json) {
15         assert.ifError(err)
16         assert.equal(json.foo, true)
17
18         assert.end()
19     })
20 })
21
22 test("safeParse faulty", function (assert) {
23     safeParse("WRONG", function (err) {
24         assert.ok(err)
25         assert.equal(err.message, "Unexpected token W")
26
27         assert.end()
28     })
29 })
30
31 test("safeParseTuple valid json", function (assert) {
32     var t = safeParseTuple("{ \"foo\": true }")
33
34     assert.ifError(t[0])
35     assert.equal(t[1].foo, true)
36
37     assert.end()
38 })
39
40 test("safeParseTuple faulty", function (assert) {
41     var t = safeParseTuple("WRONG")
42
43     assert.ok(t[0])
44     assert.equal(t[0].message, "Unexpected token W")
45
46     assert.end()
47 })
48
49 test("safeParseResult valid json", function (assert) {
50     var t = safeParseResult("{ \"foo\": true }")
51
52     assert.ifError(Result.isErr(t))
53     assert.equal(Result.Ok(t).foo, true)
54
55     assert.end()
56 })
57
58 test("safeParseResult faulty", function (assert) {
59     var t = safeParseResult("WRONG")
60
61     assert.ok(Result.Err(t))
62     assert.equal(Result.Err(t).message, "Unexpected token W")
63
64     assert.end()
65 })