OLD | NEW |
(Empty) | |
| 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 function WebUIAssertionsTest() {} |
| 6 |
| 7 WebUIAssertionsTest.prototype = { |
| 8 __proto__: testing.Test.prototype, |
| 9 browsePreload: 'chrome://DummyURL', |
| 10 typedefCppFixture: null, |
| 11 }; |
| 12 |
| 13 GEN('#include "chrome/browser/ui/webui/chrome_web_ui.h"'); |
| 14 GEN('#include "chrome/browser/ui/webui/test_chrome_web_ui_factory.h"'); |
| 15 GEN('#include "googleurl/src/gurl.h"'); |
| 16 GEN('#include "testing/gmock/include/gmock/gmock.h"'); |
| 17 GEN(''); |
| 18 GEN('using ::testing::_;'); |
| 19 GEN('using ::testing::Eq;'); |
| 20 GEN('using ::testing::StrictMock;'); |
| 21 GEN(''); |
| 22 GEN('// Dummy URL location for us to override.'); |
| 23 GEN('const char kDummyURL[] = "chrome://DummyURL/";'); |
| 24 GEN(''); |
| 25 GEN('// Returns a new WebUI object for the TabContents from |arg0|.'); |
| 26 GEN('ACTION(ReturnNewWebUI) {'); |
| 27 GEN(' return new ChromeWebUI(arg0);'); |
| 28 GEN('}'); |
| 29 GEN(''); |
| 30 GEN('// Mock the TestChromeWebUIFactory::WebUIProvider to prove that ' + |
| 31 'we are called as'); |
| 32 GEN('// expected.'); |
| 33 GEN('class MockWebUIProvider : public TestChromeWebUIFactory::WebUIProvider {'); |
| 34 GEN(' public:'); |
| 35 GEN(' MOCK_METHOD2(NewWebUI, WebUI*(TabContents* tab_contents, const GURL& ' + |
| 36 'url));'); |
| 37 GEN('};'); |
| 38 GEN(''); |
| 39 GEN('class WebUIAssertionsTest : public WebUIBrowserTest {'); |
| 40 GEN(' public:'); |
| 41 GEN(' virtual void SetUpOnMainThread() OVERRIDE {'); |
| 42 GEN(' WebUIBrowserTest::SetUpOnMainThread();'); |
| 43 GEN(' TestChromeWebUIFactory::AddFactoryOverride('); |
| 44 GEN(' GURL(kDummyURL).host(), &mock_provider_);'); |
| 45 GEN(' EXPECT_CALL(mock_provider_, NewWebUI(_, Eq(GURL(kDummyURL))))'); |
| 46 GEN(' .WillOnce(ReturnNewWebUI());'); |
| 47 GEN(' }'); |
| 48 GEN(' virtual void CleanUpOnMainThread() OVERRIDE {'); |
| 49 GEN(' WebUIBrowserTest::CleanUpOnMainThread();'); |
| 50 GEN(' TestChromeWebUIFactory::RemoveFactoryOverride('); |
| 51 GEN(' GURL(kDummyURL).host());'); |
| 52 GEN(' }'); |
| 53 GEN(''); |
| 54 GEN(' StrictMock<MockWebUIProvider> mock_provider_;'); |
| 55 GEN(''); |
| 56 GEN('};'); |
| 57 |
| 58 TEST_F('WebUIAssertionsTest', 'testTwoExpects', function() { |
| 59 var result = runTest( |
| 60 function() { |
| 61 expectTrue(false); |
| 62 expectTrue(0); |
| 63 }, []); |
| 64 |
| 65 expectFalse(result[0]); |
| 66 expectTrue(!!result[1].match(/expectTrue\(false\): false/)); |
| 67 expectTrue(!!result[1].match(/expectTrue\(0\): 0/)); |
| 68 }); |
| 69 |
| 70 function twoExpects() { |
| 71 expectTrue(false, 'message1'); |
| 72 expectTrue(false, 'message2'); |
| 73 } |
| 74 |
| 75 TEST_F('WebUIAssertionsTest', 'testCallTestTwice', function() { |
| 76 var result = runTest( |
| 77 function() { |
| 78 twoExpects(); |
| 79 twoExpects(); |
| 80 }, []); |
| 81 expectFalse(result[0]); |
| 82 expectEquals( |
| 83 2, result[1].match(/expectTrue\(false, 'message1'\): false/g).length); |
| 84 expectEquals( |
| 85 2, result[1].match(/expectTrue\(false, 'message2'\): false/g).length); |
| 86 }); |
OLD | NEW |