@@ -8,32 +8,27 @@
88
99'use strict';
1010
11−/* eslint-env mocha */
11+/* eslint-env node */
1212
1313/*
1414 * Dependencies.
1515 */
1616
17−var assert = require('assert');
18−var hook = require('hook-std');
1917var fs = require('fs');
18+var path = require('path');
19+var test = require('tape');
20+var hook = require('hook-std');
2021var remark = require('remark');
2122var cli = require('remark/lib/cli');
2223var links = require('..');
2324
24−/*
25− * Methods.
26− */
27−
28−var equal = assert.strictEqual;
29−
3025/**
3126 * Test the cli.
3227 *
3328 * @param {Object} config - Configuration.
3429 * @param {Function} callback - Completion handler.
3530 */
36−function test(config, callback) {
31+function assertion(config, callback) {
3732 var stdout = [];
3833 var stderr = [];
3934 var opts = {};
@@ -64,23 +59,25 @@ function test(config, callback) {
6459 * Tests.
6560 */
6661
67−describe('remark-validate-links', function () {
68− beforeEach(function () {
69− process.chdir('./test/fixtures');
70− });
62+process.chdir(path.resolve(process.cwd(), 'test', 'fixtures'));
7163
72− afterEach(function () {
73− process.chdir('../..');
74− });
64+test.onFinish(function () {
65+ process.chdir(path.resolve(process.cwd(), '..', '..'));
66+})
7567
76− it('should throw an error when not on the CLI', function () {
77− assert.throws(function () {
68+test('remark-validate-links', function (t) {
69+ // t.plan(1);
70+
71+ t.throws(
72+ function () {
7873 remark().use(links);
79− }, /Error: remark-validate-links only works on the CLI/);
80− });
74+ },
75+ /Error: remark-validate-links only works on the CLI/,
76+ 'should throw an error when not on the CLI'
77+ );
8178
82− it('should warn when used without slugs', function (done) {
83− test({
79+ t.test('should warn when used without slugs', function (st) {
80+ assertion({
8481 'files': 'example.md',
8582 'color': false,
8683 'detectRC': false,
@@ -89,18 +86,23 @@ describe('remark-validate-links', function () {
8986 '../../../index.js'
9087 ]
9188 }, function (err, res) {
92− equal(res.stderr.split('\n').slice(0, 2).join('\n'), [
93− 'example.md',
94− ' 1:1 error Error: Missing slugs. Use for ' +
95− 'example `remark-slug` to generate heading IDs'
96− ].join('\n'));
97−
98− done(err);
89+ st.ifErr(err);
90+
91+ st.equal(
92+ res.stderr.split('\n').slice(0, 2).join('\n'),
93+ [
94+ 'example.md',
95+ ' 1:1 error Error: Missing slugs. Use for ' +
96+ 'example `remark-slug` to generate heading IDs'
97+ ].join('\n')
98+ );
99+
100+ st.end();
99101 });
100102 });
101103
102− it('should ignore unfound files', function (done) {
103− test({
104+ t.test('should ignore unfound files', function (st) {
105+ assertion({
104106 'files': ['definitions.md', 'FOOOO'],
105107 'color': false,
106108 'detectRC': false,
@@ -110,25 +112,30 @@ describe('remark-validate-links', function () {
110112 '../../../index.js'
111113 ]
112114 }, function (err, res) {
113− equal(res.stdout, '');
114−
115− equal(res.stderr, [
116− 'FOOOO',
117− ' 1:1 error No such file or directory',
118− '',
119− 'definitions.md',
120− ' 5:12-5:21 warning Link to unknown heading: `world`',
121− '',
122− '2 messages (✖ 1 error, ⚠ 1 warning)',
123− ''
124− ].join('\n'));
125−
126− done(err);
115+ st.ifErr(err);
116+
117+ st.equal(res.stdout, '');
118+
119+ st.equal(
120+ res.stderr,
121+ [
122+ 'FOOOO',
123+ ' 1:1 error No such file or directory',
124+ '',
125+ 'definitions.md',
126+ ' 5:12-5:21 warning Link to unknown heading: `world`',
127+ '',
128+ '2 messages (✖ 1 error, ⚠ 1 warning)',
129+ ''
130+ ].join('\n')
131+ );
132+
133+ st.end();
127134 });
128− });
135+ })
129136
130− it('should work when not all files are given', function (done) {
131− test({
137+ t.test('should work when not all files are given', function (st) {
138+ assertion({
132139 'files': 'example.md',
133140 'color': false,
134141 'detectRC': false,
@@ -138,36 +145,41 @@ describe('remark-validate-links', function () {
138145 '../../../index.js'
139146 ]
140147 }, function (err, res) {
141− equal(res.stderr, [
142− 'example.md',
143− ' 5:37-5:51 warning Link to unknown heading: `world`',
144− ' 23:10-23:37 warning Link to unknown file: ' +
145− '`examples/world.md`',
146− ' 25:10-25:35 warning Link to unknown file: ' +
147− '`examples/world.md`',
148− ' 37:10-37:42 warning Link to unknown heading in ' +
149− '`examples/example.md`: `world`',
150− ' 39:10-39:40 warning Link to unknown heading in ' +
151− '`examples/example.md`: `world`',
152− ' 45:10-45:40 warning Link to unknown file: ' +
153− '`examples/world.md`',
154− ' 45:10-45:40 warning Link to unknown heading in ' +
155− '`examples/world.md`: `hello`',
156− ' 47:10-47:38 warning Link to unknown file: ' +
157− '`examples/world.md`',
158− ' 47:10-47:38 warning Link to unknown heading in ' +
159− '`examples/world.md`: `hello`',
160− '',
161− '⚠ 9 warnings',
162− ''
163− ].join('\n'));
164−
165− done(err);
148+ st.ifErr(err);
149+
150+ st.equal(
151+ res.stderr,
152+ [
153+ 'example.md',
154+ ' 5:37-5:51 warning Link to unknown heading: `world`',
155+ ' 23:10-23:37 warning Link to unknown file: ' +
156+ '`examples/world.md`',
157+ ' 25:10-25:35 warning Link to unknown file: ' +
158+ '`examples/world.md`',
159+ ' 37:10-37:42 warning Link to unknown heading in ' +
160+ '`examples/example.md`: `world`',
161+ ' 39:10-39:40 warning Link to unknown heading in ' +
162+ '`examples/example.md`: `world`',
163+ ' 45:10-45:40 warning Link to unknown file: ' +
164+ '`examples/world.md`',
165+ ' 45:10-45:40 warning Link to unknown heading in ' +
166+ '`examples/world.md`: `hello`',
167+ ' 47:10-47:38 warning Link to unknown file: ' +
168+ '`examples/world.md`',
169+ ' 47:10-47:38 warning Link to unknown heading in ' +
170+ '`examples/world.md`: `hello`',
171+ '',
172+ '⚠ 9 warnings',
173+ ''
174+ ].join('\n')
175+ );
176+
177+ st.end();
166178 });
167− });
179+ })
168180
169− it('should work when all files are given', function (done) {
170− test({
181+ t.test('should work when all files are given', function (st) {
182+ assertion({
171183 'files': [
172184 'example.md',
173185 'examples/example.md'
@@ -180,50 +192,55 @@ describe('remark-validate-links', function () {
180192 '../../../index.js'
181193 ]
182194 }, function (err, res) {
183− equal(res.stdout, '');
184−
185− equal(res.stderr, [
186− 'example.md',
187− ' 5:37-5:51 warning Link to unknown heading: `world`',
188− ' 23:10-23:37 warning Link to unknown file: ' +
189− '`examples/world.md`',
190− ' 25:10-25:35 warning Link to unknown file: ' +
191− '`examples/world.md`',
192− ' 37:10-37:42 warning Link to unknown heading in ' +
193− '`examples/example.md`: `world`',
194− ' 39:10-39:40 warning Link to unknown heading in ' +
195− '`examples/example.md`: `world`',
196− ' 45:10-45:40 warning Link to unknown file: ' +
197− '`examples/world.md`',
198− ' 45:10-45:40 warning Link to unknown heading in ' +
199− '`examples/world.md`: `hello`',
200− ' 47:10-47:38 warning Link to unknown file: ' +
201− '`examples/world.md`',
202− ' 47:10-47:38 warning Link to unknown heading in ' +
203− '`examples/world.md`: `hello`',
204− '',
205− 'examples/example.md',
206− ' 5:37-5:51 warning Link to unknown heading: ' +
207− '`world`',
208− ' 19:10-19:29 warning Link to unknown file: ' +
209− '`world.md`',
210− ' 29:10-29:34 warning Link to unknown heading in ' +
211− '`example.md`: `world`',
212− ' 35:10-35:32 warning Link to unknown file: ' +
213− '`world.md`',
214− ' 35:10-35:32 warning Link to unknown heading in ' +
215− '`world.md`: `hello`',
216− '',
217− '⚠ 14 warnings',
218− ''
219− ].join('\n'));
220−
221− done(err);
195+ st.ifErr(err);
196+
197+ st.equal(res.stdout, '');
198+
199+ st.equal(
200+ res.stderr,
201+ [
202+ 'example.md',
203+ ' 5:37-5:51 warning Link to unknown heading: `world`',
204+ ' 23:10-23:37 warning Link to unknown file: ' +
205+ '`examples/world.md`',
206+ ' 25:10-25:35 warning Link to unknown file: ' +
207+ '`examples/world.md`',
208+ ' 37:10-37:42 warning Link to unknown heading in ' +
209+ '`examples/example.md`: `world`',
210+ ' 39:10-39:40 warning Link to unknown heading in ' +
211+ '`examples/example.md`: `world`',
212+ ' 45:10-45:40 warning Link to unknown file: ' +
213+ '`examples/world.md`',
214+ ' 45:10-45:40 warning Link to unknown heading in ' +
215+ '`examples/world.md`: `hello`',
216+ ' 47:10-47:38 warning Link to unknown file: ' +
217+ '`examples/world.md`',
218+ ' 47:10-47:38 warning Link to unknown heading in ' +
219+ '`examples/world.md`: `hello`',
220+ '',
221+ 'examples/example.md',
222+ ' 5:37-5:51 warning Link to unknown heading: ' +
223+ '`world`',
224+ ' 19:10-19:29 warning Link to unknown file: ' +
225+ '`world.md`',
226+ ' 29:10-29:34 warning Link to unknown heading in ' +
227+ '`example.md`: `world`',
228+ ' 35:10-35:32 warning Link to unknown file: ' +
229+ '`world.md`',
230+ ' 35:10-35:32 warning Link to unknown heading in ' +
231+ '`world.md`: `hello`',
232+ '',
233+ '⚠ 14 warnings',
234+ ''
235+ ].join('\n')
236+ );
237+
238+ st.end();
222239 });
223240 });
224241
225− it('should work with definitions', function (done) {
226− test({
242+ t.test('should work with definitions', function (st) {
243+ assertion({
227244 'files': 'definitions.md',
228245 'color': false,
229246 'detectRC': false,
@@ -233,20 +250,25 @@ describe('remark-validate-links', function () {
233250 '../../../index.js'
234251 ]
235252 }, function (err, res) {
236− equal(res.stderr, [
237− 'definitions.md',
238− ' 5:12-5:21 warning Link to unknown heading: `world`',
239− '',
240− '⚠ 1 warning',
241− ''
242− ].join('\n'));
243−
244− done(err);
253+ st.ifErr(err);
254+
255+ st.equal(
256+ res.stderr,
257+ [
258+ 'definitions.md',
259+ ' 5:12-5:21 warning Link to unknown heading: `world`',
260+ '',
261+ '⚠ 1 warning',
262+ ''
263+ ].join('\n')
264+ );
265+
266+ st.end();
245267 });
246268 });
247269
248− it('should work on GitHub URLs when given a repo', function (done) {
249− test({
270+ t.test('should work on GitHub URLs when given a repo', function (st) {
271+ assertion({
250272 'files': [
251273 'example.md',
252274 'examples/example.md'
@@ -261,87 +283,92 @@ describe('remark-validate-links', function () {
261283 }
262284 }
263285 }, function (err, res) {
264− equal(res.stdout, '');
265−
266− equal(res.stderr, [
267− 'example.md',
268− ' 5:37-5:51 warning Link to unknown heading: ' +
269− '`world`',
270− ' 19:34-19:102 warning Link to unknown file: ' +
271− '`examples/world.md`',
272− ' 21:12-21:81 warning Link to unknown file: ' +
273− '`examples/world.md`',
274− ' 23:10-23:37 warning Link to unknown file: ' +
275− '`examples/world.md`',
276− ' 25:10-25:35 warning Link to unknown file: ' +
277− '`examples/world.md`',
278− ' 37:10-37:42 warning Link to unknown heading in ' +
279− '`examples/example.md`: `world`',
280− ' 39:10-39:40 warning Link to unknown heading in ' +
281− '`examples/example.md`: `world`',
282− ' 41:10-41:83 warning Link to unknown heading in ' +
283− '`examples/example.md`: `world`',
284− ' 43:10-43:84 warning Link to unknown heading in ' +
285− '`examples/example.md`: `world`',
286− ' 45:10-45:40 warning Link to unknown file: ' +
287− '`examples/world.md`',
288− ' 45:10-45:40 warning Link to unknown heading in ' +
289− '`examples/world.md`: `hello`',
290− ' 47:10-47:38 warning Link to unknown file: ' +
291− '`examples/world.md`',
292− ' 47:10-47:38 warning Link to unknown heading in ' +
293− '`examples/world.md`: `hello`',
294− ' 49:10-49:81 warning Link to unknown file: ' +
295− '`examples/world.md`',
296− ' 49:10-49:81 warning Link to unknown heading in ' +
297− '`examples/world.md`: `hello`',
298− ' 51:10-51:82 warning Link to unknown heading in ' +
299− '`examples/world.md`: `hello`',
300− ' 51:10-51:82 warning Link to unknown file: ' +
301− '`examples/world.md`',
302− '',
303− 'examples/example.md',
304− ' 5:37-5:51 warning Link to unknown heading: ' +
305− '`world`',
306− ' 15:34-15:93 warning Link to unknown file: ' +
307− '`world.md`',
308− ' 17:12-17:72 warning Link to unknown file: ' +
309− '`world.md`',
310− ' 19:10-19:29 warning Link to unknown file: ' +
311− '`world.md`',
312− ' 29:10-29:34 warning Link to unknown heading in ' +
313− '`example.md`: `world`',
314− ' 31:10-31:74 warning Link to unknown heading in ' +
315− '`example.md`: `world`',
316− ' 33:10-33:75 warning Link to unknown heading in ' +
317− '`example.md`: `world`',
318− ' 35:10-35:32 warning Link to unknown file: ' +
319− '`world.md`',
320− ' 35:10-35:32 warning Link to unknown heading in ' +
321− '`world.md`: `hello`',
322− ' 37:10-37:72 warning Link to unknown file: ' +
323− '`world.md`',
324− ' 37:10-37:72 warning Link to unknown heading in ' +
325− '`world.md`: `hello`',
326− ' 39:10-39:73 warning Link to unknown heading in ' +
327− '`world.md`: `hello`',
328− ' 39:10-39:73 warning Link to unknown file: ' +
329− '`world.md`',
330− '',
331− '⚠ 30 warnings',
332− ''
333− ].join('\n'));
334−
335− done(err);
286+ st.ifErr(err);
287+
288+ st.equal(res.stdout, '');
289+
290+ st.equal(
291+ res.stderr,
292+ [
293+ 'example.md',
294+ ' 5:37-5:51 warning Link to unknown heading: ' +
295+ '`world`',
296+ ' 19:34-19:102 warning Link to unknown file: ' +
297+ '`examples/world.md`',
298+ ' 21:12-21:81 warning Link to unknown file: ' +
299+ '`examples/world.md`',
300+ ' 23:10-23:37 warning Link to unknown file: ' +
301+ '`examples/world.md`',
302+ ' 25:10-25:35 warning Link to unknown file: ' +
303+ '`examples/world.md`',
304+ ' 37:10-37:42 warning Link to unknown heading in ' +
305+ '`examples/example.md`: `world`',
306+ ' 39:10-39:40 warning Link to unknown heading in ' +
307+ '`examples/example.md`: `world`',
308+ ' 41:10-41:83 warning Link to unknown heading in ' +
309+ '`examples/example.md`: `world`',
310+ ' 43:10-43:84 warning Link to unknown heading in ' +
311+ '`examples/example.md`: `world`',
312+ ' 45:10-45:40 warning Link to unknown file: ' +
313+ '`examples/world.md`',
314+ ' 45:10-45:40 warning Link to unknown heading in ' +
315+ '`examples/world.md`: `hello`',
316+ ' 47:10-47:38 warning Link to unknown file: ' +
317+ '`examples/world.md`',
318+ ' 47:10-47:38 warning Link to unknown heading in ' +
319+ '`examples/world.md`: `hello`',
320+ ' 49:10-49:81 warning Link to unknown file: ' +
321+ '`examples/world.md`',
322+ ' 49:10-49:81 warning Link to unknown heading in ' +
323+ '`examples/world.md`: `hello`',
324+ ' 51:10-51:82 warning Link to unknown heading in ' +
325+ '`examples/world.md`: `hello`',
326+ ' 51:10-51:82 warning Link to unknown file: ' +
327+ '`examples/world.md`',
328+ '',
329+ 'examples/example.md',
330+ ' 5:37-5:51 warning Link to unknown heading: ' +
331+ '`world`',
332+ ' 15:34-15:93 warning Link to unknown file: ' +
333+ '`world.md`',
334+ ' 17:12-17:72 warning Link to unknown file: ' +
335+ '`world.md`',
336+ ' 19:10-19:29 warning Link to unknown file: ' +
337+ '`world.md`',
338+ ' 29:10-29:34 warning Link to unknown heading in ' +
339+ '`example.md`: `world`',
340+ ' 31:10-31:74 warning Link to unknown heading in ' +
341+ '`example.md`: `world`',
342+ ' 33:10-33:75 warning Link to unknown heading in ' +
343+ '`example.md`: `world`',
344+ ' 35:10-35:32 warning Link to unknown file: ' +
345+ '`world.md`',
346+ ' 35:10-35:32 warning Link to unknown heading in ' +
347+ '`world.md`: `hello`',
348+ ' 37:10-37:72 warning Link to unknown file: ' +
349+ '`world.md`',
350+ ' 37:10-37:72 warning Link to unknown heading in ' +
351+ '`world.md`: `hello`',
352+ ' 39:10-39:73 warning Link to unknown heading in ' +
353+ '`world.md`: `hello`',
354+ ' 39:10-39:73 warning Link to unknown file: ' +
355+ '`world.md`',
356+ '',
357+ '⚠ 30 warnings',
358+ ''
359+ ].join('\n')
360+ );
361+
362+ st.end();
336363 });
337364 });
338365
339− it('should work on GitHub URLs when with package.json', function (done) {
366+ t.test('should work on GitHub URLs when with package.json', function (st) {
340367 fs.writeFileSync('./package.json', JSON.stringify({
341368 'repository': 'wooorm/test'
342369 }, 0, 2));
343370
344− test({
371+ assertion({
345372 'files': [
346373 'example.md',
347374 'examples/example.md'
@@ -356,81 +383,86 @@ describe('remark-validate-links', function () {
356383 }, function (err, res) {
357384 fs.unlinkSync('./package.json');
358385
359− equal(res.stderr, [
360− 'example.md',
361− ' 5:37-5:51 warning Link to unknown heading: ' +
362− '`world`',
363− ' 19:34-19:102 warning Link to unknown file: ' +
364− '`examples/world.md`',
365− ' 21:12-21:81 warning Link to unknown file: ' +
366− '`examples/world.md`',
367− ' 23:10-23:37 warning Link to unknown file: ' +
368− '`examples/world.md`',
369− ' 25:10-25:35 warning Link to unknown file: ' +
370− '`examples/world.md`',
371− ' 37:10-37:42 warning Link to unknown heading in ' +
372− '`examples/example.md`: `world`',
373− ' 39:10-39:40 warning Link to unknown heading in ' +
374− '`examples/example.md`: `world`',
375− ' 41:10-41:83 warning Link to unknown heading in ' +
376− '`examples/example.md`: `world`',
377− ' 43:10-43:84 warning Link to unknown heading in ' +
378− '`examples/example.md`: `world`',
379− ' 45:10-45:40 warning Link to unknown file: ' +
380− '`examples/world.md`',
381− ' 45:10-45:40 warning Link to unknown heading in ' +
382− '`examples/world.md`: `hello`',
383− ' 47:10-47:38 warning Link to unknown file: ' +
384− '`examples/world.md`',
385− ' 47:10-47:38 warning Link to unknown heading in ' +
386− '`examples/world.md`: `hello`',
387− ' 49:10-49:81 warning Link to unknown file: ' +
388− '`examples/world.md`',
389− ' 49:10-49:81 warning Link to unknown heading in ' +
390− '`examples/world.md`: `hello`',
391− ' 51:10-51:82 warning Link to unknown heading in ' +
392− '`examples/world.md`: `hello`',
393− ' 51:10-51:82 warning Link to unknown file: ' +
394− '`examples/world.md`',
395− '',
396− 'examples/example.md',
397− ' 5:37-5:51 warning Link to unknown heading: ' +
398− '`world`',
399− ' 15:34-15:93 warning Link to unknown file: ' +
400− '`world.md`',
401− ' 17:12-17:72 warning Link to unknown file: ' +
402− '`world.md`',
403− ' 19:10-19:29 warning Link to unknown file: ' +
404− '`world.md`',
405− ' 29:10-29:34 warning Link to unknown heading in ' +
406− '`example.md`: `world`',
407− ' 31:10-31:74 warning Link to unknown heading in ' +
408− '`example.md`: `world`',
409− ' 33:10-33:75 warning Link to unknown heading in ' +
410− '`example.md`: `world`',
411− ' 35:10-35:32 warning Link to unknown file: ' +
412− '`world.md`',
413− ' 35:10-35:32 warning Link to unknown heading in ' +
414− '`world.md`: `hello`',
415− ' 37:10-37:72 warning Link to unknown file: ' +
416− '`world.md`',
417− ' 37:10-37:72 warning Link to unknown heading in ' +
418− '`world.md`: `hello`',
419− ' 39:10-39:73 warning Link to unknown heading in ' +
420− '`world.md`: `hello`',
421− ' 39:10-39:73 warning Link to unknown file: ' +
422− '`world.md`',
423− '',
424− '⚠ 30 warnings',
425− ''
426− ].join('\n'));
427−
428− done(err);
386+ st.ifErr(err);
387+
388+ st.equal(
389+ res.stderr,
390+ [
391+ 'example.md',
392+ ' 5:37-5:51 warning Link to unknown heading: ' +
393+ '`world`',
394+ ' 19:34-19:102 warning Link to unknown file: ' +
395+ '`examples/world.md`',
396+ ' 21:12-21:81 warning Link to unknown file: ' +
397+ '`examples/world.md`',
398+ ' 23:10-23:37 warning Link to unknown file: ' +
399+ '`examples/world.md`',
400+ ' 25:10-25:35 warning Link to unknown file: ' +
401+ '`examples/world.md`',
402+ ' 37:10-37:42 warning Link to unknown heading in ' +
403+ '`examples/example.md`: `world`',
404+ ' 39:10-39:40 warning Link to unknown heading in ' +
405+ '`examples/example.md`: `world`',
406+ ' 41:10-41:83 warning Link to unknown heading in ' +
407+ '`examples/example.md`: `world`',
408+ ' 43:10-43:84 warning Link to unknown heading in ' +
409+ '`examples/example.md`: `world`',
410+ ' 45:10-45:40 warning Link to unknown file: ' +
411+ '`examples/world.md`',
412+ ' 45:10-45:40 warning Link to unknown heading in ' +
413+ '`examples/world.md`: `hello`',
414+ ' 47:10-47:38 warning Link to unknown file: ' +
415+ '`examples/world.md`',
416+ ' 47:10-47:38 warning Link to unknown heading in ' +
417+ '`examples/world.md`: `hello`',
418+ ' 49:10-49:81 warning Link to unknown file: ' +
419+ '`examples/world.md`',
420+ ' 49:10-49:81 warning Link to unknown heading in ' +
421+ '`examples/world.md`: `hello`',
422+ ' 51:10-51:82 warning Link to unknown heading in ' +
423+ '`examples/world.md`: `hello`',
424+ ' 51:10-51:82 warning Link to unknown file: ' +
425+ '`examples/world.md`',
426+ '',
427+ 'examples/example.md',
428+ ' 5:37-5:51 warning Link to unknown heading: ' +
429+ '`world`',
430+ ' 15:34-15:93 warning Link to unknown file: ' +
431+ '`world.md`',
432+ ' 17:12-17:72 warning Link to unknown file: ' +
433+ '`world.md`',
434+ ' 19:10-19:29 warning Link to unknown file: ' +
435+ '`world.md`',
436+ ' 29:10-29:34 warning Link to unknown heading in ' +
437+ '`example.md`: `world`',
438+ ' 31:10-31:74 warning Link to unknown heading in ' +
439+ '`example.md`: `world`',
440+ ' 33:10-33:75 warning Link to unknown heading in ' +
441+ '`example.md`: `world`',
442+ ' 35:10-35:32 warning Link to unknown file: ' +
443+ '`world.md`',
444+ ' 35:10-35:32 warning Link to unknown heading in ' +
445+ '`world.md`: `hello`',
446+ ' 37:10-37:72 warning Link to unknown file: ' +
447+ '`world.md`',
448+ ' 37:10-37:72 warning Link to unknown heading in ' +
449+ '`world.md`: `hello`',
450+ ' 39:10-39:73 warning Link to unknown heading in ' +
451+ '`world.md`: `hello`',
452+ ' 39:10-39:73 warning Link to unknown file: ' +
453+ '`world.md`',
454+ '',
455+ '⚠ 30 warnings',
456+ ''
457+ ].join('\n')
458+ );
459+
460+ st.end();
429461 });
430462 });
431463
432− it('should suggest similar links', function (done) {
433− test({
464+ t.test('should suggest similar links', function (st) {
465+ assertion({
434466 'files': ['suggestions.md'],
435467 'color': false,
436468 'detectRC': false,
@@ -440,18 +472,23 @@ describe('remark-validate-links', function () {
440472 '../../../index.js'
441473 ]
442474 }, function (err, res) {
443− equal(res.stderr, [
444− 'suggestions.md',
445− ' 3:22-3:37 warning Link to unknown heading: `helloo`. ' +
446− 'Did you mean `hello`',
447− ' 7:17-7:40 warning Link to unknown heading in ' +
448− '`example.md`: `fiiiles`. Did you mean `files`',
449− '',
450− '⚠ 2 warnings',
451− ''
452− ].join('\n'));
453−
454− done(err);
475+ st.ifErr(err);
476+
477+ st.equal(
478+ res.stderr,
479+ [
480+ 'suggestions.md',
481+ ' 3:22-3:37 warning Link to unknown heading: `helloo`. ' +
482+ 'Did you mean `hello`',
483+ ' 7:17-7:40 warning Link to unknown heading in ' +
484+ '`example.md`: `fiiiles`. Did you mean `files`',
485+ '',
486+ '⚠ 2 warnings',
487+ ''
488+ ].join('\n')
489+ );
490+
491+ st.end();
455492 });
456493 });
457494});