Bug 1760222 - Test cases for Ignore unchanged property value for scroll-linked effect detector. r=botond

Differential Revision: https://phabricator.services.mozilla.com/D141458
This commit is contained in:
Hiroyuki Ikezoe 2022-03-24 02:20:47 +00:00
parent da3af8126d
commit f22d3daeb2

View File

@ -75,6 +75,48 @@ async function test() {
`We are in same time frame where we got a scroll event at ${eventTimeStamp}`);
ok(!SpecialPowers.DOMWindowUtils.hasScrollLinkedEffect,
"No scroll-linked effect found");
// Setup a non-effective scroll-linked effect callback.
scrollEventPromise = new Promise(resolve => {
window.addEventListener("scroll", () => {
target.style.top = getComputedStyle(target).top;
eventTimeStamp = document.timeline.currentTime;
resolve();
}, { once: true });
});
await promiseScrollAndEvent();
is(eventTimeStamp, document.timeline.currentTime,
`We are in same time frame where we got a scroll event at ${eventTimeStamp}`);
ok(!SpecialPowers.DOMWindowUtils.hasScrollLinkedEffect,
"No scroll-linked effect found");
// Setup a callback to remove the style.
scrollEventPromise = new Promise(resolve => {
window.addEventListener("scroll", () => {
target.style.top = "";
eventTimeStamp = document.timeline.currentTime;
resolve();
}, { once: true });
});
await promiseScrollAndEvent();
is(eventTimeStamp, document.timeline.currentTime,
`We are in same time frame where we got a scroll event at ${eventTimeStamp}`);
ok(SpecialPowers.DOMWindowUtils.hasScrollLinkedEffect,
"Scroll-linked effect found");
// Setup a no-op callback.
scrollEventPromise = new Promise(resolve => {
window.addEventListener("scroll", () => {
target.style.top = "";
eventTimeStamp = document.timeline.currentTime;
resolve();
}, { once: true });
});
await promiseScrollAndEvent();
is(eventTimeStamp, document.timeline.currentTime,
`We are in same time frame where we got a scroll event at ${eventTimeStamp}`);
ok(!SpecialPowers.DOMWindowUtils.hasScrollLinkedEffect,
"No scroll-linked effect found this time");
}
waitUntilApzStable()