Index: LayoutTests/http/tests/resources/testharness-helpers.js |
diff --git a/LayoutTests/http/tests/resources/testharness-helpers.js b/LayoutTests/http/tests/resources/testharness-helpers.js |
index 4d7af1ff9ca77c85696f35368ff3a7a1c4b2480b..b71b2494ec6d427d2608a506df2740bc77b23c45 100644 |
--- a/LayoutTests/http/tests/resources/testharness-helpers.js |
+++ b/LayoutTests/http/tests/resources/testharness-helpers.js |
@@ -161,3 +161,23 @@ function stringifyDOMObject(object) |
} |
return JSON.stringify(deepCopy(object)); |
} |
+ |
+(function() { |
+ var promise_tests = Promise.resolve(); |
+ // Helper function to run promise tests one after the other. |
+ // TODO(ortuno): Remove once https://github.com/w3c/testharness.js/pull/115/files |
+ // gets through. |
+ function sequential_promise_test(func, name) { |
+ var test = async_test(name); |
+ promise_tests = promise_tests.then(function() { |
+ return test.step(func, test, test); |
+ }).then(function() { |
+ test.done(); |
+ }).catch(test.step_func(function(value) { |
+ // step_func catches the error again so the error doesn't propagate. |
+ throw value; |
+ })); |
+ } |
+ |
+ self.sequential_promise_test = sequential_promise_test; |
+})(); |