diff --git a/src/stdmock.ts b/src/stdmock.ts index d41e4f5..9ffe1b5 100644 --- a/src/stdmock.ts +++ b/src/stdmock.ts @@ -5,6 +5,7 @@ const create = (std: T) => (opts: {print?: boolea mock[std].start() mock[std].print = opts.print === true mock[std].stripColor = opts.stripColor !== false + if (ctx[std] as any !== undefined) return Object.defineProperty(ctx, std, { get: () => mock[std].output }) diff --git a/test/stdmock.test.ts b/test/stdmock.test.ts index 533e76b..25a1f91 100644 --- a/test/stdmock.test.ts +++ b/test/stdmock.test.ts @@ -85,4 +85,13 @@ describe('stdout', () => { console.log(chalk.red('foobar')) expect(output.stdout).to.contain(chalk.red('foobar')) }) + + fancy + .stdout() + .do(() => console.log('foo')) + .do(c => expect(c.stdout).to.equal('foo\n')) + .stdout() + .do(() => console.log('bar')) + .do(c => expect(c.stdout).to.equal('bar\n')) + .it('resets stdout') })