-
Notifications
You must be signed in to change notification settings - Fork 3
/
test.js
45 lines (41 loc) · 2 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
import test from 'ava'
import execa from 'execa'
import fs from 'fs-extra'
test('should lint', async t => {
const stdout = await execa.stdout('./cli.js', ['./README.md'])
t.is(stdout, '')
})
test('should lint with error', async t => {
const err = await t.throws(execa.stdout('./cli.js', ['./fixture.md']))
t.is(err.code, 1)
t.true(err.stdout.indexOf('http://andrepolischuk.com is redirected') > 0)
t.true(err.stdout.indexOf('Avoid using “Currently”') > 0)
t.true(err.stdout.indexOf('Correct it to misspelling') > 0)
t.true(err.stdout.indexOf('use “Markdown” instead') > 0)
t.true(err.stdout.indexOf('Use real symbols: “(c)” → “©”') > 0)
t.true(err.stdout.indexOf('6 errors') > 0)
t.true(err.stdout.indexOf('4 fixable') > 0)
})
test('should lint with flags', async t => {
const err = await t.throws(execa.stdout('./cli.js', ['./fixture.md', '--disable', 'no-dead-link']))
t.is(err.code, 1)
t.true(err.stdout.indexOf('http://andrepolischuk.com is redirected') === -1)
t.true(err.stdout.indexOf('Avoid using “Currently”') > 0)
t.true(err.stdout.indexOf('Correct it to misspelling') > 0)
t.true(err.stdout.indexOf('use “Markdown” instead') > 0)
t.true(err.stdout.indexOf('Use real symbols: “(c)” → “©”') > 0)
t.true(err.stdout.indexOf('5 errors') > 0)
t.true(err.stdout.indexOf('3 fixable') > 0)
})
test('should fix some errors', async t => {
await fs.copy('./fixture.md', './temp-fixture.md')
const err = await t.throws(execa.stdout('./cli.js', ['./temp-fixture.md', '--fix']))
t.true(err.stdout.indexOf('http://andrepolischuk.com is redirected') > 0)
t.true(err.stdout.indexOf('Avoid using “Currently”') > 0)
t.true(err.stdout.indexOf('Correct it to misspelling') > 0)
t.true(err.stdout.indexOf('use “Markdown” instead') > 0)
t.true(err.stdout.indexOf('Use real symbols: “(c)” → “©”') > 0)
t.true(err.stdout.indexOf('2 errors') > 0)
t.true(err.stdout.indexOf('4 issues are fixed') > 0)
await fs.remove('./temp-fixture.md')
})