post-task-run-order.any.js (786B)
1 // META: title=Scheduler: Tasks Run in Priority Order 2 // META: global=window,worker 3 4 promise_test(async t => { 5 const runOrder = []; 6 const schedule = (id, priority) => scheduler.postTask(() => { runOrder.push(id); }, {priority}); 7 8 // Post tasks in reverse priority order and expect they are run from highest 9 // to lowest priority. 10 const tasks = []; 11 tasks.push(schedule('B1', 'background')); 12 tasks.push(schedule('B2', 'background')); 13 tasks.push(schedule('UV1', 'user-visible')); 14 tasks.push(schedule('UV2', 'user-visible')); 15 tasks.push(schedule('UB1', 'user-blocking')); 16 tasks.push(schedule('UB2', 'user-blocking')); 17 18 await Promise.all(tasks); 19 20 assert_equals(runOrder.toString(),'UB1,UB2,UV1,UV2,B1,B2'); 21 }, 'Test scheduler.postTask task run in priority order');