folio
Version:
A customizable test framework to build your own test frameworks. Foundation for the [Playwright test runner](https://github.com/microsoft/playwright-test).
80 lines • 2.69 kB
JavaScript
"use strict";
/**
* Copyright Microsoft Corporation. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.TestModifier = void 0;
class TestModifier {
constructor() {
this._skipped = false;
this._slow = false;
this._expectedStatus = 'passed';
this._annotations = [];
this._timeout = 0;
}
setTimeout(timeout) {
this._timeout = timeout;
}
slow(arg, description) {
const processed = this._interpretCondition(arg, description);
if (processed.condition) {
this._slow = true;
this._timeout *= 3;
this._annotations.push({
type: 'slow',
description: processed.description
});
}
}
skip(arg, description) {
const processed = this._interpretCondition(arg, description);
if (processed.condition) {
this._skipped = true;
this._annotations.push({
type: 'skip',
description: processed.description
});
}
}
fixme(arg, description) {
const processed = this._interpretCondition(arg, description);
if (processed.condition) {
this._skipped = true;
this._annotations.push({
type: 'fixme',
description: processed.description
});
}
}
fail(arg, description) {
const processed = this._interpretCondition(arg, description);
if (processed.condition) {
this._expectedStatus = 'failed';
this._annotations.push({
type: 'fail',
description: processed.description
});
}
}
_interpretCondition(arg, description) {
if (arg === undefined && description === undefined)
return { condition: true };
if (typeof arg === 'string')
return { condition: true, description: arg };
return { condition: !!arg, description };
}
}
exports.TestModifier = TestModifier;
//# sourceMappingURL=testModifier.js.map