Socket
Socket
Sign inDemoInstall

tap-out

Package Overview
Dependencies
13
Maintainers
1
Versions
16
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    tap-out

A different tap parser


Version published
Weekly downloads
22K
decreased by-5.09%
Maintainers
1
Install size
238 kB
Created
Weekly downloads
 

Readme

Source

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 git@github.com:scottcorgan/tap-out.git && cd tap-out
npm install
npm test

Keywords

FAQs

Last updated on 05 Jun 2018

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc