0.6.8 • Published 6 days ago

@nichoth/tap-ssc v0.6.8

Weekly downloads
-
License
MIT
Repository
github
Last release
6 days ago

tap ssc

tests Socket Badge semantic versioning license

Run tests in a browser environment from the command line.

The interface is inspired by tape-run. Just pipe some JS into the tap-ssc command, and your tests will run in a browser environment.

Instead of electron, a dependency of tape-run, this uses @socketsupply/socket to create a browser-like environment.

install

npm i -D @nichoth/tap-ssc

use

Bundle your client side JS, then pipe it into this tool, which is installed as the tap-ssc command.

Your tests will be running in a browser environment, but all tap output will go to the terminal.

Use it as a part of package.json scripts:

"scripts": {
    "test": "esbuild --bundle test/index.js | tap-ssc"
},

Or on the command line:

npx esbuild --bundle test/index.js | npx tap-ssc

example

// example/test/index.js
import { test } from '@nichoth/tapzero'

test('browser environment', t => {
    t.ok(window, 'window should exist')
})

Then in the terminal:

npx esbuild --bundle test/index.js | npx tap-ssc

see this example

pass in your own html file

!NOTE
This is in progress.

Use command line argument --html=filename.html

esbuild --bundle --platform=browser --format=esm test/html.js | tap-ssc --html=test.html | tap-arc

In your html, be sure to include a script tag pointing at bundle.js:

<script charset="utf-8" src="bundle.js" type="module"></script>

This is useful if your application code depends on another file that you are linking to via HTML, eg

<head>
    <meta charset="UTF-8">
    <title>tests</title>
    <script src="https://example.com/my-js-dependency/dist/index.umd.min.js"></script>
</head>
<body>
    <script src="bundle.js"></script>
</body>

how does this work?

We build an ssc binary once after you install this package

The package binary, ./cli.js, takes javascript that is piped to stdin, and writes it to a file at the right location -- target + /bundle.js. Then it runs the ssc binary and pipes the output to stdout.

test this module

This will use the example directory to install this as a dependency, then run a given test.

A passing test

npm test | npx tap-arc

A failing test

npm run test-fail

A test that throws an error

npm run test-err
0.6.8

6 days ago

0.6.7

5 months ago

0.6.6

6 months ago

0.6.3

6 months ago

0.6.2

6 months ago

0.6.5

6 months ago

0.6.4

6 months ago

0.5.0

6 months ago

0.5.2

6 months ago

0.6.0

6 months ago

0.5.1

6 months ago

0.4.0

12 months ago

0.3.0

1 year ago

0.3.2

1 year ago

0.3.1

1 year ago

0.3.4

1 year ago

0.3.3

1 year ago

0.2.1

1 year ago

0.2.0

1 year ago

0.1.1

1 year ago

0.1.0

1 year ago

0.0.11

1 year ago

0.0.10

1 year ago

0.0.9

1 year ago

0.0.8

1 year ago

0.0.7

1 year ago

0.0.6

1 year ago

0.0.5

1 year ago

0.0.4

1 year ago

0.0.3

1 year ago

0.0.1

1 year ago

0.0.0

1 year ago