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

Side by Side Diff: chrome/test/data/webui/webui_resource_async_browsertest.js

Issue 1758013002: WebUI: Allow rejecting a promise that is returned from cr.sendWithPromise(). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 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
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 /** 5 /**
6 * @fileoverview Framework for running async JS tests for cr.js utility methods. 6 * @fileoverview Framework for running async JS tests for cr.js utility methods.
7 */ 7 */
8 8
9 /** @const {string} Path to source root. */ 9 /** @const {string} Path to source root. */
10 var ROOT_PATH = '../../../../'; 10 var ROOT_PATH = '../../../../';
(...skipping 17 matching lines...) Expand all
28 /** @override */ 28 /** @override */
29 isAsync: true, 29 isAsync: true,
30 30
31 /** @override */ 31 /** @override */
32 runAccessibilityChecks: false, 32 runAccessibilityChecks: false,
33 33
34 /** @override */ 34 /** @override */
35 extraLibraries: [ 35 extraLibraries: [
36 ROOT_PATH + 'third_party/mocha/mocha.js', 36 ROOT_PATH + 'third_party/mocha/mocha.js',
37 ROOT_PATH + 'chrome/test/data/webui/mocha_adapter.js', 37 ROOT_PATH + 'chrome/test/data/webui/mocha_adapter.js',
38 ROOT_PATH + 'chrome/test/data/webui/promise_resolver.js',
39 ROOT_PATH + 'ui/webui/resources/js/cr.js', 38 ROOT_PATH + 'ui/webui/resources/js/cr.js',
39 ROOT_PATH + 'ui/webui/resources/js/cr/promise_resolver.js',
40 ], 40 ],
41 }; 41 };
42 42
43 TEST_F('WebUIResourceAsyncTest', 'SendWithPromise', function() { 43 TEST_F('WebUIResourceAsyncTest', 'SendWithPromise', function() {
44 /** 44 /**
45 * TODO(dpapad): Move this helper method in test_api.js. 45 * TODO(dpapad): Move this helper method in test_api.js.
46 * @param {string} name chrome.send message name. 46 * @param {string} name chrome.send message name.
47 * @return {!Promise} Fires when chrome.send is called with the given message 47 * @return {!Promise} Fires when chrome.send is called with the given message
48 * name. 48 * name.
49 */ 49 */
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 return new Promise(function(resolve, reject) { 147 return new Promise(function(resolve, reject) {
148 listener1 = cr.addWebUIListener(EVENT_NAME, function() { 148 listener1 = cr.addWebUIListener(EVENT_NAME, function() {
149 assertEquals(0, arguments.length); 149 assertEquals(0, arguments.length);
150 resolve(); 150 resolve();
151 }); 151 });
152 cr.webUIListenerCallback(EVENT_NAME); 152 cr.webUIListenerCallback(EVENT_NAME);
153 }); 153 });
154 }); 154 });
155 155
156 test('addWebUIListener_MulitpleListeners', function() { 156 test('addWebUIListener_MulitpleListeners', function() {
157 var resolver1 = new PromiseResolver(); 157 var resolver1 = new cr.PromiseResolver();
158 var resolver2 = new PromiseResolver(); 158 var resolver2 = new cr.PromiseResolver();
159 listener1 = cr.addWebUIListener(EVENT_NAME, resolver1.resolve); 159 listener1 = cr.addWebUIListener(EVENT_NAME, resolver1.resolve);
160 listener2 = cr.addWebUIListener(EVENT_NAME, resolver2.resolve); 160 listener2 = cr.addWebUIListener(EVENT_NAME, resolver2.resolve);
161 cr.webUIListenerCallback(EVENT_NAME); 161 cr.webUIListenerCallback(EVENT_NAME);
162 // Check that both listeners registered are invoked. 162 // Check that both listeners registered are invoked.
163 return Promise.all([resolver1.promise, resolver2.promise]); 163 return Promise.all([resolver1.promise, resolver2.promise]);
164 }); 164 });
165 }); 165 });
166 166
167 // Run all registered tests. 167 // Run all registered tests.
168 mocha.run(); 168 mocha.run();
169 }); 169 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698