Bug 1576234 [wpt PR 18643] - [Longtasks] Add microtask test, a=testonly

Automatic update from web-platform-tests
[Longtasks] Add microtask test

Bug: 980581
Change-Id: I3756836d5d865e7d68530f515a310bf925229148
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1769296
Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
Reviewed-by: Timothy Dresser <tdresser@chromium.org>
Cr-Commit-Position: refs/heads/master@{#691181}

--

wpt-commits: 716d242be4ecb00656a5c8c59086675211e9e740
wpt-pr: 18643
This commit is contained in:
Nicolás Peña Moreno 2019-09-02 12:24:20 +00:00 коммит произвёл moz-wptsync-bot
Родитель cbefc23f7c
Коммит 9eeec0473f
1 изменённых файлов: 29 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,29 @@
async_test(function (t) {
if (typeof PerformanceLongTaskTiming === 'undefined') {
assert_unreached("Longtasks are not supported.");
t.done();
}
new PerformanceObserver(
t.step_func_done(entryList => {
const entries = entryList.getEntries();
assert_equals(entries.length, 1,
'Exactly one entry is expected.');
const longtask = entries[0];
assert_equals(longtask.entryType, 'longtask');
assert_equals(longtask.name, 'self');
assert_greater_than(longtask.duration, 50);
assert_greater_than_equal(longtask.startTime, 0);
const currentTime = performance.now();
assert_less_than_equal(longtask.startTime, currentTime);
t.done();
})
).observe({entryTypes: ['longtask']});
window.onload = () => {
/* Generate a slow microtask */
Promise.resolve().then(() => {
const begin = window.performance.now();
while (window.performance.now() < begin + 60);
});
};
}, 'A short task followed by a long microtask is observable.');