import * as cp from 'child_process' import * as path from 'path' import * as process from 'process' import {expect, test} from '@jest/globals' import {wait} from '../src/wait' test('throws invalid number', async () => { const input = parseInt('foo', 10) await expect(wait(input)).rejects.toThrow('milliseconds not a number') }) test('wait 500 ms', async () => { const start = new Date() await wait(500) const end = new Date() const delta = Math.abs(end.getTime() - start.getTime()) expect(delta).toBeGreaterThan(450) }) // shows how the runner will run a javascript action with env / stdout protocol test('test runs', () => { process.env['INPUT_MILLISECONDS'] = '500' const np = process.execPath const ip = path.join(__dirname, '..', 'lib', 'main.js') const options: cp.ExecFileSyncOptions = { env: process.env } console.log(cp.execFileSync(np, [ip], options).toString()) })