4var path = require('path')
5var test = require('tape')
6var execa = require('execa')
7var vfile = require('to-vfile')
8var remark = require('remark')
9var strip = require('strip-ansi')
10var rimraf = require('rimraf')
11var sort = require('./sort')
12var links = require('..')
14process.chdir(path.resolve(process.cwd(), 'test', 'fixtures'))
16test.onFinish(function() {
17 process.chdir(path.resolve(process.cwd(), '..', '..'))
20var bin = path.join('..', '..', 'node_modules', '.bin', 'remark')
22test('remark-validate-links', function(t) {
23 t.test('should work on the API', function(st) {
29 .process(vfile.readSync('github.md'), function(err, file) {
31 [err].concat(file.messages.map(String)),
34 'github.md:5:37-5:51: Link to unknown heading: `world`',
35 'github.md:27:10-27:37: Link to unknown file: `examples/world.md`',
36 'github.md:29:10-29:35: Link to unknown file: `examples/world.md`',
37 'github.md:49:10-49:40: Link to unknown file: `examples/world.md`',
38 'github.md:51:10-51:38: Link to unknown file: `examples/world.md`'
40 'should report messages'
45 t.test('should ignore invalid repositories', function(st) {
52 '../..=repository:"invalid:shortcode"',
62 ' 5:13-5:27 warning Link to unknown heading: `world` missing-heading remark-validate-links',
75 t.test('should throw on Gist repositories', function(st) {
82 '../..=repository:"gist:wooorm/8504606"',
92 ' 5:13-5:27 warning Link to unknown heading: `world` missing-heading remark-validate-links',
100 st.error(err, 'should not fail')
105 t.test('should ignore unfound files (#1)', function(st) {
118 st.fail('should not be successful')
125 ' 1:1 error No such file or directory',
129 'should report an error'
135 t.test('should ignore unfound files (#2)', function(st) {
149 st.fail('should not be successful')
156 ' 1:1 error No such file or directory',
159 ' 10:1-10:18 warning Link to unknown heading: `world` missing-heading remark-validate-links',
161 '2 messages (✖ 1 error, ⚠ 1 warning)'
163 'should report an error'
169 t.test('should work if there are no links', function(st) {
180 ]).then(function(result) {
182 strip(result.stderr),
183 'empty.md: no issues found',
189 t.test('should work with stdin', function(st) {
192 var subprocess = execa(bin, [
201 fs.createReadStream('github.md').pipe(subprocess.stdin)
203 subprocess.then(function(result) {
205 strip(result.stderr),
208 ' 5:37-5:51 warning Link to unknown heading: `world` missing-heading remark-validate-links',
212 'should report an error'
217 t.test('should work when not all files are given', function(st) {
228 ]).then(function(result) {
230 strip(result.stderr),
233 ' 5:37-5:51 warning Link to unknown heading: `world` missing-heading remark-validate-links',
234 ' 27:10-27:37 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
235 ' 29:10-29:35 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
236 ' 41:10-41:41 warning Link to unknown heading in `examples/github.md`: `world` missing-heading-in-file remark-validate-links',
237 ' 43:10-43:39 warning Link to unknown heading in `examples/github.md`: `world` missing-heading-in-file remark-validate-links',
238 ' 49:10-49:40 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
239 ' 49:10-49:40 warning Link to unknown heading in `examples/world.md`: `hello` missing-heading-in-file remark-validate-links',
240 ' 51:10-51:38 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
241 ' 51:10-51:38 warning Link to unknown heading in `examples/world.md`: `hello` missing-heading-in-file remark-validate-links',
250 t.test('should work when all files are given', function(st) {
262 ]).then(function(result) {
264 strip(result.stderr),
266 'examples/github.md',
267 ' 5:37-5:51 warning Link to unknown heading: `world` missing-heading remark-validate-links',
268 ' 19:10-19:29 warning Link to unknown file: `../world.md` missing-file remark-validate-links',
269 ' 29:10-29:33 warning Link to unknown heading in `../github.md`: `world` missing-heading-in-file remark-validate-links',
270 ' 35:10-35:32 warning Link to unknown file: `../world.md` missing-file remark-validate-links',
271 ' 35:10-35:32 warning Link to unknown heading in `../world.md`: `hello` missing-heading-in-file remark-validate-links',
274 ' 5:37-5:51 warning Link to unknown heading: `world` missing-heading remark-validate-links',
275 ' 27:10-27:37 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
276 ' 29:10-29:35 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
277 ' 41:10-41:41 warning Link to unknown heading in `examples/github.md`: `world` missing-heading-in-file remark-validate-links',
278 ' 43:10-43:39 warning Link to unknown heading in `examples/github.md`: `world` missing-heading-in-file remark-validate-links',
279 ' 49:10-49:40 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
280 ' 49:10-49:40 warning Link to unknown heading in `examples/world.md`: `hello` missing-heading-in-file remark-validate-links',
281 ' 51:10-51:38 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
282 ' 51:10-51:38 warning Link to unknown heading in `examples/world.md`: `hello` missing-heading-in-file remark-validate-links',
291 t.test('should work with definitions', function(st) {
302 ]).then(function(result) {
304 strip(result.stderr),
307 ' 10:1-10:18 warning Link to unknown heading: `world` missing-heading remark-validate-links',
316 t.test('should work on GitHub URLs when given a repo', function(st) {
323 '../..=repository:"wooorm/test"',
328 ]).then(function(result) {
330 strip(result.stderr),
332 'examples/github.md',
333 ' 5:37-5:51 warning Link to unknown heading: `world` missing-heading remark-validate-links',
334 ' 15:34-15:93 warning Link to unknown file: `../world.md` missing-file remark-validate-links',
335 ' 17:12-17:72 warning Link to unknown file: `../world.md` missing-file remark-validate-links',
336 ' 19:10-19:29 warning Link to unknown file: `../world.md` missing-file remark-validate-links',
337 ' 29:10-29:33 warning Link to unknown heading in `../github.md`: `world` missing-heading-in-file remark-validate-links',
338 ' 31:10-31:73 warning Link to unknown heading in `../github.md`: `world` missing-heading-in-file remark-validate-links',
339 ' 33:10-33:74 warning Link to unknown heading in `../github.md`: `world` missing-heading-in-file remark-validate-links',
340 ' 35:10-35:32 warning Link to unknown file: `../world.md` missing-file remark-validate-links',
341 ' 35:10-35:32 warning Link to unknown heading in `../world.md`: `hello` missing-heading-in-file remark-validate-links',
342 ' 37:10-37:72 warning Link to unknown file: `../world.md` missing-file remark-validate-links',
343 ' 37:10-37:72 warning Link to unknown heading in `../world.md`: `hello` missing-heading-in-file remark-validate-links',
344 ' 39:10-39:73 warning Link to unknown file: `../world.md` missing-file remark-validate-links',
345 ' 39:10-39:73 warning Link to unknown heading in `../world.md`: `hello` missing-heading-in-file remark-validate-links',
348 ' 5:37-5:51 warning Link to unknown heading: `world` missing-heading remark-validate-links',
349 ' 21:34-21:102 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
350 ' 23:34-23:84 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
351 ' 25:12-25:81 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
352 ' 27:10-27:37 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
353 ' 29:10-29:35 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
354 ' 41:10-41:41 warning Link to unknown heading in `examples/github.md`: `world` missing-heading-in-file remark-validate-links',
355 ' 43:10-43:39 warning Link to unknown heading in `examples/github.md`: `world` missing-heading-in-file remark-validate-links',
356 ' 45:10-45:82 warning Link to unknown heading in `examples/github.md`: `world` missing-heading-in-file remark-validate-links',
357 ' 47:10-47:83 warning Link to unknown heading in `examples/github.md`: `world` missing-heading-in-file remark-validate-links',
358 ' 49:10-49:40 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
359 ' 49:10-49:40 warning Link to unknown heading in `examples/world.md`: `hello` missing-heading-in-file remark-validate-links',
360 ' 51:10-51:38 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
361 ' 51:10-51:38 warning Link to unknown heading in `examples/world.md`: `hello` missing-heading-in-file remark-validate-links',
362 ' 53:10-53:81 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
363 ' 53:10-53:81 warning Link to unknown heading in `examples/world.md`: `hello` missing-heading-in-file remark-validate-links',
364 ' 55:10-55:82 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
365 ' 55:10-55:82 warning Link to unknown heading in `examples/world.md`: `hello` missing-heading-in-file remark-validate-links',
374 t.test('should work when with Git directory', function(st) {
379 return execa('git', ['init'])
382 return execa('git', [
386 'git@github.com:wooorm/test.git'
405 strip(result.stderr),
407 'examples/github.md',
408 ' 5:37-5:51 warning Link to unknown heading: `world` missing-heading remark-validate-links',
409 ' 15:34-15:93 warning Link to unknown file: `../world.md` missing-file remark-validate-links',
410 ' 17:12-17:72 warning Link to unknown file: `../world.md` missing-file remark-validate-links',
411 ' 19:10-19:29 warning Link to unknown file: `../world.md` missing-file remark-validate-links',
412 ' 29:10-29:33 warning Link to unknown heading in `../github.md`: `world` missing-heading-in-file remark-validate-links',
413 ' 31:10-31:73 warning Link to unknown heading in `../github.md`: `world` missing-heading-in-file remark-validate-links',
414 ' 33:10-33:74 warning Link to unknown heading in `../github.md`: `world` missing-heading-in-file remark-validate-links',
415 ' 35:10-35:32 warning Link to unknown file: `../world.md` missing-file remark-validate-links',
416 ' 35:10-35:32 warning Link to unknown heading in `../world.md`: `hello` missing-heading-in-file remark-validate-links',
417 ' 37:10-37:72 warning Link to unknown file: `../world.md` missing-file remark-validate-links',
418 ' 37:10-37:72 warning Link to unknown heading in `../world.md`: `hello` missing-heading-in-file remark-validate-links',
419 ' 39:10-39:73 warning Link to unknown file: `../world.md` missing-file remark-validate-links',
420 ' 39:10-39:73 warning Link to unknown heading in `../world.md`: `hello` missing-heading-in-file remark-validate-links',
423 ' 5:37-5:51 warning Link to unknown heading: `world` missing-heading remark-validate-links',
424 ' 21:34-21:102 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
425 ' 23:34-23:84 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
426 ' 25:12-25:81 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
427 ' 27:10-27:37 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
428 ' 29:10-29:35 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
429 ' 41:10-41:41 warning Link to unknown heading in `examples/github.md`: `world` missing-heading-in-file remark-validate-links',
430 ' 43:10-43:39 warning Link to unknown heading in `examples/github.md`: `world` missing-heading-in-file remark-validate-links',
431 ' 45:10-45:82 warning Link to unknown heading in `examples/github.md`: `world` missing-heading-in-file remark-validate-links',
432 ' 47:10-47:83 warning Link to unknown heading in `examples/github.md`: `world` missing-heading-in-file remark-validate-links',
433 ' 49:10-49:40 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
434 ' 49:10-49:40 warning Link to unknown heading in `examples/world.md`: `hello` missing-heading-in-file remark-validate-links',
435 ' 51:10-51:38 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
436 ' 51:10-51:38 warning Link to unknown heading in `examples/world.md`: `hello` missing-heading-in-file remark-validate-links',
437 ' 53:10-53:81 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
438 ' 53:10-53:81 warning Link to unknown heading in `examples/world.md`: `hello` missing-heading-in-file remark-validate-links',
439 ' 55:10-55:82 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
440 ' 55:10-55:82 warning Link to unknown heading in `examples/world.md`: `hello` missing-heading-in-file remark-validate-links',
454 rimraf.sync('./.git')
458 t.test('should fail w/o Git repository', function(st) {
461 fs.renameSync('../../.git', '../../.git.bak')
474 st.fail('should not work')
478 st.ok(/not a git repository/i.test(err.stderr), 'should fail')
483 fs.renameSync('../../.git.bak', '../../.git')
487 t.test('should fail w/o Git repository w/o remote', function(st) {
492 return execa('git', ['init'])
506 st.fail('should not work')
510 st.ok(/Could not find remote origin/.test(err.stderr), 'should fail')
515 rimraf.sync('./.git')
519 t.test('should work w/o Git repository w/ repo', function(st) {
522 fs.renameSync('../../.git', '../../.git.bak')
528 '../..=repository:"wooorm/test"',
536 strip(result.stderr),
539 ' 5:13-5:27 warning Link to unknown heading: `world` missing-heading remark-validate-links',
548 st.error(err, 'shoult not fail')
553 fs.renameSync('../../.git.bak', '../../.git')
557 t.test('should work w/o Git repository w/ remote', function(st) {
560 fs.renameSync('../../.git', '../../.git.bak')
566 '../..=repository:{remote:"wooorm/test"}',
572 strip(result.stderr),
575 ' 5:13-5:27 warning Link to unknown heading: `world` missing-heading remark-validate-links',
584 st.error(err, 'shoult not fail')
589 fs.renameSync('../../.git.bak', '../../.git')
593 t.test('should work w/o Git repository w/ remote and root', function(st) {
596 fs.renameSync('../../.git', '../../.git.bak')
602 '../..=repository:"wooorm/test",root:"../"',
608 strip(result.stderr),
611 ' 5:13-5:27 warning Link to unknown heading: `world` missing-heading remark-validate-links',
620 st.error(err, 'shoult not fail')
625 fs.renameSync('../../.git.bak', '../../.git')
629 t.test('should work with `repository:false`', function(st) {
632 fs.renameSync('../../.git', '../../.git.bak')
638 '../..=repository:false',
647 strip(result.stderr),
649 'examples/github.md',
650 ' 5:37-5:51 warning Link to unknown heading: `world` missing-heading remark-validate-links',
651 ' 19:10-19:29 warning Link to unknown file: `../world.md` missing-file remark-validate-links',
652 ' 29:10-29:33 warning Link to unknown heading in `../github.md`: `world` missing-heading-in-file remark-validate-links',
653 ' 35:10-35:32 warning Link to unknown file: `../world.md` missing-file remark-validate-links',
654 ' 35:10-35:32 warning Link to unknown heading in `../world.md`: `hello` missing-heading-in-file remark-validate-links',
657 ' 5:37-5:51 warning Link to unknown heading: `world` missing-heading remark-validate-links',
658 ' 27:10-27:37 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
659 ' 29:10-29:35 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
660 ' 41:10-41:41 warning Link to unknown heading in `examples/github.md`: `world` missing-heading-in-file remark-validate-links',
661 ' 43:10-43:39 warning Link to unknown heading in `examples/github.md`: `world` missing-heading-in-file remark-validate-links',
662 ' 49:10-49:40 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
663 ' 49:10-49:40 warning Link to unknown heading in `examples/world.md`: `hello` missing-heading-in-file remark-validate-links',
664 ' 51:10-51:38 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
665 ' 51:10-51:38 warning Link to unknown heading in `examples/world.md`: `hello` missing-heading-in-file remark-validate-links',
679 fs.renameSync('../../.git.bak', '../../.git')
683 t.test('should work when finding non-hosted Git remotes', function(st) {
690 '../..=repository:"ssh://git@domain.com/user/project.git"',
694 ]).then(function(result) {
696 strip(result.stderr),
699 ' 5:13-5:27 warning Link to unknown heading: `world` missing-heading remark-validate-links',
708 t.test('should support a GitLab shortcode', function(st) {
715 '../..=repository:"gitlab:wooorm/test"',
719 ]).then(function(result) {
721 strip(result.stderr),
724 ' 5:37-5:51 warning Link to unknown heading: `world` missing-heading remark-validate-links',
725 ' 19:34-19:102 warning Link to unknown file: `examples/world.md`. Did you mean `examples/gitlab.md` missing-file remark-validate-links',
726 ' 21:12-21:81 warning Link to unknown file: `examples/world.md`. Did you mean `examples/gitlab.md` missing-file remark-validate-links',
727 ' 23:10-23:37 warning Link to unknown file: `examples/world.md`. Did you mean `examples/gitlab.md` missing-file remark-validate-links',
728 ' 25:10-25:35 warning Link to unknown file: `examples/world.md`. Did you mean `examples/gitlab.md` missing-file remark-validate-links',
729 ' 37:10-37:41 warning Link to unknown heading in `examples/gitlab.md`: `world` missing-heading-in-file remark-validate-links',
730 ' 39:10-39:39 warning Link to unknown heading in `examples/gitlab.md`: `world` missing-heading-in-file remark-validate-links',
731 ' 41:10-41:82 warning Link to unknown heading in `examples/gitlab.md`: `world` missing-heading-in-file remark-validate-links',
732 ' 43:10-43:83 warning Link to unknown heading in `examples/gitlab.md`: `world` missing-heading-in-file remark-validate-links',
733 ' 45:10-45:40 warning Link to unknown file: `examples/world.md`. Did you mean `examples/gitlab.md` missing-file remark-validate-links',
734 ' 45:10-45:40 warning Link to unknown heading in `examples/world.md`: `hello` missing-heading-in-file remark-validate-links',
735 ' 47:10-47:38 warning Link to unknown file: `examples/world.md`. Did you mean `examples/gitlab.md` missing-file remark-validate-links',
736 ' 47:10-47:38 warning Link to unknown heading in `examples/world.md`: `hello` missing-heading-in-file remark-validate-links',
737 ' 49:10-49:81 warning Link to unknown file: `examples/world.md`. Did you mean `examples/gitlab.md` missing-file remark-validate-links',
738 ' 49:10-49:81 warning Link to unknown heading in `examples/world.md`: `hello` missing-heading-in-file remark-validate-links',
739 ' 51:10-51:82 warning Link to unknown file: `examples/world.md`. Did you mean `examples/gitlab.md` missing-file remark-validate-links',
740 ' 51:10-51:82 warning Link to unknown heading in `examples/world.md`: `hello` missing-heading-in-file remark-validate-links',
749 t.test('should support a Bitbucket shortcode', function(st) {
756 '../..=repository:"bitbucket:wooorm/test"',
760 ]).then(function(result) {
762 strip(result.stderr),
765 ' 5:37-5:67 warning Link to unknown heading: `world` missing-heading remark-validate-links',
766 ' 21:34-21:104 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
767 ' 23:12-23:83 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
768 ' 25:10-25:37 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
769 ' 27:10-27:35 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
770 ' 39:10-39:60 warning Link to unknown heading in `examples/bitbucket.md`: `world` missing-heading-in-file remark-validate-links',
771 ' 41:10-41:58 warning Link to unknown heading in `examples/bitbucket.md`: `world` missing-heading-in-file remark-validate-links',
772 ' 43:10-43:103 warning Link to unknown heading in `examples/bitbucket.md`: `world` missing-heading-in-file remark-validate-links',
773 ' 45:10-45:104 warning Link to unknown heading in `examples/bitbucket.md`: `world` missing-heading-in-file remark-validate-links',
774 ' 47:10-47:56 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
775 ' 47:10-47:56 warning Link to unknown heading in `examples/world.md`: `hello` missing-heading-in-file remark-validate-links',
776 ' 49:10-49:54 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
777 ' 49:10-49:54 warning Link to unknown heading in `examples/world.md`: `hello` missing-heading-in-file remark-validate-links',
778 ' 51:10-51:99 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
779 ' 51:10-51:99 warning Link to unknown heading in `examples/world.md`: `hello` missing-heading-in-file remark-validate-links',
780 ' 53:10-53:100 warning Link to unknown file: `examples/world.md` missing-file remark-validate-links',
781 ' 53:10-53:100 warning Link to unknown heading in `examples/world.md`: `hello` missing-heading-in-file remark-validate-links',
790 t.test('should suggest similar links', function(st) {
801 ]).then(function(result) {
803 strip(result.stderr),
806 ' 3:22-3:37 warning Link to unknown heading: `helloo`. Did you mean `hello` missing-heading remark-validate-links',
807 ' 7:17-7:39 warning Link to unknown heading in `github.md`: `fiiiles`. Did you mean `files` missing-heading-in-file remark-validate-links',
816 t.test('should recognise links to particular lines', function(st) {
823 '../..=repository:"wooorm/test"',
827 ]).then(function(result) {
829 strip(result.stderr),
832 ' 5:9-5:61 warning Link to unknown file: `examples/missing.js` missing-file remark-validate-links',
833 ' 9:1-9:71 warning Link to unknown file: `examples/missing.js` missing-file remark-validate-links',
842 t.test('should recognise links with encoded URLs', function(st) {
849 '../..=repository:"wooorm/test"',
852 'weird-characters.md'
853 ]).then(function(result) {
855 strip(result.stderr),
857 'weird-characters.md',
858 ' 11:17-11:87 warning Link to unknown file: `examples/missing#characters.md`. Did you mean `examples/weird#characters.md` missing-file remark-validate-links',
859 ' 13:17-13:93 warning Link to unknown file: `examples/missing#character/readme.md`. Did you mean `examples/weird#character/readme.md` missing-file remark-validate-links',
860 ' 15:17-15:114 warning Link to unknown heading in `examples/weird#characters.md`: `world` missing-heading-in-file remark-validate-links',
861 ' 17:17-17:120 warning Link to unknown heading in `examples/weird#character/readme.md`: `world` missing-heading-in-file remark-validate-links',
870 t.test('should check images', function(st) {
877 '../..=repository:"wooorm/test"',
881 ]).then(function(result) {
883 strip(result.stderr),
886 ' 19:10-19:50 warning Link to unknown file: `examples/missing.jpg`. Did you mean `examples/image.jpg` missing-file remark-validate-links',
887 ' 21:12-21:42 warning Link to unknown file: `examples/missing.jpg`. Did you mean `examples/image.jpg` missing-file remark-validate-links',
888 ' 23:10-23:91 warning Link to unknown file: `examples/missing.jpg`. Did you mean `examples/image.jpg` missing-file remark-validate-links',
889 ' 35:1-35:38 warning Link to unknown file: `examples/missing.jpg`. Did you mean `examples/image.jpg` missing-file remark-validate-links',
890 ' 37:1-37:79 warning Link to unknown file: `examples/missing.jpg`. Did you mean `examples/image.jpg` missing-file remark-validate-links',
899 t.test('should support query parameters', function(st) {
906 '../..=repository:"wooorm/test"',
913 strip(result.stderr),
916 ' 9:33-9:55 warning Link to unknown heading: `query-params?`. Did you mean `query-params` missing-heading remark-validate-links',
924 st.error(err, 'should not fail')
929 t.test('should support case insensitive headings', function(st) {
939 'case-insensitive-headings.md'
943 strip(result.stderr),
945 'case-insensitive-headings.md',
946 ' 5:13-5:27 warning Link to unknown heading: `world` missing-heading remark-validate-links',
947 ' 9:16-9:48 warning Link to unknown heading in `examples/github.md`: `world` missing-heading-in-file remark-validate-links',
955 st.error(err, 'should not fail')
960 t.test('should ignore external links', function(st) {
967 '../..=repository:"wooorm/test"',
971 ]).then(function(result) {
973 strip(result.stderr),
974 'external.md: no issues found',
980 t.test('should ignore external links (without repo)', function(st) {
987 '../..=repository:false',
991 ]).then(function(result) {
993 strip(result.stderr),
994 'external.md: no issues found',
1000 t.test('should support self-hosted Git solutions', function(st) {
1005 return execa('git', ['init'])
1008 return execa('git', [
1012 'git@gitlab.acme.company:acme/project.git'
1020 '../..=urlConfig:{hostname:"gitlab.acme.com",prefix:"/acme/project/blob/",headingPrefix:"#",lines:true}',
1028 strip(result.stderr),
1031 ' 5:1-5:82 warning Link to unknown heading: `world` missing-heading remark-validate-links',
1045 rimraf.sync('./.git')
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list