UNPKG

testcafe

Version:

Automated browser testing for the modern web development stack.

46 lines 5.26 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const tty_1 = __importDefault(require("tty")); const elegant_spinner_1 = __importDefault(require("elegant-spinner")); const log_update_async_hook_1 = __importDefault(require("log-update-async-hook")); const chalk_1 = __importDefault(require("chalk")); const is_ci_1 = __importDefault(require("is-ci")); // NOTE: To support piping, we use stderr as the log output // stream, while stdout is used for the report output. exports.default = { animation: null, isAnimated: tty_1.default.isatty(1) && !is_ci_1.default, showSpinner() { // NOTE: we can use the spinner only if stderr is a TTY and we are not in CI environment (e.g. TravisCI), // otherwise we can't repaint animation frames. Thanks https://github.com/sindresorhus/ora for insight. if (this.isAnimated) { const spinnerFrame = elegant_spinner_1.default(); this.animation = setInterval(() => { const frame = chalk_1.default.cyan(spinnerFrame()); log_update_async_hook_1.default.stderr(frame); }, 50); } }, hideSpinner(isExit) { if (this.animation) { clearInterval(this.animation); log_update_async_hook_1.default.stderr.clear(); if (isExit) log_update_async_hook_1.default.stderr.done(); this.animation = null; } }, write(text) { const isAnimating = !!this.animation; if (isAnimating) this.hideSpinner(); console.error(text); if (isAnimating) this.showSpinner(); } }; module.exports = exports.default; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaS9sb2cuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw4Q0FBc0I7QUFDdEIsc0VBQTZDO0FBQzdDLGtGQUE4QztBQUM5QyxrREFBMEI7QUFDMUIsa0RBQXlCO0FBRXpCLDJEQUEyRDtBQUMzRCxzREFBc0Q7QUFDdEQsa0JBQWU7SUFDWCxTQUFTLEVBQUcsSUFBSTtJQUNoQixVQUFVLEVBQUUsYUFBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQUk7SUFFbEMsV0FBVztRQUNQLHlHQUF5RztRQUN6Ryx1R0FBdUc7UUFDdkcsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2pCLE1BQU0sWUFBWSxHQUFHLHlCQUFjLEVBQUUsQ0FBQztZQUV0QyxJQUFJLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUU7Z0JBQzlCLE1BQU0sS0FBSyxHQUFHLGVBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztnQkFFekMsK0JBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ1Y7SUFDTCxDQUFDO0lBRUQsV0FBVyxDQUFFLE1BQU07UUFDZixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM5QiwrQkFBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUV6QixJQUFJLE1BQU07Z0JBQ04sK0JBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7WUFFNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7U0FDekI7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFFLElBQUk7UUFDUCxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUVyQyxJQUFJLFdBQVc7WUFDWCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFdkIsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVwQixJQUFJLFdBQVc7WUFDWCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDM0IsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHR5IGZyb20gJ3R0eSc7XG5pbXBvcnQgZWxlZ2FudFNwaW5uZXIgZnJvbSAnZWxlZ2FudC1zcGlubmVyJztcbmltcG9ydCBsb2dVcGRhdGUgZnJvbSAnbG9nLXVwZGF0ZS1hc3luYy1ob29rJztcbmltcG9ydCBjaGFsayBmcm9tICdjaGFsayc7XG5pbXBvcnQgaXNDSSBmcm9tICdpcy1jaSc7XG5cbi8vIE5PVEU6IFRvIHN1cHBvcnQgcGlwaW5nLCB3ZSB1c2Ugc3RkZXJyIGFzIHRoZSBsb2cgb3V0cHV0XG4vLyBzdHJlYW0sIHdoaWxlIHN0ZG91dCBpcyB1c2VkIGZvciB0aGUgcmVwb3J0IG91dHB1dC5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgICBhbmltYXRpb246ICBudWxsLFxuICAgIGlzQW5pbWF0ZWQ6IHR0eS5pc2F0dHkoMSkgJiYgIWlzQ0ksXG5cbiAgICBzaG93U3Bpbm5lciAoKSB7XG4gICAgICAgIC8vIE5PVEU6IHdlIGNhbiB1c2UgdGhlIHNwaW5uZXIgb25seSBpZiBzdGRlcnIgaXMgYSBUVFkgYW5kIHdlIGFyZSBub3QgaW4gQ0kgZW52aXJvbm1lbnQgKGUuZy4gVHJhdmlzQ0kpLFxuICAgICAgICAvLyBvdGhlcndpc2Ugd2UgY2FuJ3QgcmVwYWludCBhbmltYXRpb24gZnJhbWVzLiBUaGFua3MgaHR0cHM6Ly9naXRodWIuY29tL3NpbmRyZXNvcmh1cy9vcmEgZm9yIGluc2lnaHQuXG4gICAgICAgIGlmICh0aGlzLmlzQW5pbWF0ZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IHNwaW5uZXJGcmFtZSA9IGVsZWdhbnRTcGlubmVyKCk7XG5cbiAgICAgICAgICAgIHRoaXMuYW5pbWF0aW9uID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZyYW1lID0gY2hhbGsuY3lhbihzcGlubmVyRnJhbWUoKSk7XG5cbiAgICAgICAgICAgICAgICBsb2dVcGRhdGUuc3RkZXJyKGZyYW1lKTtcbiAgICAgICAgICAgIH0sIDUwKTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICBoaWRlU3Bpbm5lciAoaXNFeGl0KSB7XG4gICAgICAgIGlmICh0aGlzLmFuaW1hdGlvbikge1xuICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmFuaW1hdGlvbik7XG4gICAgICAgICAgICBsb2dVcGRhdGUuc3RkZXJyLmNsZWFyKCk7XG5cbiAgICAgICAgICAgIGlmIChpc0V4aXQpXG4gICAgICAgICAgICAgICAgbG9nVXBkYXRlLnN0ZGVyci5kb25lKCk7XG5cbiAgICAgICAgICAgIHRoaXMuYW5pbWF0aW9uID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICB3cml0ZSAodGV4dCkge1xuICAgICAgICBjb25zdCBpc0FuaW1hdGluZyA9ICEhdGhpcy5hbmltYXRpb247XG5cbiAgICAgICAgaWYgKGlzQW5pbWF0aW5nKVxuICAgICAgICAgICAgdGhpcy5oaWRlU3Bpbm5lcigpO1xuXG4gICAgICAgIGNvbnNvbGUuZXJyb3IodGV4dCk7XG5cbiAgICAgICAgaWYgKGlzQW5pbWF0aW5nKVxuICAgICAgICAgICAgdGhpcy5zaG93U3Bpbm5lcigpO1xuICAgIH1cbn07XG5cbiJdfQ==