skutter
Version:
Skutter: Opinionated BDD Browser based test framework
28 lines (27 loc) • 1.18 kB
JavaScript
;
const base_1 = require("./base");
const page_element_searcher_1 = require("./page-element-searcher");
class Container extends base_1.Base {
constructor(name, boundarySelector, contents, type = Container.name) {
super(name, boundarySelector, type);
this.contents = {};
this.contents = contents;
}
find(target, throwIfNotFound = false) {
return page_element_searcher_1.PageElementSearcher.find(this.contents, target, throwIfNotFound);
}
findBack(stack, target, throwIfNotFound = false) {
console.log("[Container].[findBack] Finding back...");
page_element_searcher_1.PageElementSearcher.rewindStack(stack, target, throwIfNotFound);
let topItem = stack.topItem;
if (!topItem) {
if (throwIfNotFound) {
throw new Error("[Container].[FindBack] after rewinding stack, no item matching target was found.");
}
return null;
}
let definition = stack.topItem.definition;
return page_element_searcher_1.PageElementSearcher.find(definition.contents, target, throwIfNotFound);
}
}
exports.Container = Container;