Security update for permissions_by_term
[yaffs-website] / node_modules / rust-result / test.js
1 var test = require('tape')
2
3 var Result = require('./index.js')
4
5 test('can create Ok', function t(assert) {
6   var v = Result.Ok(42)
7
8   assert.equal(!!v, true)
9   assert.equal(v.v, 42)
10
11   assert.end()
12 })
13
14 test('can check for Ok', function t(assert) {
15   var result = Result.Ok(42)
16
17   assert.equal(Result.isOk(result), true)
18   assert.equal(Result.Ok(result), 42)
19
20   assert.end()
21 })
22
23 test('check for Ok fails for Err', function t(assert) {
24   var result = Result.Err(new Error('foo'))
25
26   assert.equal(Result.isOk(result), false)
27   assert.equal(Result.Ok(result), undefined)
28
29   assert.end()
30 })
31
32 test('can create Err', function t(assert) {
33   var err = Result.Err(new Error('foo'))
34
35   assert.equal(!!err, true)
36   assert.equal(err.err.message, 'foo')
37
38   assert.end()
39 })
40
41 test('can check for Err', function t(assert) {
42   var result = Result.Err(new Error('foo'))
43
44   assert.equal(Result.isErr(result), true)
45   assert.equal(Result.Err(result).message, 'foo')
46
47   assert.end()
48 })
49
50 test('check for Err fails for Ok', function t(assert) {
51   var result = Result.Ok(42)
52
53   assert.equal(Result.isErr(result), false)
54   assert.equal(Result.Err(result), undefined)
55
56   assert.end()
57 })
58
59 test('Ok can support null value', function t(assert) {
60   var result = Result.Ok(null)
61
62   assert.equal(!!result, true)
63   assert.equal(result.v, null)
64
65   assert.equal(Result.isOk(result), true)
66   assert.equal(Result.Ok(result), null)
67
68   assert.equal(Result.isErr(result), false)
69   assert.equal(Result.Err(result), undefined)
70
71   assert.end()
72 })
73
74 test('Ok throws if you box undefined', function t(assert) {
75   assert.throws(function () {
76     Result.Ok(undefined)
77   }, /Cannot box `undefined` in Result.Ok/)
78
79   assert.end()
80 })
81
82 test('Err throws if you box non-error', function t(assert) {
83   assert.throws(function () {
84     Result.Err(42)
85   }, /Cannot box a non-error in Result.Err/)
86
87   assert.end()
88 })