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
46
47
48
49
50
51
52
53
54
55
| /*
| Language: Test Anything Protocol
| Description: TAP, the Test Anything Protocol, is a simple text-based interface between testing modules in a test harness.
| Requires: yaml.js
| Author: Sergey Bronnikov <sergeyb@bronevichok.ru>
| Website: https://testanything.org
| */
|
| function tap(hljs) {
| return {
| name: 'Test Anything Protocol',
| case_insensitive: true,
| contains: [
| hljs.HASH_COMMENT_MODE,
| // version of format and total amount of testcases
| {
| className: 'meta',
| variants: [
| {
| begin: '^TAP version (\\d+)$'
| },
| {
| begin: '^1\\.\\.(\\d+)$'
| }
| ]
| },
| // YAML block
| {
| begin: /---$/,
| end: '\\.\\.\\.$',
| subLanguage: 'yaml',
| relevance: 0
| },
| // testcase number
| {
| className: 'number',
| begin: ' (\\d+) '
| },
| // testcase status and description
| {
| className: 'symbol',
| variants: [
| {
| begin: '^ok'
| },
| {
| begin: '^not ok'
| }
| ]
| }
| ]
| };
| }
|
| module.exports = tap;
|
|