tap-parser
Advanced tools
Comparing version 10.0.0 to 10.0.1
41
index.js
@@ -113,2 +113,3 @@ 'use strict' | ||
this.time = null | ||
this.name = options.name || '' | ||
@@ -119,2 +120,3 @@ this.comments = [] | ||
this.parent = options.parent || null | ||
this.closingTestPoint = this.parent && options.closingTestPoint | ||
this.root = options.parent ? this.parent.root : this | ||
@@ -179,7 +181,10 @@ this.failures = [] | ||
parseTestPoint (testPoint, line) { | ||
this.emitResult() | ||
// need to hold off on this when we have a child so we can | ||
// associate the closing test point with the test. | ||
if (!this.child) | ||
this.emitResult() | ||
if (this.bailedOut) | ||
return | ||
this.emit('line', line) | ||
const res = new Result(testPoint, this.count) | ||
@@ -206,2 +211,14 @@ if (this.planStart !== -1) { | ||
if (this.child) { | ||
if (!this.child.closingTestPoint) | ||
this.child.closingTestPoint = res | ||
this.emitResult() | ||
// can only bail out here in the case of a child with broken diags | ||
// anything else would have bailed out already. | ||
if (this.bailedOut) | ||
return | ||
} | ||
this.emit('line', line) | ||
if (!res.skip && !res.todo) | ||
@@ -241,9 +258,11 @@ this.ok = this.ok && res.ok | ||
emitExtra (data) { | ||
if (!this.parent) | ||
this.emit('extra', data) | ||
else | ||
emitExtra (data, fromChild) { | ||
if (this.parent) | ||
this.parent.emitExtra( | ||
data.replace(/\n$/, '').replace(/^/gm, ' ') + '\n' | ||
data.replace(/\n$/, '').replace(/^/gm, ' ') + '\n', true | ||
) | ||
else if (!fromChild && (this.current || this.extraQueue.length)) | ||
this.extraQueue.push(['extra', data]) | ||
else | ||
this.emit('extra', data) | ||
} | ||
@@ -536,2 +555,4 @@ | ||
if (this.child && (!this.bailingOut || this.child.count)) { | ||
if (this.child.closingTestPoint) | ||
this.child.time = this.child.closingTestPoint.time || null | ||
this.previousChild = this.child | ||
@@ -613,2 +634,3 @@ this.child.end() | ||
buffered: maybeBuffered, | ||
closingTestPoint: maybeBuffered && this.current, | ||
preserveWhitespace: this.preserveWhitespace, | ||
@@ -744,2 +766,6 @@ omitVersion: true, | ||
this.comments.push(line) | ||
const dir = parseDirective(line.replace(/^\s*#\s*/, '').trim()) | ||
if (dir[0] === 'time' && typeof dir[1] === 'number') | ||
this.time = dir[1] | ||
if (this.current || this.extraQueue.length) { | ||
@@ -1014,2 +1040,3 @@ // no way to get here with skipLine being true | ||
this.failures = self.failures | ||
this.time = self.time | ||
if (self.passes) | ||
@@ -1016,0 +1043,0 @@ this.passes = self.passes |
{ | ||
"name": "tap-parser", | ||
"version": "10.0.0", | ||
"version": "10.0.1", | ||
"description": "parse the test anything protocol", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
46369
1098