@@ -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' ) ;
@@ -23,10 +25,10 @@ var passingInput = [
2325 fixtures . iPass ,
2426 fixtures . iFlakyPass
2527] ;
26-
2728var passingExpectedPath = path . join ( fixturesPath , 'test-out-tap-passing.txt' ) ;
2829var passingExpectedPathAppend = path . join ( fixturesPath , 'test-out-tap-passing-append.txt' ) ;
2930
31+ var tapParserExpected = require ( '../fixtures/parsed-tap.json' ) ;
3032var passingExpected = fs . readFileSync ( passingExpectedPath , 'utf-8' ) ;
3133var passingExpectedAppend = fs . readFileSync ( passingExpectedPathAppend , 'utf-8' ) ;
3234
@@ -70,6 +72,20 @@ test('reporter.tap(): failing', function (t) {
7072 t . end ( ) ;
7173} ) ;
7274
75+ test ( 'reporter.tap(): parser' , function ( t ) {
76+ var output = '' ;
77+ function logger ( message ) {
78+ output += message ;
79+ }
80+
81+ tap ( logger , failingInput ) ;
82+ var p = parser ( function ( results ) {
83+ t . deepEquals ( results , tapParserExpected ) , 'the tap parser should correctly parse the tap file' ;
84+ t . end ( ) ;
85+ } ) ;
86+ str ( output ) . pipe ( p ) ;
87+ } ) ;
88+
7389test ( 'reporter.tap(): write to disk' , function ( t ) {
7490 tap ( outputFile , passingInput ) ;
7591 var expected = fs . readFileSync ( outputFile , 'utf8' ) ;
0 commit comments