mirror of
https://github.com/roytam1/palemoon27.git
synced 2026-06-02 14:41:16 +00:00
59 lines
1.3 KiB
JavaScript
59 lines
1.3 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
/**
|
|
* Test that job scheduler orders the jobs correctly.
|
|
*/
|
|
|
|
let { JobScheduler } = devtools.require("devtools/server/actors/tracer");
|
|
|
|
function run_test()
|
|
{
|
|
do_test_pending();
|
|
|
|
test_in_order();
|
|
test_shuffled();
|
|
|
|
do_timeout(0, do_test_finished);
|
|
}
|
|
|
|
function test_in_order() {
|
|
let jobScheduler = new JobScheduler();
|
|
let testArray = [0];
|
|
|
|
let first = jobScheduler.schedule();
|
|
let second = jobScheduler.schedule();
|
|
let third = jobScheduler.schedule();
|
|
|
|
first(() => testArray.push(1));
|
|
second(() => testArray.push(2));
|
|
third(() => testArray.push(3));
|
|
|
|
do_timeout(0, () => {
|
|
do_check_eq(testArray[0], 0);
|
|
do_check_eq(testArray[1], 1);
|
|
do_check_eq(testArray[2], 2);
|
|
do_check_eq(testArray[3], 3);
|
|
});
|
|
}
|
|
|
|
function test_shuffled() {
|
|
let jobScheduler = new JobScheduler();
|
|
let testArray = [0];
|
|
|
|
let first = jobScheduler.schedule();
|
|
let second = jobScheduler.schedule();
|
|
let third = jobScheduler.schedule();
|
|
|
|
third(() => testArray.push(3));
|
|
first(() => testArray.push(1));
|
|
second(() => testArray.push(2));
|
|
|
|
do_timeout(0, () => {
|
|
do_check_eq(testArray[0], 0);
|
|
do_check_eq(testArray[1], 1);
|
|
do_check_eq(testArray[2], 2);
|
|
do_check_eq(testArray[3], 3);
|
|
});
|
|
}
|