-
-
Notifications
You must be signed in to change notification settings - Fork 4
/
test.js
94 lines (79 loc) · 1.57 KB
/
test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
import assert from 'node:assert/strict'
import test from 'node:test'
import {VFile} from 'vfile'
import {statistics} from 'vfile-statistics'
test('statistics', async function () {
assert.deepEqual(
Object.keys(await import('vfile-statistics')).sort(),
['statistics'],
'should expose the public api'
)
const file = new VFile()
const other = new VFile()
assert.throws(function () {
// @ts-expect-error: check that a runtime error is thrown.
statistics()
}, /Expected file or message for `value`, not `undefined`/)
assert.deepEqual(statistics(file), {
fatal: 0,
nonfatal: 0,
warn: 0,
info: 0,
total: 0
})
assert.deepEqual(statistics([file, other]), {
fatal: 0,
nonfatal: 0,
warn: 0,
info: 0,
total: 0
})
file.message('This')
assert.deepEqual(statistics(file.messages), {
fatal: 0,
nonfatal: 1,
warn: 1,
info: 0,
total: 1
})
assert.deepEqual(statistics(file), {
fatal: 0,
nonfatal: 1,
warn: 1,
info: 0,
total: 1
})
assert.deepEqual(statistics([file, other]), {
fatal: 0,
nonfatal: 1,
warn: 1,
info: 0,
total: 1
})
file.message('That')
assert.deepEqual(statistics(file), {
fatal: 0,
nonfatal: 2,
warn: 2,
info: 0,
total: 2
})
file.info('Info')
assert.deepEqual(statistics(file), {
fatal: 0,
nonfatal: 3,
warn: 2,
info: 1,
total: 3
})
try {
file.fail('Again')
} catch {}
assert.deepEqual(statistics(file), {
fatal: 1,
nonfatal: 3,
warn: 2,
info: 1,
total: 4
})
})