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

Unified 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: Re-rename Created 4 years, 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/test/data/webui/settings/cr_settings_browsertest.js ('k') | ui/webui/resources/html/cr.html » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/test/data/webui/webui_resource_async_browsertest.js
diff --git a/chrome/test/data/webui/webui_resource_async_browsertest.js b/chrome/test/data/webui/webui_resource_async_browsertest.js
index 81baa17edbb7e36803340953f9c444174a4a7fb2..1184b6a0cf353a06d72027f9016882243dc09c78 100644
--- a/chrome/test/data/webui/webui_resource_async_browsertest.js
+++ b/chrome/test/data/webui/webui_resource_async_browsertest.js
@@ -35,7 +35,7 @@ WebUIResourceAsyncTest.prototype = {
extraLibraries: [
ROOT_PATH + 'third_party/mocha/mocha.js',
ROOT_PATH + 'chrome/test/data/webui/mocha_adapter.js',
- ROOT_PATH + 'chrome/test/data/webui/promise_resolver.js',
+ ROOT_PATH + 'ui/webui/resources/js/promise_resolver.js',
ROOT_PATH + 'ui/webui/resources/js/cr.js',
],
};
@@ -54,12 +54,18 @@ TEST_F('WebUIResourceAsyncTest', 'SendWithPromise', function() {
}
suite('SendWithPromise', function() {
+ var rejectPromises = false;
+
setup(function() {
// Simulate a WebUI handler that echoes back all parameters passed to it.
+ // Rejects the promise depending on |rejectPromises|.
whenChromeSendCalled(CHROME_SEND_NAME).then(function(args) {
- cr.webUIResponse.apply(null, args);
+ var callbackId = args[0];
+ cr.webUIResponse.apply(
+ null, [callbackId, !rejectPromises].concat(args.slice(1)));
});
});
+ teardown(function() { rejectPromises = false; });
test('sendWithPromise_ResponseObject', function() {
var expectedResponse = {'foo': 'bar'};
@@ -92,6 +98,18 @@ TEST_F('WebUIResourceAsyncTest', 'SendWithPromise', function() {
assertEquals(undefined, response);
});
});
+
+ test('sendWithPromise_Reject', function() {
+ rejectPromises = true;
+ var expectedResponse = 1234;
+ return cr.sendWithPromise(CHROME_SEND_NAME, expectedResponse).then(
+ function() {
+ assertNotReached('should have rejected promise');
+ },
+ function(error) {
+ assertEquals(expectedResponse, error);
+ });
+ });
});
// Run all registered tests.
« no previous file with comments | « chrome/test/data/webui/settings/cr_settings_browsertest.js ('k') | ui/webui/resources/html/cr.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698