mirror of
https://github.com/cypress-io/cypress.git
synced 2026-01-07 06:59:49 -06:00
52 lines
956 B
JavaScript
52 lines
956 B
JavaScript
const _write = process.stdout.write
|
|
const _log = process.log
|
|
|
|
const restore = function () {
|
|
// restore to the originals
|
|
process.stdout.write = _write
|
|
process.log = _log
|
|
}
|
|
|
|
const stdout = function () {
|
|
const logs = []
|
|
|
|
// lazily backup write to enable injection
|
|
const { write } = process.stdout
|
|
const { log } = process
|
|
|
|
// electron adds a new process.log
|
|
// method for windows instead of process.stdout.write
|
|
// https://github.com/cypress-io/cypress/issues/977
|
|
if (log) {
|
|
process.log = function (str) {
|
|
logs.push(str)
|
|
|
|
// eslint-disable-next-line prefer-rest-params
|
|
return log.apply(this, arguments)
|
|
}
|
|
}
|
|
|
|
process.stdout.write = function (str) {
|
|
logs.push(str)
|
|
|
|
// eslint-disable-next-line prefer-rest-params
|
|
return write.apply(this, arguments)
|
|
}
|
|
|
|
return {
|
|
toString () {
|
|
return logs.join('')
|
|
},
|
|
|
|
data: logs,
|
|
|
|
restore,
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
stdout,
|
|
|
|
restore,
|
|
}
|