@@ -18,8 +18,8 @@ var links = require('..');
1818 */
1919
2020var std = {
21− 'out': '',
22− 'err': ''
21+ 'out': [],
22+ 'err': []
2323};
2424
2525/**
@@ -33,7 +33,7 @@ function queue(type) {
3333 * Store a bound type.
3434 */
3535 return function () {
36− std[type] += [].slice.call(arguments).join('');
36+ std[type].push([].slice.call(arguments).join(''));
3737 };
3838}
3939
@@ -54,15 +54,15 @@ function intercept() {
5454 */
5555 return function () {
5656 var current = {
57− 'out': std.out.trim(),
58− 'err': std.err.trim()
57+ 'out': std.out.join('\n').trim(),
58+ 'err': std.err.join('\n').trim()
5959 };
6060
6161 stopOut();
6262 stopErr();
6363
64− std.out = '';
65− std.err = '';
64+ std.out = [];
65+ std.err = [];
6666
6767 return current;
6868 };
@@ -95,16 +95,16 @@ describe('mdast-validate-links', function () {
9595 'color': false,
9696 'detectRC': false,
9797 'detectIgnore': false,
98− 'plugins': ['./index.js']
98+ 'plugins': [
99+ '../../../index.js'
100+ ]
99101 }, function (err) {
100102 var res = stop();
101103
102− assert.equal(res.out, '');
103−
104104 assert.equal(res.err, [
105− 'example.md',
106− ' 0:0 error Missing slugs. Use for example ' +
107− '`mdast-slug` to generate heading IDs',
105+ 'example.md: done.',
106+ ' 0:0 error Missing slugs. Use for example `mdast-slug` ' +
107+ 'to generate heading IDs',
108108 '',
109109 '✖ 1 problem (1 error, 0 warnings)'
110110 ].join('\n'));
@@ -121,22 +121,26 @@ describe('mdast-validate-links', function () {
121121 'color': false,
122122 'detectRC': false,
123123 'detectIgnore': false,
124− 'plugins': ['slug', './index.js']
124+ 'plugins': [
125+ '../../../node_modules/mdast-slug',
126+ '../../../index.js'
127+ ]
125128 }, function (err) {
126129 var res = stop();
127130
128131 assert.equal(res.out, '');
129132
130133 assert.equal(res.err, [
131− 'definitions.md',
132− ' 5:12 warning Link to unknown heading: `world`',
134+ 'FOOOO: done.',
135+ ' 0:0 error No such file or directory',
133136 '',
134− '✖ 1 problem (0 errors, 1 warning)',
137+ '✖ 1 problem (1 error, 0 warnings)',
135138 '',
136− 'FOOOO',
137− ' 0:0 error No such file or directory',
138139 '',
139− '✖ 1 problem (1 error, 0 warnings)'
140+ 'definitions.md: done.',
141+ ' 5:12 warning Link to unknown heading: `world`',
142+ '',
143+ '✖ 1 problem (0 errors, 1 warning)'
140144 ].join('\n'));
141145
142146 done(err);
@@ -151,25 +155,28 @@ describe('mdast-validate-links', function () {
151155 'color': false,
152156 'detectRC': false,
153157 'detectIgnore': false,
154− 'plugins': ['slug', './index.js']
158+ 'plugins': [
159+ '../../../node_modules/mdast-slug',
160+ '../../../index.js'
161+ ]
155162 }, function (err) {
156163 var res = stop();
157164
158165 assert.equal(res.err, [
159− 'example.md',
166+ 'example.md: done.',
160167 ' 5:37 warning Link to unknown heading: `world`',
161− ' 21:10 warning Link to unknown file: `examples/world.md`',
162168 ' 23:10 warning Link to unknown file: `examples/world.md`',
163− ' 27:8 warning Link to unknown file: ' +
164− '`examples/example.md`',
165− ' 29:8 warning Link to unknown file: ' +
166− '`examples/example.md`',
167− ' 35:10 warning Link to unknown file: ' +
168− '`examples/example.md`',
169− ' 37:10 warning Link to unknown file: ' +
170− '`examples/example.md`',
171− ' 43:10 warning Link to unknown file: `examples/world.md`',
169+ ' 25:10 warning Link to unknown file: `examples/world.md`',
172170 ' 45:10 warning Link to unknown file: `examples/world.md`',
171+ ' 47:10 warning Link to unknown file: `examples/world.md`',
172+ ' 37:10 warning Link to unknown heading in ' +
173+ '`examples/example.md`: `world`',
174+ ' 39:10 warning Link to unknown heading in ' +
175+ '`examples/example.md`: `world`',
176+ ' 45:10 warning Link to unknown heading in ' +
177+ '`examples/world.md`: `hello`',
178+ ' 47:10 warning Link to unknown heading in ' +
179+ '`examples/world.md`: `hello`',
173180 '',
174181 '✖ 9 problems (0 errors, 9 warnings)'
175182 ].join('\n'));
@@ -189,34 +196,44 @@ describe('mdast-validate-links', function () {
189196 'color': false,
190197 'detectRC': false,
191198 'detectIgnore': false,
192− 'plugins': ['slug', './index.js']
199+ 'plugins': [
200+ '../../../node_modules/mdast-slug',
201+ '../../../index.js'
202+ ]
193203 }, function (err) {
194204 var res = stop();
195205
196206 assert.equal(res.out, '');
197207
198208 assert.equal(res.err, [
199− 'example.md',
209+ 'example.md: done.',
200210 ' 5:37 warning Link to unknown heading: `world`',
201− ' 21:10 warning Link to unknown file: `examples/world.md`',
202211 ' 23:10 warning Link to unknown file: `examples/world.md`',
203− ' 35:10 warning Link to unknown heading in ' +
204− '`examples/example.md`: `world`',
212+ ' 25:10 warning Link to unknown file: `examples/world.md`',
213+ ' 45:10 warning Link to unknown file: `examples/world.md`',
214+ ' 47:10 warning Link to unknown file: `examples/world.md`',
205215 ' 37:10 warning Link to unknown heading in ' +
206216 '`examples/example.md`: `world`',
207− ' 43:10 warning Link to unknown file: `examples/world.md`',
208− ' 45:10 warning Link to unknown file: `examples/world.md`',
217+ ' 39:10 warning Link to unknown heading in ' +
218+ '`examples/example.md`: `world`',
219+ ' 45:10 warning Link to unknown heading in ' +
220+ '`examples/world.md`: `hello`',
221+ ' 47:10 warning Link to unknown heading in ' +
222+ '`examples/world.md`: `hello`',
223+ '',
224+ '✖ 9 problems (0 errors, 9 warnings)',
209225 '',
210− '✖ 7 problems (0 errors, 7 warnings)',
211226 '',
212− 'examples/example.md',
227+ 'examples/example.md: done.',
213228 ' 5:37 warning Link to unknown heading: `world`',
214229 ' 19:10 warning Link to unknown file: `world.md`',
230+ ' 35:10 warning Link to unknown file: `world.md`',
215231 ' 29:10 warning Link to unknown heading in ' +
216232 '`example.md`: `world`',
217− ' 35:10 warning Link to unknown file: `world.md`',
233+ ' 35:10 warning Link to unknown heading in ' +
234+ '`world.md`: `hello`',
218235 '',
219− '✖ 4 problems (0 errors, 4 warnings)'
236+ '✖ 5 problems (0 errors, 5 warnings)'
220237 ].join('\n'));
221238
222239 done(err);
@@ -231,12 +248,15 @@ describe('mdast-validate-links', function () {
231248 'color': false,
232249 'detectRC': false,
233250 'detectIgnore': false,
234− 'plugins': ['slug', './index.js']
251+ 'plugins': [
252+ '../../../node_modules/mdast-slug',
253+ '../../../index.js'
254+ ]
235255 }, function (err) {
236256 var res = stop();
237257
238258 assert.equal(res.err, [
239− 'definitions.md',
259+ 'definitions.md: done.',
240260 ' 5:12 warning Link to unknown heading: `world`',
241261 '',
242262 '✖ 1 problem (0 errors, 1 warning)'
@@ -258,8 +278,8 @@ describe('mdast-validate-links', function () {
258278 'detectRC': false,
259279 'detectIgnore': false,
260280 'plugins': {
261− 'slug': null,
262− './index.js': {
281+ '../../../node_modules/mdast-slug': null,
282+ '../../../index.js': {
263283 'repository': 'wooorm/test'
264284 }
265285 }
@@ -269,43 +289,58 @@ describe('mdast-validate-links', function () {
269289 assert.equal(res.out, '');
270290
271291 assert.equal(res.err, [
272− 'example.md',
292+ 'example.md: done.',
273293 ' 5:37 warning Link to unknown heading: `world`',
274− ' 17:34 warning Link to unknown file: `examples/world.md`',
275− ' 19:12 warning Link to unknown file: `examples/world.md`',
276− ' 21:10 warning Link to unknown file: `examples/world.md`',
294+ ' 19:34 warning Link to unknown file: `examples/world.md`',
295+ ' 21:12 warning Link to unknown file: `examples/world.md`',
277296 ' 23:10 warning Link to unknown file: `examples/world.md`',
278− ' 35:10 warning Link to unknown heading in ' +
279− '`examples/example.md`: `world`',
297+ ' 25:10 warning Link to unknown file: `examples/world.md`',
298+ ' 45:10 warning Link to unknown file: `examples/world.md`',
299+ ' 47:10 warning Link to unknown file: `examples/world.md`',
300+ ' 49:10 warning Link to unknown file: `examples/world.md`',
301+ ' 51:10 warning Link to unknown file: `examples/world.md`',
280302 ' 37:10 warning Link to unknown heading in ' +
281303 '`examples/example.md`: `world`',
282304 ' 39:10 warning Link to unknown heading in ' +
283305 '`examples/example.md`: `world`',
284306 ' 41:10 warning Link to unknown heading in ' +
285307 '`examples/example.md`: `world`',
286− ' 43:10 warning Link to unknown file: `examples/world.md`',
287− ' 45:10 warning Link to unknown file: `examples/world.md`',
288− ' 47:10 warning Link to unknown file: `examples/world.md`',
289− ' 49:10 warning Link to unknown file: `examples/world.md`',
308+ ' 43:10 warning Link to unknown heading in ' +
309+ '`examples/example.md`: `world`',
310+ ' 45:10 warning Link to unknown heading in ' +
311+ '`examples/world.md`: `hello`',
312+ ' 47:10 warning Link to unknown heading in ' +
313+ '`examples/world.md`: `hello`',
314+ ' 49:10 warning Link to unknown heading in ' +
315+ '`examples/world.md`: `hello`',
316+ ' 51:10 warning Link to unknown heading in ' +
317+ '`examples/world.md`: `hello`',
290318 '',
291− '✖ 13 problems (0 errors, 13 warnings)',
319+ '✖ 17 problems (0 errors, 17 warnings)',
292320 '',
293− 'examples/example.md',
321+ '',
322+ 'examples/example.md: done.',
294323 ' 5:37 warning Link to unknown heading: `world`',
295324 ' 15:34 warning Link to unknown file: `world.md`',
296325 ' 17:12 warning Link to unknown file: `world.md`',
297326 ' 19:10 warning Link to unknown file: `world.md`',
327+ ' 35:10 warning Link to unknown file: `world.md`',
328+ ' 37:10 warning Link to unknown file: `world.md`',
329+ ' 39:10 warning Link to unknown file: `world.md`',
298330 ' 29:10 warning Link to unknown heading in ' +
299331 '`example.md`: `world`',
300332 ' 31:10 warning Link to unknown heading in ' +
301333 '`example.md`: `world`',
302334 ' 33:10 warning Link to unknown heading in ' +
303335 '`example.md`: `world`',
304− ' 35:10 warning Link to unknown file: `world.md`',
305− ' 37:10 warning Link to unknown file: `world.md`',
306− ' 39:10 warning Link to unknown file: `world.md`',
336+ ' 35:10 warning Link to unknown heading in ' +
337+ '`world.md`: `hello`',
338+ ' 37:10 warning Link to unknown heading in ' +
339+ '`world.md`: `hello`',
340+ ' 39:10 warning Link to unknown heading in ' +
341+ '`world.md`: `hello`',
307342 '',
308− '✖ 10 problems (0 errors, 10 warnings)'
343+ '✖ 13 problems (0 errors, 13 warnings)'
309344 ].join('\n'));
310345
311346 done(err);
@@ -327,55 +362,68 @@ describe('mdast-validate-links', function () {
327362 'color': false,
328363 'detectRC': false,
329364 'detectIgnore': false,
330− 'plugins': [
331− '../../../node_modules/mdast-slug',
332− '../../../index.js'
333− ]
365+ 'plugins': [
366+ '../../../node_modules/mdast-slug',
367+ '../../../index.js'
368+ ]
334369 }, function (err) {
335370 var res = stop();
336371
337372 fs.unlinkSync('./package.json');
338373
339− assert.equal(res.out, '');
340−
341374 assert.equal(res.err, [
342− 'example.md',
375+ 'example.md: done.',
343376 ' 5:37 warning Link to unknown heading: `world`',
344− ' 17:34 warning Link to unknown file: `examples/world.md`',
345− ' 19:12 warning Link to unknown file: `examples/world.md`',
346− ' 21:10 warning Link to unknown file: `examples/world.md`',
377+ ' 19:34 warning Link to unknown file: `examples/world.md`',
378+ ' 21:12 warning Link to unknown file: `examples/world.md`',
347379 ' 23:10 warning Link to unknown file: `examples/world.md`',
348− ' 35:10 warning Link to unknown heading in ' +
349− '`examples/example.md`: `world`',
380+ ' 25:10 warning Link to unknown file: `examples/world.md`',
381+ ' 45:10 warning Link to unknown file: `examples/world.md`',
382+ ' 47:10 warning Link to unknown file: `examples/world.md`',
383+ ' 49:10 warning Link to unknown file: `examples/world.md`',
384+ ' 51:10 warning Link to unknown file: `examples/world.md`',
350385 ' 37:10 warning Link to unknown heading in ' +
351386 '`examples/example.md`: `world`',
352387 ' 39:10 warning Link to unknown heading in ' +
353388 '`examples/example.md`: `world`',
354389 ' 41:10 warning Link to unknown heading in ' +
355390 '`examples/example.md`: `world`',
356− ' 43:10 warning Link to unknown file: `examples/world.md`',
357− ' 45:10 warning Link to unknown file: `examples/world.md`',
358− ' 47:10 warning Link to unknown file: `examples/world.md`',
359− ' 49:10 warning Link to unknown file: `examples/world.md`',
391+ ' 43:10 warning Link to unknown heading in ' +
392+ '`examples/example.md`: `world`',
393+ ' 45:10 warning Link to unknown heading in ' +
394+ '`examples/world.md`: `hello`',
395+ ' 47:10 warning Link to unknown heading in ' +
396+ '`examples/world.md`: `hello`',
397+ ' 49:10 warning Link to unknown heading in ' +
398+ '`examples/world.md`: `hello`',
399+ ' 51:10 warning Link to unknown heading in ' +
400+ '`examples/world.md`: `hello`',
360401 '',
361− '✖ 13 problems (0 errors, 13 warnings)',
402+ '✖ 17 problems (0 errors, 17 warnings)',
362403 '',
363− 'examples/example.md',
404+ '',
405+ 'examples/example.md: done.',
364406 ' 5:37 warning Link to unknown heading: `world`',
365407 ' 15:34 warning Link to unknown file: `world.md`',
366408 ' 17:12 warning Link to unknown file: `world.md`',
367409 ' 19:10 warning Link to unknown file: `world.md`',
410+ ' 35:10 warning Link to unknown file: `world.md`',
411+ ' 37:10 warning Link to unknown file: `world.md`',
412+ ' 39:10 warning Link to unknown file: `world.md`',
368413 ' 29:10 warning Link to unknown heading in ' +
369414 '`example.md`: `world`',
370415 ' 31:10 warning Link to unknown heading in ' +
371416 '`example.md`: `world`',
372417 ' 33:10 warning Link to unknown heading in ' +
373418 '`example.md`: `world`',
374− ' 35:10 warning Link to unknown file: `world.md`',
375− ' 37:10 warning Link to unknown file: `world.md`',
376− ' 39:10 warning Link to unknown file: `world.md`',
419+ ' 35:10 warning Link to unknown heading in ' +
420+ '`world.md`: `hello`',
421+ ' 37:10 warning Link to unknown heading in ' +
422+ '`world.md`: `hello`',
423+ ' 39:10 warning Link to unknown heading in ' +
424+ '`world.md`: `hello`',
377425 '',
378− '✖ 10 problems (0 errors, 10 warnings)'
426+ '✖ 13 problems (0 errors, 13 warnings)'
379427 ].join('\n'));
380428
381429 done(err);