- add sources.
[platform/framework/web/crosswalk.git] / src / chrome_frame / test / external_sites_test.cc
1 // Copyright (c) 2012 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 #include <string>
6
7 #include "chrome_frame/test/chrome_frame_test_utils.h"
8 #include "chrome_frame/test/mock_ie_event_sink_actions.h"
9 #include "chrome_frame/test/mock_ie_event_sink_test.h"
10
11 using testing::_;
12 using testing::StrEq;
13
14 namespace chrome_frame_test {
15
16 // Test fixture for compatibility/reliability tests.
17 class ChromeFrameSitesTest
18     : public MockIEEventSinkTest,
19       public testing::TestWithParam<std::wstring> {
20  public:
21   ChromeFrameSitesTest() {}
22
23   virtual void SetUp() {
24     // Permit navigation in both IE and CF.
25     ie_mock_.ExpectAnyNavigations();
26   }
27 };
28
29 INSTANTIATE_TEST_CASE_P(CF, ChromeFrameSitesTest,
30                         testing::Values(L"http://www.meebo.com/",
31                                         L"http://www.vimeo.com/",
32                                         L"http://wordpress.com/",
33                                         L"https://github.com/"));
34
35 // Test for navigating to a site that has a CF metatag.
36 TEST_P(ChromeFrameSitesTest, LoadSite) {
37   // Print name of site for debugging purposes.
38   std::wcout << L"Navigating to site: " << GetParam() << std::endl;
39
40   // Verify navigation to the url passed in as parameter.
41   EXPECT_CALL(ie_mock_, OnLoad(IN_CF, StrEq(GetParam())))
42       .WillOnce(testing::DoAll(
43           VerifyAddressBarUrl(&ie_mock_),
44           CloseBrowserMock(&ie_mock_)));
45
46   LaunchIENavigateAndLoop(GetParam(), kChromeFrameLongNavigationTimeout * 2);
47 }
48
49 }  // namespace chrome_frame_test