Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Tools / GardeningServer / lib / network-simulator.html
index 9583bdc..e20bbb6 100644 (file)
@@ -44,14 +44,14 @@ NetworkSimulator.prototype.runTest = function(testCase) {
   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 = {};
@@ -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() {
       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>