testcafe
Version:
Automated browser testing for the modern web development stack.
47 lines • 6.24 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const type_1 = __importDefault(require("./type"));
const base_1 = __importDefault(require("./base"));
const options_1 = require("./options");
const runtime_1 = require("../../errors/runtime");
const test_run_1 = require("../../errors/test-run");
const execute_js_expression_1 = __importDefault(require("../execute-js-expression"));
const utils_1 = require("./utils");
const argument_1 = require("./validations/argument");
// Initializers
function initAssertionOptions(name, val) {
return new options_1.AssertionOptions(val, true);
}
//Initializers
function initAssertionParameter(name, val, { skipVisibilityCheck, testRun }) {
try {
if (utils_1.isJSExpression(val))
val = execute_js_expression_1.default(val.value, testRun, { skipVisibilityCheck });
return val;
}
catch (err) {
throw new test_run_1.AssertionExecutableArgumentError(name, val.value, err, err instanceof runtime_1.APIError);
}
}
// Commands
class AssertionCommand extends base_1.default {
constructor(obj, testRun) {
super(obj, testRun, type_1.default.assertion);
}
_getAssignableProperties() {
return [
{ name: 'assertionType', type: argument_1.nonEmptyStringArgument, required: true },
{ name: 'actual', init: initAssertionParameter, defaultValue: void 0 },
{ name: 'expected', init: initAssertionParameter, defaultValue: void 0 },
{ name: 'expected2', init: initAssertionParameter, defaultValue: void 0 },
{ name: 'message', type: argument_1.stringArgument, defaultValue: null },
{ name: 'options', type: argument_1.actionOptions, init: initAssertionOptions, required: true }
];
}
}
exports.default = AssertionCommand;
module.exports = exports.default;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Rlc3QtcnVuL2NvbW1hbmRzL2Fzc2VydGlvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGtEQUEwQjtBQUMxQixrREFBaUM7QUFDakMsdUNBQTZDO0FBQzdDLGtEQUFnRDtBQUNoRCxvREFBeUU7QUFDekUscUZBQTJEO0FBQzNELG1DQUF5QztBQUV6QyxxREFBK0Y7QUFFL0YsZUFBZTtBQUNmLFNBQVMsb0JBQW9CLENBQUUsSUFBSSxFQUFFLEdBQUc7SUFDcEMsT0FBTyxJQUFJLDBCQUFnQixDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBRUQsY0FBYztBQUNkLFNBQVMsc0JBQXNCLENBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFLG1CQUFtQixFQUFFLE9BQU8sRUFBRTtJQUN4RSxJQUFJO1FBQ0EsSUFBSSxzQkFBYyxDQUFDLEdBQUcsQ0FBQztZQUNuQixHQUFHLEdBQUcsK0JBQW1CLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUM7UUFFM0UsT0FBTyxHQUFHLENBQUM7S0FDZDtJQUNELE9BQU8sR0FBRyxFQUFFO1FBQ1IsTUFBTSxJQUFJLDJDQUFnQyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLFlBQVksa0JBQVEsQ0FBQyxDQUFDO0tBQzdGO0FBQ0wsQ0FBQztBQUVELFdBQVc7QUFDWCxNQUFxQixnQkFBaUIsU0FBUSxjQUFXO0lBQ3JELFlBQWEsR0FBRyxFQUFFLE9BQU87UUFDckIsS0FBSyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsY0FBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCx3QkFBd0I7UUFDcEIsT0FBTztZQUNILEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsaUNBQXNCLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtZQUN2RSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLHNCQUFzQixFQUFFLFlBQVksRUFBRSxLQUFLLENBQUMsRUFBRTtZQUN0RSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLHNCQUFzQixFQUFFLFlBQVksRUFBRSxLQUFLLENBQUMsRUFBRTtZQUN4RSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLHNCQUFzQixFQUFFLFlBQVksRUFBRSxLQUFLLENBQUMsRUFBRTtZQUN6RSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLHlCQUFjLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRTtZQUM3RCxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLHdCQUFhLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7U0FDdkYsQ0FBQztJQUNOLENBQUM7Q0FDSjtBQWZELG1DQWVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFRZUEUgZnJvbSAnLi90eXBlJztcbmltcG9ydCBDb21tYW5kQmFzZSBmcm9tICcuL2Jhc2UnO1xuaW1wb3J0IHsgQXNzZXJ0aW9uT3B0aW9ucyB9IGZyb20gJy4vb3B0aW9ucyc7XG5pbXBvcnQgeyBBUElFcnJvciB9IGZyb20gJy4uLy4uL2Vycm9ycy9ydW50aW1lJztcbmltcG9ydCB7IEFzc2VydGlvbkV4ZWN1dGFibGVBcmd1bWVudEVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3JzL3Rlc3QtcnVuJztcbmltcG9ydCBleGVjdXRlSnNFeHByZXNzaW9uIGZyb20gJy4uL2V4ZWN1dGUtanMtZXhwcmVzc2lvbic7XG5pbXBvcnQgeyBpc0pTRXhwcmVzc2lvbiB9IGZyb20gJy4vdXRpbHMnO1xuXG5pbXBvcnQgeyBzdHJpbmdBcmd1bWVudCwgYWN0aW9uT3B0aW9ucywgbm9uRW1wdHlTdHJpbmdBcmd1bWVudCB9IGZyb20gJy4vdmFsaWRhdGlvbnMvYXJndW1lbnQnO1xuXG4vLyBJbml0aWFsaXplcnNcbmZ1bmN0aW9uIGluaXRBc3NlcnRpb25PcHRpb25zIChuYW1lLCB2YWwpIHtcbiAgICByZXR1cm4gbmV3IEFzc2VydGlvbk9wdGlvbnModmFsLCB0cnVlKTtcbn1cblxuLy9Jbml0aWFsaXplcnNcbmZ1bmN0aW9uIGluaXRBc3NlcnRpb25QYXJhbWV0ZXIgKG5hbWUsIHZhbCwgeyBza2lwVmlzaWJpbGl0eUNoZWNrLCB0ZXN0UnVuIH0pIHtcbiAgICB0cnkge1xuICAgICAgICBpZiAoaXNKU0V4cHJlc3Npb24odmFsKSlcbiAgICAgICAgICAgIHZhbCA9IGV4ZWN1dGVKc0V4cHJlc3Npb24odmFsLnZhbHVlLCB0ZXN0UnVuLCB7IHNraXBWaXNpYmlsaXR5Q2hlY2sgfSk7XG5cbiAgICAgICAgcmV0dXJuIHZhbDtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgICB0aHJvdyBuZXcgQXNzZXJ0aW9uRXhlY3V0YWJsZUFyZ3VtZW50RXJyb3IobmFtZSwgdmFsLnZhbHVlLCBlcnIsIGVyciBpbnN0YW5jZW9mIEFQSUVycm9yKTtcbiAgICB9XG59XG5cbi8vIENvbW1hbmRzXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBc3NlcnRpb25Db21tYW5kIGV4dGVuZHMgQ29tbWFuZEJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChvYmosIHRlc3RSdW4pIHtcbiAgICAgICAgc3VwZXIob2JqLCB0ZXN0UnVuLCBUWVBFLmFzc2VydGlvbik7XG4gICAgfVxuXG4gICAgX2dldEFzc2lnbmFibGVQcm9wZXJ0aWVzICgpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHsgbmFtZTogJ2Fzc2VydGlvblR5cGUnLCB0eXBlOiBub25FbXB0eVN0cmluZ0FyZ3VtZW50LCByZXF1aXJlZDogdHJ1ZSB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnYWN0dWFsJywgaW5pdDogaW5pdEFzc2VydGlvblBhcmFtZXRlciwgZGVmYXVsdFZhbHVlOiB2b2lkIDAgfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ2V4cGVjdGVkJywgaW5pdDogaW5pdEFzc2VydGlvblBhcmFtZXRlciwgZGVmYXVsdFZhbHVlOiB2b2lkIDAgfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ2V4cGVjdGVkMicsIGluaXQ6IGluaXRBc3NlcnRpb25QYXJhbWV0ZXIsIGRlZmF1bHRWYWx1ZTogdm9pZCAwIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdtZXNzYWdlJywgdHlwZTogc3RyaW5nQXJndW1lbnQsIGRlZmF1bHRWYWx1ZTogbnVsbCB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnb3B0aW9ucycsIHR5cGU6IGFjdGlvbk9wdGlvbnMsIGluaXQ6IGluaXRBc3NlcnRpb25PcHRpb25zLCByZXF1aXJlZDogdHJ1ZSB9XG4gICAgICAgIF07XG4gICAgfVxufVxuIl19