mirror of
https://github.com/classilla/tenfourfox.git
synced 2025-02-02 07:30:08 +00:00
58 lines
1.1 KiB
JavaScript
58 lines
1.1 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
// This test is designed to fail.
|
|
// It ensures that throwing an asynchronous error from add_task will
|
|
// fail the test.
|
|
|
|
var passedTests = 0;
|
|
|
|
function rejectWithTimeout(error = undefined) {
|
|
let deferred = Promise.defer();
|
|
executeSoon(function() {
|
|
ok(true, "we get here after a timeout");
|
|
deferred.reject(error);
|
|
});
|
|
return deferred.promise;
|
|
}
|
|
|
|
add_task(function failWithoutError() {
|
|
try {
|
|
yield rejectWithTimeout();
|
|
} finally {
|
|
++passedTests;
|
|
}
|
|
});
|
|
|
|
add_task(function failWithString() {
|
|
try {
|
|
yield rejectWithTimeout("Meaningless error");
|
|
} finally {
|
|
++passedTests;
|
|
}
|
|
});
|
|
|
|
add_task(function failWithoutInt() {
|
|
try {
|
|
yield rejectWithTimeout(42);
|
|
} finally {
|
|
++passedTests;
|
|
}
|
|
});
|
|
|
|
|
|
// This one should display a stack trace
|
|
add_task(function failWithError() {
|
|
try {
|
|
yield rejectWithTimeout(new Error("This is an error"));
|
|
} finally {
|
|
++passedTests;
|
|
}
|
|
});
|
|
|
|
add_task(function done() {
|
|
is(passedTests, 4, "Passed all tests");
|
|
});
|