UNPKG

testcafe

Version:

Automated browser testing for the modern web development stack.

41 lines 5.75 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); class BoundaryValues { constructor(top = 0, right = 0, bottom = 0, left = 0) { this.top = top; this.right = right; this.bottom = bottom; this.left = left; } static create(v) { return new BoundaryValues(v.top, v.right, v.bottom, v.left); } add(d) { this.top += d.top; this.right += d.right; this.bottom += d.bottom; this.left += d.left; return this; } sub(d) { if ('top' in d) { this.top -= d.top; this.left -= d.left; } this.bottom -= d.bottom; this.right -= d.right; return this; } round(leftTopRound = Math.round, rightBottomRound = leftTopRound) { this.top = leftTopRound(this.top); this.right = rightBottomRound(this.right); this.bottom = rightBottomRound(this.bottom); this.left = leftTopRound(this.left); return this; } contains(point) { return point.x >= this.left && point.x <= this.right && point.y >= this.top && point.y <= this.bottom; } } exports.default = BoundaryValues; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm91bmRhcnktdmFsdWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb3JlL3V0aWxzL3ZhbHVlcy9ib3VuZGFyeS12YWx1ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFTQSxNQUFxQixjQUFjO0lBTS9CLFlBQW9CLEdBQUcsR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLENBQUMsRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFLElBQUksR0FBRyxDQUFDO1FBQ3hELElBQUksQ0FBQyxHQUFHLEdBQU0sR0FBRyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUksS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUssSUFBSSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxNQUFNLENBQUMsTUFBTSxDQUFFLENBQXFCO1FBQ3ZDLE9BQU8sSUFBSSxjQUFjLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFTSxHQUFHLENBQUUsQ0FBcUI7UUFDN0IsSUFBSSxDQUFDLEdBQUcsSUFBTyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxLQUFLLElBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDeEIsSUFBSSxDQUFDLElBQUksSUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDO1FBRXRCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxHQUFHLENBQUUsQ0FBaUQ7UUFDekQsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFO1lBQ1osSUFBSSxDQUFDLEdBQUcsSUFBSyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ25CLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQztTQUN2QjtRQUVELElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUN4QixJQUFJLENBQUMsS0FBSyxJQUFLLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFFdkIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLEtBQUssQ0FBRSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsR0FBRyxZQUFZO1FBQ3BFLElBQUksQ0FBQyxHQUFHLEdBQU0sWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsS0FBSyxHQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsTUFBTSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsSUFBSSxHQUFLLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdEMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLFFBQVEsQ0FBRSxLQUF5QjtRQUN0QyxPQUFPLEtBQUssQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUMxRyxDQUFDO0NBQ0o7QUFsREQsaUNBa0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEF4aXNWYWx1ZXMsIHsgUmlnaHRCb3R0b21WYWx1ZXMgfSBmcm9tICcuL2F4aXMtdmFsdWVzJztcblxuZXhwb3J0IGludGVyZmFjZSBCb3VuZGFyeVZhbHVlc0RhdGEge1xuICAgIHRvcDogbnVtYmVyO1xuICAgIHJpZ2h0OiBudW1iZXI7XG4gICAgYm90dG9tOiBudW1iZXI7XG4gICAgbGVmdDogbnVtYmVyO1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCb3VuZGFyeVZhbHVlcyBpbXBsZW1lbnRzIEJvdW5kYXJ5VmFsdWVzRGF0YSB7XG4gICAgcHVibGljIHRvcDogbnVtYmVyO1xuICAgIHB1YmxpYyByaWdodDogbnVtYmVyO1xuICAgIHB1YmxpYyBib3R0b206IG51bWJlcjtcbiAgICBwdWJsaWMgbGVmdDogbnVtYmVyO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yICh0b3AgPSAwLCByaWdodCA9IDAsIGJvdHRvbSA9IDAsIGxlZnQgPSAwKSB7XG4gICAgICAgIHRoaXMudG9wICAgID0gdG9wO1xuICAgICAgICB0aGlzLnJpZ2h0ICA9IHJpZ2h0O1xuICAgICAgICB0aGlzLmJvdHRvbSA9IGJvdHRvbTtcbiAgICAgICAgdGhpcy5sZWZ0ICAgPSBsZWZ0O1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgY3JlYXRlICh2OiBCb3VuZGFyeVZhbHVlc0RhdGEpOiBCb3VuZGFyeVZhbHVlcyB7XG4gICAgICAgIHJldHVybiBuZXcgQm91bmRhcnlWYWx1ZXModi50b3AsIHYucmlnaHQsIHYuYm90dG9tLCB2LmxlZnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhZGQgKGQ6IEJvdW5kYXJ5VmFsdWVzRGF0YSk6IHRoaXMge1xuICAgICAgICB0aGlzLnRvcCAgICArPSBkLnRvcDtcbiAgICAgICAgdGhpcy5yaWdodCAgKz0gZC5yaWdodDtcbiAgICAgICAgdGhpcy5ib3R0b20gKz0gZC5ib3R0b207XG4gICAgICAgIHRoaXMubGVmdCAgICs9IGQubGVmdDtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgc3ViIChkOiBCb3VuZGFyeVZhbHVlc0RhdGEgfCBSaWdodEJvdHRvbVZhbHVlczxudW1iZXI+KTogdGhpcyB7XG4gICAgICAgIGlmICgndG9wJyBpbiBkKSB7XG4gICAgICAgICAgICB0aGlzLnRvcCAgLT0gZC50b3A7XG4gICAgICAgICAgICB0aGlzLmxlZnQgLT0gZC5sZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5ib3R0b20gLT0gZC5ib3R0b207XG4gICAgICAgIHRoaXMucmlnaHQgIC09IGQucmlnaHQ7XG5cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHJvdW5kIChsZWZ0VG9wUm91bmQgPSBNYXRoLnJvdW5kLCByaWdodEJvdHRvbVJvdW5kID0gbGVmdFRvcFJvdW5kKTogdGhpcyB7XG4gICAgICAgIHRoaXMudG9wICAgID0gbGVmdFRvcFJvdW5kKHRoaXMudG9wKTtcbiAgICAgICAgdGhpcy5yaWdodCAgPSByaWdodEJvdHRvbVJvdW5kKHRoaXMucmlnaHQpO1xuICAgICAgICB0aGlzLmJvdHRvbSA9IHJpZ2h0Qm90dG9tUm91bmQodGhpcy5ib3R0b20pO1xuICAgICAgICB0aGlzLmxlZnQgICA9IGxlZnRUb3BSb3VuZCh0aGlzLmxlZnQpO1xuXG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb250YWlucyAocG9pbnQ6IEF4aXNWYWx1ZXM8bnVtYmVyPik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gcG9pbnQueCA+PSB0aGlzLmxlZnQgJiYgcG9pbnQueCA8PSB0aGlzLnJpZ2h0ICYmIHBvaW50LnkgPj0gdGhpcy50b3AgJiYgcG9pbnQueSA8PSB0aGlzLmJvdHRvbTtcbiAgICB9XG59XG4iXX0=