tap-out

WebJar for tap-out

License

License

MIT
GroupId

GroupId

org.webjars.npm
ArtifactId

ArtifactId

tap-out
Last Version

Last Version

2.1.0
Release Date

Release Date

Type

Type

jar
Description

Description

tap-out
WebJar for tap-out
Project URL

Project URL

http://webjars.org
Source Code Management

Source Code Management

https://github.com/scottcorgan/tap-out

Download tap-out

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.npm/tap-out/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>tap-out</artifactId>
    <version>2.1.0</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/tap-out/
implementation 'org.webjars.npm:tap-out:2.1.0'
// https://jarcasting.com/artifacts/org.webjars.npm/tap-out/
implementation ("org.webjars.npm:tap-out:2.1.0")
'org.webjars.npm:tap-out:jar:2.1.0'
<dependency org="org.webjars.npm" name="tap-out" rev="2.1.0">
  <artifact name="tap-out" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='tap-out', version='2.1.0')
)
libraryDependencies += "org.webjars.npm" % "tap-out" % "2.1.0"
[org.webjars.npm/tap-out "2.1.0"]

Dependencies

compile (4)

Group / Artifact Type Version
org.webjars.npm : re-emitter jar [1.1.3]
org.webjars.npm : readable-stream jar [2.2.9]
org.webjars.npm : split jar [1.0.0]
org.webjars.npm : trim jar [0.0.1]

Project Modules

There are no modules declared in this project.

tap-out

A different tap parser

Install

npm install tap-out --save

Usage

CLI

$ something-that-produces-tap | tap-out
{
  tests: [
    { name: 'is true', number: 1, raw: '# is true', type: 'test' }
  ],
  asserts: [
    { name: 'true value', number: 1, ok: true, raw: 'ok 1 true value', test: 1, type: 'assert' },
    { name: 'true value', number: 2, ok: true, raw: 'ok 2 true value', test: 1, type: 'assert' }
  ],
  versions: [],
  results: [],
  comments: [],
  plans: [{ type: 'plan', raw: '1..2', from: 1, to: 2, skip: false }],
  pass: [
    { name: 'true value', number: 1, ok: true, raw: 'ok 1 true value', test: 1, type: 'assert' },
    { name: 'true value', number: 2, ok: true, raw: 'ok 2 true value', test: 1, type: 'assert' }
  ],
  fail: [],
  errors: []
}

API

var tapOut = require('tap-out');

var t = tapOut(function (output) {

  console.log(output);
});

t.on('assert', function (assert) {

	// Do something
});

process.stdin.pipe(t);

Methods

var t = tapOut(function (err, output) {})

Returns a stream that emits events with various TAP data. Takes a callback which is called when all parsing is done.

Events

t.on('output', function (output) {})

All output after all TAP data is parsed.

Example output

{
  tests: [
    { name: 'is true', number: 1, raw: '# is true', type: 'test' }
  ],
  asserts: [
    { name: 'true value', number: 1, ok: true, raw: 'ok 1 true value', test: 1, type: 'assert' },
    { name: 'true value', number: 2, ok: true, raw: 'ok 2 true value', test: 1, type: 'assert' }
  ],
  results: [],
  versions: [],
  comments: [],
  fail: [],
  pass: [
    { name: 'true value', number: 1, ok: true, raw: 'ok 1 true value', test: 1, type: 'assert' },
    { name: 'true value', number: 2, ok: true, raw: 'ok 2 true value', test: 1, type: 'assert' }
  ],
}

t.on('test', function (test) {})

Parsed test object with details.

  • type - value will always be test
  • name - name of the test
  • raw - the raw output before it was parsed
  • number - the number of the test
{
  type: 'test',
  name: 'is true',
  raw: '# is true',
  number: 1
}

t.on('assert', function (assertion) {})

Parsed assert object details.

  • type - this will always be assert
  • name - the name of the assertion
  • raw - the raw output before it was parsed
  • number - the number of the assertion
  • ok - whether the assertion passed or failed
  • test - the number of the test this assertion belongs to
{
  name: 'true value',
  number: 1,
  ok: true,
  raw: 'ok 1 true value',
  test: 1,
  type: 'assert'
}

t.on('version', function (version) {})

Parsed version data.

  • type - this will always be version
  • raw - the raw output before it was parsed
{
  raw: 'TAP version 13',
  type: 'version'
}

t.on('result', function (result) {})

Parsed test result data for tests, pass, fail.

  • type - this will always be result
  • name - the name of the result
  • raw - the raw output before it was parsed
  • count - the number of tests related to this result

Tests

{
  count: '15',
  name: 'tests',
  raw: '# tests 15',
  type: 'result'
}

Pass

{
  count: '13',
  name: 'pass',
  raw: '# pass  13',
  type: 'result'
}

Fail

{
  count: '2',
  name: 'fail',
  raw: '# fail  2',
  type: 'result'
}

t.on('pass', function (assertion) {})

Parsed assertion that has passed with details. The assertion formate is the same as the assert event.

t.on('fail', function (assertion) {})

Failed assertion that has passed with details. The assertion formate is the same as the assert event.

t.on('comment', function (comment) {})

Generic output like console.log() in your tests.

  • type - this will always be comment
  • raw - the raw output before it was parsed
  • test - the number of the test this comment belongs to
{
  type: 'comment',
  raw: 'this is a console log',
  test: 1
}

Run Tests

git clone [email protected]:scottcorgan/tap-out.git && cd tap-out
npm install
npm test

Versions

Version
2.1.0