// 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; };