alsatian
Version:
TypeScript and JavaScript testing framework for beautiful and readable tests
44 lines • 1.75 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const errors_1 = require("../errors");
const test_outcome_1 = require("./test-outcome");
const stringification_1 = require("../stringification");
const log_1 = require("../maintenance/log");
class TestCaseResult {
constructor(testResults, args, error = null) {
this.testResults = testResults;
this.args = args;
this.error = error;
}
get logs() {
const filePath = this.testResults.fixtureResult.fixture.filePath.replace(/\//g, "\\");
const functionName = this.testResults.fixtureResult.fixture.fixture.constructor.name +
"." +
this.testResults.test.key;
return log_1.Logger.LOGS.filter(x => x.stack.some(y => y.filePath === filePath && y.functionName === functionName));
}
get outcome() {
if (this.error) {
if (this.error instanceof errors_1.MatchError) {
return test_outcome_1.TestOutcome.Fail;
}
return test_outcome_1.TestOutcome.Error;
}
if (this.testResults.test.ignored) {
return test_outcome_1.TestOutcome.Skip;
}
return test_outcome_1.TestOutcome.Pass;
}
get description() {
const fixture = this.testResults.fixtureResult.fixture;
const test = this.testResults.test;
const title = `${fixture.description} > ${test.description}`;
if (this.args.length === 0) {
return title;
}
const formattedArguments = this.args.map(stringification_1.stringify).join(", ");
return `${title} ( ${formattedArguments} )`;
}
}
exports.TestCaseResult = TestCaseResult;
//# sourceMappingURL=test-case-result.js.map
;