Chromium Code Reviews| Index: Tools/GardeningServer/lib/network-simulator.html |
| diff --git a/Tools/GardeningServer/lib/network-simulator.html b/Tools/GardeningServer/lib/network-simulator.html |
| index 9583bdc846b0f30f2507d08d90b38109e8fa5268..e20bbb6277c6e5933743253dd995ec0b79a9c279 100644 |
| --- a/Tools/GardeningServer/lib/network-simulator.html |
| +++ b/Tools/GardeningServer/lib/network-simulator.html |
| @@ -44,14 +44,14 @@ NetworkSimulator.prototype.runTest = function(testCase) { |
| NetworkSimulator._testInProgress = true; |
| var self = this; |
| - return new Promise(function(resolve, reject) { |
|
Jeffrey Yasskin
2014/09/03 22:11:50
I think it's an antipattern to use the resolve/rej
|
| - 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 = {}; |
| @@ -63,23 +63,20 @@ NetworkSimulator.prototype.runTest = function(testCase) { |
| }; |
| }; |
| }); |
| - |
| - 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() { |
|
Jeffrey Yasskin
2014/09/03 22:11:50
I'm not sure we need the resolvePromises() step an
|
| 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); |
|
Jeffrey Yasskin
2014/09/03 22:11:50
I'm not sure if we want to throw a string here or
ojan
2014/09/04 18:26:53
I think this is fine for now. Or, we could just do
Jeffrey Yasskin
2014/09/04 18:48:11
Two _assert calls doesn't help: Chai uses exceptio
|
| + }) |
| + }).then(this._done, this._done); |
|
Jeffrey Yasskin
2014/09/03 22:11:50
Mocha actually supports returning promises from th
ojan
2014/09/04 18:26:53
sgtm
Jeffrey Yasskin
2014/09/04 18:48:11
After experimenting a bit, it looks safer to keep
|
| }; |
| </script> |