| Index: chrome/test/data/webui/chrome_send_browsertest.js
|
| diff --git a/chrome/test/data/webui/chrome_send_browsertest.js b/chrome/test/data/webui/chrome_send_browsertest.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..a20eb5ff6d5e517ed9a08d3e028058a91dc1547c
|
| --- /dev/null
|
| +++ b/chrome/test/data/webui/chrome_send_browsertest.js
|
| @@ -0,0 +1,70 @@
|
| +// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +/**
|
| + * @fileoverview Tests to ensure that chrome.send mocking works as expected.
|
| + * @author scr@chromium.org (Sheridan Rawlins)
|
| + * @see test_api.js
|
| + */
|
| +
|
| +GEN('#include "chrome/test/data/webui/chrome_send_browsertest.h"');
|
| +
|
| +/**
|
| + * Test fixture for chrome send WebUI testing.
|
| + * @constructor
|
| + * @extends {testing.Test}
|
| + */
|
| +function ChromeSendWebUITest() {}
|
| +
|
| +ChromeSendWebUITest.prototype = {
|
| + __proto__: testing.Test.prototype,
|
| +
|
| + /**
|
| + * Generate a real C++ class; don't typedef.
|
| + * @type {?string}
|
| + * @override
|
| + */
|
| + typedefCppFixture: null,
|
| +
|
| + /** @inheritDoc */
|
| + browsePreload: DUMMY_URL,
|
| +
|
| + /** @inheritDoc */
|
| + setUp: function() {
|
| + // Set up a mock handler class to catch the 'checkSend' message.
|
| + function MockHandler() {}
|
| + MockHandler.prototype = {
|
| + checkSend: function() {},
|
| + };
|
| + this.mockHandler = mock(MockHandler);
|
| + registerMockMessageCallbacks(this.mockHandler, MockHandler);
|
| + }
|
| +};
|
| +
|
| +// Test that chrome.send can be mocked outside the preLoad method.
|
| +TEST_F('ChromeSendWebUITest', 'NotInPreload', function() {
|
| + this.mockHandler.expects(once()).checkSend();
|
| + chrome.send('checkSend');
|
| +});
|
| +
|
| +/**
|
| + * Test fixture for chrome send WebUI testing with passthrough.
|
| + * @constructor
|
| + * @extends {ChromeSendWebUITest}
|
| + */
|
| +function ChromeSendPassthroughWebUITest() {}
|
| +
|
| +ChromeSendPassthroughWebUITest.prototype = {
|
| + __proto__: ChromeSendWebUITest.prototype,
|
| +};
|
| +
|
| +// Test that the mocked chrome.send can call the original.
|
| +TEST_F('ChromeSendPassthroughWebUITest', 'CanCallOriginal', function() {
|
| + chrome.send('expectCheckSend');
|
| + this.mockHandler.expects(once()).checkSend().
|
| + will(callFunction(function() {
|
| + chrome.originalSend('checkSend');
|
| + }));
|
| + chrome.send('checkSend');
|
| +});
|
|
|