From ceabe229965b7bcf07e79ee1497617231e942201 Mon Sep 17 00:00:00 2001 From: Jeff Dickey <216188+jdxcode@users.noreply.github.com> Date: Sat, 27 Jan 2018 06:33:17 -0800 Subject: [PATCH] fix: allow resetting stdmock --- src/stdmock.ts | 1 + test/stdmock.test.ts | 9 +++++++++ 2 files changed, 10 insertions(+) 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') })