27 lines
765 B
JavaScript
27 lines
765 B
JavaScript
|
import assert from 'node:assert/strict'
|
||
|
import { metaltest, consolereporter } from '../index.js'
|
||
|
|
||
|
const test = metaltest('Metaltest')
|
||
|
|
||
|
let count = 0
|
||
|
test.before(() => count++)
|
||
|
|
||
|
test('success', () => new Promise((s, f) => setTimeout(s, 500)))
|
||
|
test('not equal', () => assert.notEqual({ a: 1 }, { a: 2 }))
|
||
|
test('fail with the message', () => new Promise((s, f) => setTimeout(s, 500)))
|
||
|
test('throw', () => {
|
||
|
return assert.rejects(async () => {
|
||
|
throw new Error('message')
|
||
|
}, { name: 'Error', message: 'message' })
|
||
|
})
|
||
|
|
||
|
export { test }
|
||
|
|
||
|
import { runifmain } from './runifmain.js'
|
||
|
await runifmain(import.meta, async () => {
|
||
|
const stats = await test.run(consolereporter())
|
||
|
assert.equal(count, 4)
|
||
|
assert.equal(stats.success, 4)
|
||
|
assert.equal(stats.fail, 0)
|
||
|
})
|