| // Copyright (c) 2012 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. |
| |
| #include <string> |
| |
| #include "chrome_frame/test/chrome_frame_test_utils.h" |
| #include "chrome_frame/test/mock_ie_event_sink_actions.h" |
| #include "chrome_frame/test/mock_ie_event_sink_test.h" |
| |
| using testing::_; |
| using testing::StrEq; |
| |
| namespace chrome_frame_test { |
| |
| // Test fixture for compatibility/reliability tests. |
| class ChromeFrameSitesTest |
| : public MockIEEventSinkTest, |
| public testing::TestWithParam<std::wstring> { |
| public: |
| ChromeFrameSitesTest() {} |
| |
| virtual void SetUp() { |
| // Permit navigation in both IE and CF. |
| ie_mock_.ExpectAnyNavigations(); |
| } |
| }; |
| |
| INSTANTIATE_TEST_CASE_P(CF, ChromeFrameSitesTest, |
| testing::Values(L"http://www.meebo.com/", |
| L"http://www.vimeo.com/", |
| L"http://wordpress.com/", |
| L"https://github.com/")); |
| |
| // Test for navigating to a site that has a CF metatag. |
| TEST_P(ChromeFrameSitesTest, LoadSite) { |
| // Print name of site for debugging purposes. |
| std::wcout << L"Navigating to site: " << GetParam() << std::endl; |
| |
| // Verify navigation to the url passed in as parameter. |
| EXPECT_CALL(ie_mock_, OnLoad(IN_CF, StrEq(GetParam()))) |
| .WillOnce(testing::DoAll( |
| VerifyAddressBarUrl(&ie_mock_), |
| CloseBrowserMock(&ie_mock_))); |
| |
| LaunchIENavigateAndLoop(GetParam(), kChromeFrameLongNavigationTimeout * 2); |
| } |
| |
| } // namespace chrome_frame_test |