import { define, ScriptLine } from "./types.js" export type HasOutputContains = { scriptOutputContains(script: ScriptLine, substring: string): ScriptLine } export const cmdHasOutputContains = { bash: define({ scriptOutputContains: (script, substring) => { return `(${script}) | grep ${substring} || (echo "Expected output to contain ${substring}" && exit 1)` }, }), fish: define({ scriptOutputContains: (script, substring) => { return `begin; ${script}; end | grep ${substring}; or echo "Expected output to contain ${substring}" && exit 1` }, }), powershell: define({ scriptOutputContains: (script, substring) => { const inner: string = `${script} | Select-String ${substring}` return `$($__out__ = $(${inner}); if ($__out__ -eq $null) { exit 1 } else { $__out__ })` }, }), }