- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / test / data / webui / chrome_send_browsertest.js
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 /**
6  * @fileoverview Tests to ensure that chrome.send mocking works as expected.
7  * @author scr@chromium.org (Sheridan Rawlins)
8  * @see test_api.js
9  */
10
11 GEN('#include "chrome/test/data/webui/chrome_send_browsertest.h"');
12
13 /**
14  * Test fixture for chrome send WebUI testing.
15  * @constructor
16  * @extends {testing.Test}
17  */
18 function ChromeSendWebUITest() {}
19
20 ChromeSendWebUITest.prototype = {
21   __proto__: testing.Test.prototype,
22
23   /**
24    * Generate a real C++ class; don't typedef.
25    * @type {?string}
26    * @override
27    */
28   typedefCppFixture: null,
29
30   /** @inheritDoc */
31   browsePreload: DUMMY_URL,
32
33   /** @inheritDoc */
34   setUp: function() {
35     this.makeAndRegisterMockHandler(['checkSend']);
36   }
37 };
38
39 // Test that chrome.send can be mocked outside the preLoad method.
40 TEST_F('ChromeSendWebUITest', 'NotInPreload', function() {
41   this.mockHandler.expects(once()).checkSend();
42   chrome.send('checkSend');
43 });
44
45 /**
46  * Test fixture for chrome send WebUI testing with passthrough.
47  * @constructor
48  * @extends {ChromeSendWebUITest}
49  */
50 function ChromeSendPassthroughWebUITest() {}
51
52 ChromeSendPassthroughWebUITest.prototype = {
53   __proto__: ChromeSendWebUITest.prototype,
54 };
55
56 // Test that the mocked chrome.send can call the original.
57 TEST_F('ChromeSendPassthroughWebUITest', 'CanCallOriginal', function() {
58   this.mockHandler.expects(once()).checkSend().
59       will(callFunction(function() {
60                           chrome.originalSend('checkSend');
61                         }));
62   chrome.send('checkSend');
63 });