-
Notifications
You must be signed in to change notification settings - Fork 934
/
Copy pathscope-enum.js
93 lines (78 loc) · 2.89 KB
/
scope-enum.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
import test from 'ava';
import parse from '../../source/library/parse';
import scopeEnum from '../../source/rules/scope-enum';
const messages = {
plain: 'foo(bar): baz',
superfluous: 'foo(): baz',
empty: 'foo: baz'
};
const parsed = {
plain: parse(messages.plain),
superfluous: parse(messages.superfluous),
empty: parse(messages.empty)
};
test('scope-enum with plain message and always should succeed empty enum', t => {
const [actual] = scopeEnum(parsed.plain, 'always', []);
const expected = true;
t.deepEqual(actual, expected);
});
test('scope-enum with plain message and never should error empty enum', t => {
const [actual] = scopeEnum(parsed.plain, 'never', []);
const expected = false;
t.deepEqual(actual, expected);
});
test('scope-enum with plain message should succeed correct enum', t => {
const [actual] = scopeEnum(parsed.plain, 'always', ['bar']);
const expected = true;
t.deepEqual(actual, expected);
});
test('scope-enum with plain message should error false enum', t => {
const [actual] = scopeEnum(parsed.plain, 'always', ['foo']);
const expected = false;
t.deepEqual(actual, expected);
});
test('scope-enum with plain message should error forbidden enum', t => {
const [actual] = scopeEnum(parsed.plain, 'never', ['bar']);
const expected = false;
t.deepEqual(actual, expected);
});
test('scope-enum with plain message should succeed forbidden enum', t => {
const [actual] = scopeEnum(parsed.plain, 'never', ['foo']);
const expected = true;
t.deepEqual(actual, expected);
});
test('scope-enum with superfluous scope should succeed enum', t => {
const [actual] = scopeEnum(parsed.superfluous, 'always', ['bar']);
const expected = true;
t.deepEqual(actual, expected);
});
test('scope-enum with superfluous scope and "never" should succeed', t => {
const [actual] = scopeEnum(parsed.superfluous, 'never', ['bar']);
const expected = true;
t.deepEqual(actual, expected);
});
test('scope-enum with superfluous scope and always should succeed empty enum', t => {
const [actual] = scopeEnum(parsed.superfluous, 'always', []);
const expected = true;
t.deepEqual(actual, expected);
});
test('scope-enum with superfluous scope and never should succeed empty enum', t => {
const [actual] = scopeEnum(parsed.superfluous, 'never', []);
const expected = true;
t.deepEqual(actual, expected);
});
test('scope-enum with empty scope and always should succeed empty enum', t => {
const [actual] = scopeEnum(parsed.superfluous, 'always', []);
const expected = true;
t.deepEqual(actual, expected);
});
test('scope-enum with empty scope and always should succeed filled enum', t => {
const [actual] = scopeEnum(parsed.superfluous, 'always', ['foo']);
const expected = true;
t.deepEqual(actual, expected);
});
test('scope-enum with empty scope and never should succeed empty enum', t => {
const [actual] = scopeEnum(parsed.superfluous, 'never', []);
const expected = true;
t.deepEqual(actual, expected);
});