@testplane/webdriverio
Version:
Next-gen browser and mobile automation test framework for Node.js
22 lines (21 loc) • 2.41 kB
JavaScript
// src/scripts/elementContains.ts
function elementContains(scope, element) {
function isInDocument(element2) {
let currentElement = element2;
while (currentElement && currentElement.parentNode) {
if (currentElement.parentNode === scope || currentElement.parentNode.host === scope) {
return true;
} else if (currentElement.parentNode instanceof DocumentFragment) {
currentElement = currentElement.parentNode.host;
} else {
currentElement = currentElement.parentNode;
}
}
return false;
}
return isInDocument(element);
}
export {
elementContains as default
};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3NjcmlwdHMvZWxlbWVudENvbnRhaW5zLnRzIl0sCiAgInNvdXJjZVJvb3QiOiAiL1VzZXJzL2tyb21hbjUxMi9nZW1pbmktdGVzdGluZy93ZWJkcml2ZXJpby9wYWNrYWdlcy93ZWJkcml2ZXJpbyIsCiAgInNvdXJjZXNDb250ZW50IjogWyJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBlbGVtZW50Q29udGFpbnMgKFxuICAgIHNjb3BlOiBIVE1MRWxlbWVudCxcbiAgICBlbGVtZW50OiBIVE1MRWxlbWVudFxuKSB7XG4gICAgZnVuY3Rpb24gaXNJbkRvY3VtZW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XG4gICAgICAgIGxldCBjdXJyZW50RWxlbWVudDogSFRNTEVsZW1lbnQgfCBQYXJlbnROb2RlID0gZWxlbWVudFxuICAgICAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQgJiYgY3VycmVudEVsZW1lbnQucGFyZW50Tm9kZSkge1xuICAgICAgICAgICAgaWYgKGN1cnJlbnRFbGVtZW50LnBhcmVudE5vZGUgPT09IHNjb3BlIHx8IChjdXJyZW50RWxlbWVudC5wYXJlbnROb2RlIGFzIFNoYWRvd1Jvb3QpLmhvc3QgPT09IHNjb3BlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEVsZW1lbnQucGFyZW50Tm9kZSBpbnN0YW5jZW9mIERvY3VtZW50RnJhZ21lbnQpIHtcbiAgICAgICAgICAgICAgICBjdXJyZW50RWxlbWVudCA9IChjdXJyZW50RWxlbWVudC5wYXJlbnROb2RlIGFzIFNoYWRvd1Jvb3QpLmhvc3RcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY3VycmVudEVsZW1lbnQgPSBjdXJyZW50RWxlbWVudC5wYXJlbnROb2RlXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgcmV0dXJuIGlzSW5Eb2N1bWVudChlbGVtZW50KVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQUFlLFNBQVIsZ0JBQ0gsT0FDQSxTQUNGO0FBQ0UsV0FBUyxhQUFhQSxVQUFzQjtBQUN4QyxRQUFJLGlCQUEyQ0E7QUFDL0MsV0FBTyxrQkFBa0IsZUFBZSxZQUFZO0FBQ2hELFVBQUksZUFBZSxlQUFlLFNBQVUsZUFBZSxXQUEwQixTQUFTLE9BQU87QUFDakcsZUFBTztBQUFBLE1BQ1gsV0FBVyxlQUFlLHNCQUFzQixrQkFBa0I7QUFDOUQseUJBQWtCLGVBQWUsV0FBMEI7QUFBQSxNQUMvRCxPQUFPO0FBQ0gseUJBQWlCLGVBQWU7QUFBQSxNQUNwQztBQUFBLElBQ0o7QUFDQSxXQUFPO0FBQUEsRUFDWDtBQUVBLFNBQU8sYUFBYSxPQUFPO0FBQy9COyIsCiAgIm5hbWVzIjogWyJlbGVtZW50Il0KfQo=