@@ -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 intoStream = require ( 'into-stream' ) ;
1012
1113var tap = require ( '../../lib/reporter/tap' ) ;
1214var fixtures = require ( '../fixtures/reporter-fixtures' ) ;
@@ -23,10 +25,11 @@ var passingInput = [
2325 fixtures . iPass ,
2426 fixtures . iFlakyPass
2527] ;
26-
28+ var tapParser = path . join ( fixturesPath , 'tap-parser.txt' ) ;
2729var passingExpectedPath = path . join ( fixturesPath , 'test-out-tap-passing.txt' ) ;
2830var passingExpectedPathAppend = path . join ( fixturesPath , 'test-out-tap-passing-append.txt' ) ;
2931
32+ var tapParserExpected = fs . readFileSync ( tapParser , 'utf-8' ) ;
3033var passingExpected = fs . readFileSync ( passingExpectedPath , 'utf-8' ) ;
3134var passingExpectedAppend = fs . readFileSync ( passingExpectedPathAppend , 'utf-8' ) ;
3235
@@ -70,6 +73,21 @@ test('reporter.tap(): failing', function (t) {
7073 t . end ( ) ;
7174} ) ;
7275
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+ var parseResults = results ;
85+ t . equals ( parseResults , tapParserExpected ) , 'the tap parser should correctly parse the tap file' ;
86+ t . end ( ) ;
87+ } ) ;
88+ intoStream ( output ) . pipe ( p ) ;
89+ } ) ;
90+
7391test ( 'reporter.tap(): write to disk' , function ( t ) {
7492 tap ( outputFile , passingInput ) ;
7593 var expected = fs . readFileSync ( outputFile , 'utf8' ) ;
0 commit comments