@@ -7,6 +7,8 @@ var os = require('os');
7
7
var test = require ( 'tap' ) . test ;
8
8
var mkdirp = require ( 'mkdirp' ) ;
9
9
var rimraf = require ( 'rimraf' ) ;
10
+ var parser = require ( 'tap-parser' ) ;
11
+ var str = require ( 'string-to-stream' ) ;
10
12
11
13
var tap = require ( '../../lib/reporter/tap' ) ;
12
14
var fixtures = require ( '../fixtures/reporter-fixtures' ) ;
@@ -27,6 +29,7 @@ var passingInput = [
27
29
var passingExpectedPath = path . join ( fixturesPath , 'test-out-tap-passing.txt' ) ;
28
30
var passingExpectedPathAppend = path . join ( fixturesPath , 'test-out-tap-passing-append.txt' ) ;
29
31
32
+ var tapParserExpected = require ( '../fixtures/parsed-tap.json' ) ;
30
33
var passingExpected = fs . readFileSync ( passingExpectedPath , 'utf-8' ) ;
31
34
var passingExpectedAppend = fs . readFileSync ( passingExpectedPathAppend , 'utf-8' ) ;
32
35
@@ -70,6 +73,20 @@ test('reporter.tap(): failing', function (t) {
70
73
t . end ( ) ;
71
74
} ) ;
72
75
76
+ test ( 'reporter.tap(): parser' , function ( t ) {
77
+ var output = '' ;
78
+ function logger ( message ) {
79
+ output += message ;
80
+ }
81
+
82
+ tap ( logger , failingInput ) ;
83
+ var p = parser ( function ( results ) {
84
+ t . deepEquals ( results , tapParserExpected ) , 'the tap parser should correctly parse the tap file' ;
85
+ t . end ( ) ;
86
+ } ) ;
87
+ str ( output ) . pipe ( p ) ;
88
+ } ) ;
89
+
73
90
test ( 'reporter.tap(): write to disk' , function ( t ) {
74
91
tap ( outputFile , passingInput ) ;
75
92
var expected = fs . readFileSync ( outputFile , 'utf8' ) ;
0 commit comments