@sprucelabs/spruce-cli
Version:
Command line interface for building Spruce skills.
109 lines (108 loc) • 3.49 kB
TypeScript
import { SpruceTestResults, TestRunnerStatus } from './test.types';
export default class TestReporter {
private started;
private table?;
private bar;
private bottomLayout;
private testLog;
private errorLog?;
private errorLogItemGenerator;
private lastResults;
private updateInterval?;
private menu;
private statusBar;
private window;
private widgets;
private selectTestPopup?;
private topLayout;
private filterInput;
private filterPattern?;
private clearFilterPatternButton;
private isDebugging;
private watchMode;
private status;
private countDownTimeInterval?;
private cwd;
private orientation;
private handleStartStop?;
private handleRestart?;
private handleQuit?;
private handleRerunTestFile?;
private handleFilterChange?;
private handleOpenTestFile?;
private handleToggleDebug?;
private handleToggleRpTraining?;
private handletoggleStandardWatch?;
private handleToggleSmartWatch?;
private minWidth;
private isRpTraining;
private trainingTokenPopup?;
constructor(options?: TestReporterOptions);
setFilterPattern(pattern: string | undefined): void;
setIsDebugging(isDebugging: boolean): void;
setIsRpTraining(isRpTraining: boolean): void;
startCountdownTimer(durationSec: number): void;
stopCountdownTimer(): void;
setWatchMode(watchMode: WatchMode): void;
private setWatchLabel;
private setLabelStatus;
start(): Promise<void>;
private handleWindowResize;
private updateOrientation;
private dropInMenu;
setStatus(status: TestRunnerStatus): void;
private updateMenuLabels;
private handleMenuSelect;
private handleUpdateInterval;
private refreshResults;
private handleGlobalKeypress;
private dropInTestLog;
private handleClickTestLog;
askForTrainingToken(): Promise<void>;
private closeSelectTestPopup;
private dropInSelectTestPopup;
private openTestFile;
getFileForLine(row: number): string | undefined;
private dropInProgressBar;
private dropInFilterControls;
private dropInBottomLayout;
private dropInStatusBar;
private dropInTopLayout;
updateResults(results: SpruceTestResults): void;
private updateLogs;
private resultsToLogContents;
private dropInErrorLog;
private destroyErrorLog;
private updateProgressBar;
private generateProgressStats;
private generatePercentComplete;
private generatePercentPassing;
private getTotalTestFilesRun;
render(): void;
destroy(): Promise<void>;
reset(): void;
setStatusLabel(text: string): void;
appendError(message: string): void;
}
interface TestReporterOptions {
handleStartStop?: () => void;
handleRestart?: () => void;
handleQuit?: () => void;
onRequestOpenTestFile?: () => void;
handleRerunTestFile?: (fileName: string) => void;
handleOpenTestFile?: (fileName: string) => void;
handleFilterPatternChange?: (pattern?: string) => void;
handleToggleDebug?: () => void;
handletoggleStandardWatch?: () => void;
handleToggleSmartWatch?: () => void;
handleToggleRpTraining?: () => void;
filterPattern?: string;
isDebugging?: boolean;
isRpTraining?: boolean;
watchMode?: WatchMode;
status?: TestRunnerStatus;
cwd?: string;
}
export type TestReporterOrientation = 'landscape' | 'portrait';
export type WatchMode = 'off' | 'standard' | 'smart';
export {};