Skip to content

Commit 963a4a8

Browse files
committed
test_runner: tap parser
fix missing leading whitespaces in YAML content
1 parent 1655057 commit 963a4a8

File tree

2 files changed

+40
-3
lines changed

2 files changed

+40
-3
lines changed

lib/internal/test_runner/tap_lexer.js

+1-2
Original file line numberDiff line numberDiff line change
@@ -342,7 +342,6 @@ class TapLexer {
342342
break;
343343
}
344344

345-
// Note: we might consume a dot
346345
char = this.next();
347346
yaml += char;
348347

@@ -360,7 +359,7 @@ class TapLexer {
360359

361360
return new Token({
362361
type: TokenKind.TAP_YAML,
363-
value: yaml.trim(),
362+
value: yaml, // don't trim on purpose!
364363
stream: this.source,
365364
});
366365
}

lib/internal/test_runner/tap_parser_test.js

+39-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const util = require('util');
44
const { TapParser } = require('./tap_parser');
55

66
function TAP(input) {
7-
const parser = new TapParser(input, {debug: false});
7+
const parser = new TapParser(input, {debug: true});
88
const ast = parser.parse();
99

1010
console.log(`s------------------------------`);
@@ -341,3 +341,41 @@ TAP(`
341341
TAP version 14
342342
1..0 # skip because English-to-French translator isn't installed
343343
`);
344+
345+
TAP(`
346+
TAP version 14
347+
1..4
348+
ok 1 - Creating test program
349+
ok 2 - Test program runs, no error
350+
not ok 3 - infinite loop # TODO halting problem unsolved
351+
not ok 4 - infinite loop 2 # TODO halting problem unsolved
352+
`);
353+
354+
TAP(`
355+
TAP version 14
356+
ok - created Board
357+
ok
358+
ok
359+
ok
360+
ok
361+
ok
362+
ok
363+
ok
364+
---
365+
message: "Board layout"
366+
severity: comment
367+
dump:
368+
board:
369+
- ' 16G 05C '
370+
- ' G N C C C G '
371+
- ' G C + '
372+
- '10C 01G 03C '
373+
- 'R N G G A G C C C '
374+
- ' R G C + '
375+
- ' 01G 17C 00C '
376+
- ' G A G G N R R N R '
377+
- ' G R G '
378+
...
379+
ok - board has 7 tiles + starter tile
380+
1..9
381+
`);

0 commit comments

Comments
 (0)