blob: 5ef7a951b420a9efac659c61101229c909e5b039 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
// Asserts that the anchored element is at the top/bottom/left/right of the
// anchor.
function assert_fallback_position(anchored, anchor, direction) {
let anchoredRect = anchored.getBoundingClientRect();
let anchorRect = anchor.getBoundingClientRect();
let message = `Anchored element should be at the ${direction} of anchor`;
switch (direction) {
case 'top':
assert_equals(anchoredRect.bottom, anchorRect.top, message);
return;
case 'bottom':
assert_equals(anchoredRect.top, anchorRect.bottom, message);
return;
case 'left':
assert_equals(anchoredRect.right, anchorRect.left, message);
return;
case 'right':
assert_equals(anchoredRect.left, anchorRect.right, message);
return;
default:
assert_unreached('unsupported direction');
}
}
async function waitUntilNextAnimationFrame() {
return new Promise(resolve => requestAnimationFrame(resolve));
}
|