Skip to content

Commit 1b45f2f

Browse files
committed
add minimal subsystem tests
1 parent f1f5768 commit 1b45f2f

File tree

1 file changed

+65
-0
lines changed

1 file changed

+65
-0
lines changed

test/rules/subsystem.js

+65
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
'use strict'
2+
3+
const test = require('tap').test
4+
const Rule = require('../../lib/rules/subsystem')
5+
const Commit = require('gitlint-parser-node')
6+
const Validator = require('../../')
7+
8+
test('rule: subsystem', (t) => {
9+
t.test('invalid', (tt) => {
10+
tt.plan(7)
11+
const v = new Validator()
12+
const context = new Commit({
13+
sha: 'e7c077c610afa371430180fbd447bfef60ebc5ea'
14+
, author: {
15+
name: 'Evan Lucas'
16+
, email: 'evanlucas@me.com'
17+
, date: '2016-04-12T19:42:23Z'
18+
}
19+
, message: 'fhqwhgads: come on'
20+
}, v)
21+
22+
context.report = (opts) => {
23+
tt.pass('called report')
24+
tt.equal(opts.id, 'subsystem', 'id')
25+
tt.equal(opts.message, 'Invalid subsystem: "fhqwhgads"', 'message')
26+
tt.equal(opts.string, 'fhqwhgads: come on', 'string')
27+
tt.equal(opts.line, 0, 'line')
28+
tt.equal(opts.column, 0, 'column')
29+
tt.equal(opts.level, 'fail', 'level')
30+
tt.end()
31+
}
32+
33+
Rule.validate(context, {options: {subsystems: Rule.defaults.subsystems}})
34+
})
35+
36+
t.test('valid', (tt) => {
37+
tt.plan(2)
38+
39+
const v = new Validator()
40+
const context = new Commit({
41+
sha: 'e7c077c610afa371430180fbd447bfef60ebc5ea'
42+
, author: {
43+
name: 'Evan Lucas'
44+
, email: 'evanlucas@me.com'
45+
, date: '2016-04-12T19:42:23Z'
46+
}
47+
, message: 'worker_threads: come on, fhqwhgads'
48+
}, v)
49+
50+
context.report = (opts) => {
51+
tt.pass('called report')
52+
tt.strictSame(opts, {
53+
id: 'subsystem'
54+
, message: 'valid subsystems'
55+
, string: 'worker_threads'
56+
, level: 'pass'
57+
})
58+
tt.end()
59+
}
60+
61+
Rule.validate(context, {options: {subsystems: Rule.defaults.subsystems}})
62+
})
63+
64+
t.end()
65+
})

0 commit comments

Comments
 (0)