22 lines
706 B
JavaScript
22 lines
706 B
JavaScript
// META: title=Scheduler: TaskController.setPriority and Task Order
|
|
// META: global=window,worker
|
|
'use strict';
|
|
|
|
promise_test(async t => {
|
|
const tasks = [];
|
|
const runOrder = [];
|
|
const taskControllers = [];
|
|
|
|
for (let i = 0; i < 5; i++) {
|
|
taskControllers.push(new TaskController({priority: 'background'}));
|
|
const signal = taskControllers[i].signal;
|
|
tasks.push(scheduler.postTask(() => { runOrder.push(i); }, {signal}));
|
|
}
|
|
|
|
taskControllers[2].setPriority('user-blocking');
|
|
assert_equals(taskControllers[2].signal.priority, 'user-blocking');
|
|
|
|
await Promise.all(tasks);
|
|
|
|
assert_equals(runOrder.toString(), '2,0,1,3,4');
|
|
}, 'Test TaskController.setPriority() affects task order.');
|