diff options
Diffstat (limited to 'packages/upgrade/test/utils.js')
-rw-r--r-- | packages/upgrade/test/utils.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/packages/upgrade/test/utils.js b/packages/upgrade/test/utils.js new file mode 100644 index 000000000..20063ec53 --- /dev/null +++ b/packages/upgrade/test/utils.js @@ -0,0 +1,32 @@ +import { before, beforeEach } from 'node:test'; +import { stripVTControlCharacters } from 'node:util'; +import { setStdout } from '../dist/index.js'; + +export function setup() { + const ctx = { messages: [] }; + before(() => { + setStdout( + Object.assign({}, process.stdout, { + write(buf) { + ctx.messages.push(stripVTControlCharacters(String(buf)).trim()); + return true; + }, + }), + ); + }); + beforeEach(() => { + ctx.messages = []; + }); + + return { + messages() { + return ctx.messages; + }, + length() { + return ctx.messages.length; + }, + hasMessage(content) { + return !!ctx.messages.find((msg) => msg.includes(content)); + }, + }; +} |