import { promisify } from 'util' import * as cp from 'child_process' const exec = promisify(cp.exec) export const tests = [] tests.push(async ({ path, eq }) => { const { stdout } = await exec(`node ${path} discovery`) return eq(stdout.trim(), 'verydisco') }) tests.push(async ({ path, eq }) => { const { stdout } = await exec(`node ${path} "kiss cool"`) return eq(stdout.trim(), "sski olco") }) tests.push(async ({ path, eq }) => { const { stdout } = await exec(`node ${path} kiss cool`) return eq(stdout.trim(), "sski") }) tests.push(async ({ path, eq }) => { const { stdout } = await exec(`node ${path} "Node is awesome"`) return eq(stdout.trim(), "deNo si omeawes") }) tests.push(async ({ path, eq, randStr }) => { const tic = randStr(7) const tac = randStr(7) const { stdout } = await exec(`node ${path} "${tic}${tac}"`) return eq(stdout.trim(), `${tac}${tic}`) }) tests.push(async ({ path, eq, randStr }) => { const ying = randStr(8) const yang = randStr(7) const { stdout } = await exec(`node ${path} "${ying}${yang}"`) return eq(stdout.trim(), `${yang}${ying}`) }) tests.push(async ({ path, eq, randStr }) => { const tic = randStr(5) const tac = randStr(5) const ying = randStr(3) const yang = randStr(2) const { stdout } = await exec(`node ${path} "${tic}${tac} ${ying}${yang}"`) return eq(stdout.trim(), `${tac}${tic} ${yang}${ying}`) })