@@ -7,6 +7,8 @@ var os = require('os');
77var test = require ( 'tap' ) . test ;
88var mkdirp = require ( 'mkdirp' ) ;
99var rimraf = require ( 'rimraf' ) ;
10+ var parser = require ( 'tap-parser' ) ;
11+ var str = require ( 'string-to-stream' ) ;
1012
1113var tap = require ( '../../lib/reporter/tap' ) ;
1214var fixtures = require ( '../fixtures/reporter-fixtures' ) ;
@@ -24,9 +26,11 @@ var passingInput = [
2426 fixtures . iFlakyPass
2527] ;
2628
29+ var tapParser = path . join ( fixturesPath , 'tap-parser.txt' ) ;
2730var passingExpectedPath = path . join ( fixturesPath , 'test-out-tap-passing.txt' ) ;
2831var passingExpectedPathAppend = path . join ( fixturesPath , 'test-out-tap-passing-append.txt' ) ;
2932
33+ var tapParserExpected = fs . readFileSync ( tapParser , 'utf-8' ) ;
3034var passingExpected = fs . readFileSync ( passingExpectedPath , 'utf-8' ) ;
3135var passingExpectedAppend = fs . readFileSync ( passingExpectedPathAppend , 'utf-8' ) ;
3236
@@ -70,6 +74,21 @@ test('reporter.tap(): failing', function (t) {
7074 t . end ( ) ;
7175} ) ;
7276
77+ test ( 'reporter.tap(): parser' , function ( t ) {
78+ var output = '' ;
79+ function logger ( message ) {
80+ output += message ;
81+ }
82+
83+ tap ( logger , failingInput ) ;
84+ var p = parser ( function ( results ) {
85+ var expected = JSON . stringify ( results , null , 2 ) + '\n' ;
86+ t . equals ( expected , tapParserExpected ) , 'the tap parser should correctly parse the tap file' ;
87+ t . end ( ) ;
88+ } ) ;
89+ str ( output ) . pipe ( p ) ;
90+ } ) ;
91+
7392test ( 'reporter.tap(): write to disk' , function ( t ) {
7493 tap ( outputFile , passingInput ) ;
7594 var expected = fs . readFileSync ( outputFile , 'utf8' ) ;
0 commit comments