Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(132)

Side by Side Diff: LayoutTests/http/tests/resources/testharness-helpers.js

Issue 647493002: Move promise_test and assert_promise_rejects out of worker-test-harness. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@geofencing_serviceworker
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 /*
2 * testharness-helpers contains various useful extensions to testharness.js to
3 * allow them to be used accross multiple tests before they have been
jsbell 2014/10/09 18:46:06 typo: accross -> across
4 * upstreamed.
5 */
6
7 // 'promise_test' is a new kind of testharness test that handles some
8 // boilerplate for testing with promises.
9 function promise_test(func, name, properties) {
10 properties = properties || {};
11 var test = async_test(name, properties);
12 Promise.resolve(test.step(func, test, test))
13 .then(function() { test.done(); })
14 .catch(test.step_func(function(value) {
15 throw value;
16 }));
17 }
18
19 // Returns a promise that fulfills after the provided |promise| is fulfilled.
20 // The |test| succeeds only if |promise| rejects with an exception matching
21 // |code|. Accepted values for |code| follow those accepted for assert_throws().
22 // The optional |description| describes the test being performed.
23 // E.g.:
24 // assert_promise_rejects(
25 // new Promise(...), // something that should throw an exception.
26 // 'NotFoundError',
27 // 'Should throw NotFoundError.');
28 //
29 // assert_promise_rejects(
30 // new Promise(...),
31 // new TypeError(),
32 // 'Should throw TypeError');
33 function assert_promise_rejects(promise, code, description) {
34 return promise.then(
35 function() {
36 throw 'assert_promise_rejects: ' + description + ' Promise did not throw.' ;
37 },
38 function(e) {
39 if (code !== undefined) {
40 assert_throws(code, function() { throw e; }, description);
41 }
42 });
43 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698