Innovenergy_trunk/frontend/node_modules/testcafe/lib/live/controller.js

109 lines
13 KiB
JavaScript
Raw Permalink Normal View History

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const events_1 = __importDefault(require("events"));
const logger_1 = __importDefault(require("./logger"));
const file_watcher_1 = __importDefault(require("./file-watcher"));
const keyboard_observer_1 = __importDefault(require("./keyboard-observer"));
const types_1 = require("../errors/types");
const runtime_1 = require("../errors/runtime");
class LiveModeController extends events_1.default {
constructor(runner) {
super();
this.running = false;
this.restarting = false;
this.watchingPaused = false;
this.stopping = false;
this.logger = new logger_1.default();
this.runner = runner;
this.keyboardObserver = this._createKeyboardObserver();
this.fileWatcher = this._createFileWatcher();
}
_isTestFilesNotFoundError(err) {
// @ts-ignore
return runtime_1.GeneralError.isGeneralError(err) && err.code === types_1.RUNTIME_ERRORS.testFilesNotFound;
}
init(files) {
this.keyboardObserver.push(this);
this._initFileWatching(files);
this._setRunning();
return Promise.resolve()
.then(() => this.logger.writeIntroMessage(files));
}
dispose() {
this.fileWatcher.stop();
this.keyboardObserver.remove(this);
}
runTests(sourceChanged) {
if (this.watchingPaused || this.running)
return Promise.resolve();
this._setRunning();
this.logger.writeRunTestsMessage(sourceChanged);
return this.runner.runTests();
}
onTestRunDone(err) {
this.running = false;
if (this._isTestFilesNotFoundError(err))
throw err;
if (!this.restarting)
this.logger.writeTestsFinishedMessage();
if (err)
this.logger.err(err);
}
toggleWatching() {
this.watchingPaused = !this.watchingPaused;
this.logger.writeToggleWatchingMessage(!this.watchingPaused);
}
stop() {
if (!this.runner || !this.running) {
this.logger.writeNothingToStopMessage();
return Promise.resolve();
}
this.logger.writeStopRunningMessage();
return this.runner.suspend()
.then(() => {
this.restarting = false;
this.running = false;
});
}
restart() {
if (this.restarting || this.watchingPaused)
return Promise.resolve();
this.restarting = true;
if (this.running) {
return this.stop()
.then(() => this.logger.writeTestsFinishedMessage())
.then(() => this.runTests());
}
return this.runTests();
}
exit() {
if (this.stopping)
return Promise.resolve();
this.logger.writeExitMessage();
this.stopping = true;
return this.runner ? this.runner.exit() : Promise.resolve();
}
addFileToWatches(filename) {
this.fileWatcher.addFile(this, filename);
}
_createFileWatcher() {
return new file_watcher_1.default();
}
_createKeyboardObserver() {
return new keyboard_observer_1.default();
}
_initFileWatching(files) {
files.forEach(file => this.addFileToWatches(file));
}
_setRunning() {
this.running = true;
this.restarting = false;
this.stopping = false;
}
}
exports.default = LiveModeController;
module.exports = exports.default;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saXZlL2NvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxvREFBa0M7QUFDbEMsc0RBQThCO0FBQzlCLGtFQUF5QztBQUN6Qyw0RUFBZ0U7QUFFaEUsMkNBQWlEO0FBQ2pELCtDQUFpRDtBQUdqRCxNQUFNLGtCQUFtQixTQUFRLGdCQUFZO0lBZXpDLFlBQW9CLE1BQXNCO1FBQ3RDLEtBQUssRUFBRSxDQUFDO1FBRVIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGdCQUFNLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUVyQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDdkQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBakJPLHlCQUF5QixDQUFFLEdBQVU7UUFDekMsYUFBYTtRQUNiLE9BQU8sc0JBQVksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxzQkFBYyxDQUFDLGlCQUFpQixDQUFDO0lBQzdGLENBQUM7SUFnQk0sSUFBSSxDQUFFLEtBQWU7UUFDeEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVqQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRW5C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