51 lines
1.3 KiB
JavaScript
51 lines
1.3 KiB
JavaScript
// TODO move to a test / lint suite?
|
|
oauth3._testPromise = function (PromiseA) {
|
|
var promise;
|
|
var x = 1;
|
|
|
|
// tests that this promise has all of the necessary api
|
|
promise = new PromiseA(function (resolve, reject) {
|
|
//console.log('x [2]', x);
|
|
if (x !== 1) {
|
|
throw new Error("bad promise, create not Synchronous [0]");
|
|
}
|
|
|
|
PromiseA.resolve().then(function () {
|
|
var promise2;
|
|
|
|
//console.log('x resolve', x);
|
|
if (x !== 2) {
|
|
throw new Error("bad promise, resolve not Asynchronous [1]");
|
|
}
|
|
|
|
promise2 = PromiseA.reject().then(reject, function () {
|
|
//console.log('x reject', x);
|
|
if (x !== 4) {
|
|
throw new Error("bad promise, reject not Asynchronous [2]");
|
|
}
|
|
|
|
if ('undefined' === typeof angular) {
|
|
throw new Error("[NOT AN ERROR] Dear angular users: ignore this error-handling test");
|
|
} else {
|
|
return PromiseA.reject(new Error("[NOT AN ERROR] ignore this error-handling test"));
|
|
}
|
|
});
|
|
|
|
x = 4;
|
|
|
|
return promise2;
|
|
}).catch(function (e) {
|
|
if (e.message.match('NOT AN ERROR')) {
|
|
resolve({ success: true });
|
|
} else {
|
|
reject(e);
|
|
}
|
|
});
|
|
|
|
x = 3;
|
|
});
|
|
|
|
x = 2;
|
|
return promise;
|
|
};
|