NetworkSimulator._testInProgress = true;
var self = this;
- return new Promise(function(resolve, reject) {
- var realNet = window.net;
+ var realNet = window.net;
- function reset() {
- window.net = realNet;
- NetworkSimulator._testInProgress = false;
- }
+ function reset() {
+ window.net = realNet;
+ NetworkSimulator._testInProgress = false;
+ }
+ return Promise.resolve().then(function() {
// All net.* methods should return promises. This watches all
// promises generated by test-overridden methods.
window.net = {};
};
};
});
-
- try {
- testCase();
- } catch(e) {
- // Make sure errors thrown in the test case don't leave window.net in a bad state.
- reset();
- self._assert(false, "Test case threw an error:" + e);
- }
-
- self.resolvePromises().then(function() {
+ }).then(function() {
+ return testCase();
+ }).catch(function(e) {
+ // Make sure errors thrown in the test case don't leave window.net in a bad state.
+ reset();
+ throw e;
+ }).then(function() {
+ return self.resolvePromises().then(function() {
reset();
self._assert(window.net == realNet);
- resolve();
}).catch(function(e) {
reset();
- self._assert(false, "Failed to finish test: " + e);
- });
- });
+ self._assert(false, "Failed to finish test:" + e);
+ })
+ }).then(this._done, this._done);
};
</script>