| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/ui/search/search_ipc_router.h" | 5 #include "chrome/browser/ui/search/search_ipc_router.h" |
| 6 | 6 |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
| (...skipping 23 matching lines...) Expand all Loading... |
| 34 MOCK_METHOD1(OnInstantSupportDetermined, void(bool supports_instant)); | 34 MOCK_METHOD1(OnInstantSupportDetermined, void(bool supports_instant)); |
| 35 MOCK_METHOD1(OnSetVoiceSearchSupport, void(bool supports_voice_search)); | 35 MOCK_METHOD1(OnSetVoiceSearchSupport, void(bool supports_voice_search)); |
| 36 }; | 36 }; |
| 37 | 37 |
| 38 class MockSearchIPCRouterPolicy : public SearchIPCRouter::Policy { | 38 class MockSearchIPCRouterPolicy : public SearchIPCRouter::Policy { |
| 39 public: | 39 public: |
| 40 virtual ~MockSearchIPCRouterPolicy() {} | 40 virtual ~MockSearchIPCRouterPolicy() {} |
| 41 | 41 |
| 42 MOCK_METHOD0(ShouldProcessSetVoiceSearchSupport, bool()); | 42 MOCK_METHOD0(ShouldProcessSetVoiceSearchSupport, bool()); |
| 43 MOCK_METHOD0(ShouldSendSetDisplayInstantResults, bool()); | 43 MOCK_METHOD0(ShouldSendSetDisplayInstantResults, bool()); |
| 44 MOCK_METHOD0(ShouldSendSetSuggestionToPrefetch, bool()); |
| 44 MOCK_METHOD0(ShouldSendMostVisitedItems, bool()); | 45 MOCK_METHOD0(ShouldSendMostVisitedItems, bool()); |
| 45 MOCK_METHOD0(ShouldSendThemeBackgroundInfo, bool()); | 46 MOCK_METHOD0(ShouldSendThemeBackgroundInfo, bool()); |
| 46 }; | 47 }; |
| 47 | 48 |
| 48 } // namespace | 49 } // namespace |
| 49 | 50 |
| 50 class SearchIPCRouterTest : public ChromeRenderViewHostTestHarness { | 51 class SearchIPCRouterTest : public ChromeRenderViewHostTestHarness { |
| 51 public: | 52 public: |
| 52 virtual void SetUp() { | 53 virtual void SetUp() { |
| 53 CommandLine::ForCurrentProcess()->AppendSwitch( | 54 CommandLine::ForCurrentProcess()->AppendSwitch( |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 135 NavigateAndCommit(GURL("chrome-search://foo/bar")); | 136 NavigateAndCommit(GURL("chrome-search://foo/bar")); |
| 136 process()->sink().ClearMessages(); | 137 process()->sink().ClearMessages(); |
| 137 | 138 |
| 138 SetupMockDelegateAndPolicy(web_contents()); | 139 SetupMockDelegateAndPolicy(web_contents()); |
| 139 MockSearchIPCRouterPolicy* policy = | 140 MockSearchIPCRouterPolicy* policy = |
| 140 GetSearchIPCRouterPolicy(web_contents()); | 141 GetSearchIPCRouterPolicy(web_contents()); |
| 141 EXPECT_CALL(*policy, ShouldSendSetDisplayInstantResults()).Times(1) | 142 EXPECT_CALL(*policy, ShouldSendSetDisplayInstantResults()).Times(1) |
| 142 .WillOnce(testing::Return(true)); | 143 .WillOnce(testing::Return(true)); |
| 143 | 144 |
| 144 GetSearchTabHelper(web_contents())->ipc_router().SetDisplayInstantResults(); | 145 GetSearchTabHelper(web_contents())->ipc_router().SetDisplayInstantResults(); |
| 145 ASSERT_TRUE(MessageWasSent( | 146 EXPECT_TRUE(MessageWasSent( |
| 146 ChromeViewMsg_SearchBoxSetDisplayInstantResults::ID)); | 147 ChromeViewMsg_SearchBoxSetDisplayInstantResults::ID)); |
| 147 } | 148 } |
| 148 | 149 |
| 149 TEST_F(SearchIPCRouterTest, DoNotSendSetDisplayInstantResultsMsg) { | 150 TEST_F(SearchIPCRouterTest, DoNotSendSetDisplayInstantResultsMsg) { |
| 150 NavigateAndCommit(GURL("chrome-search://foo/bar")); | 151 NavigateAndCommit(GURL("chrome-search://foo/bar")); |
| 151 process()->sink().ClearMessages(); | 152 process()->sink().ClearMessages(); |
| 152 | 153 |
| 153 SetupMockDelegateAndPolicy(web_contents()); | 154 SetupMockDelegateAndPolicy(web_contents()); |
| 154 MockSearchIPCRouterPolicy* policy = | 155 MockSearchIPCRouterPolicy* policy = |
| 155 GetSearchIPCRouterPolicy(web_contents()); | 156 GetSearchIPCRouterPolicy(web_contents()); |
| 156 EXPECT_CALL(*policy, ShouldSendSetDisplayInstantResults()).Times(1) | 157 EXPECT_CALL(*policy, ShouldSendSetDisplayInstantResults()).Times(1) |
| 157 .WillOnce(testing::Return(false)); | 158 .WillOnce(testing::Return(false)); |
| 158 | 159 |
| 159 GetSearchTabHelper(web_contents())->ipc_router().SetDisplayInstantResults(); | 160 GetSearchTabHelper(web_contents())->ipc_router().SetDisplayInstantResults(); |
| 160 ASSERT_FALSE(MessageWasSent( | 161 EXPECT_FALSE(MessageWasSent( |
| 161 ChromeViewMsg_SearchBoxSetDisplayInstantResults::ID)); | 162 ChromeViewMsg_SearchBoxSetDisplayInstantResults::ID)); |
| 162 } | 163 } |
| 163 | 164 |
| 165 TEST_F(SearchIPCRouterTest, SendSetSuggestionToPrefetch) { |
| 166 NavigateAndCommit(GURL("chrome-search://foo/bar")); |
| 167 process()->sink().ClearMessages(); |
| 168 |
| 169 SetupMockDelegateAndPolicy(web_contents()); |
| 170 MockSearchIPCRouterPolicy* policy = |
| 171 GetSearchIPCRouterPolicy(web_contents()); |
| 172 EXPECT_CALL(*policy, ShouldSendSetSuggestionToPrefetch()).Times(1) |
| 173 .WillOnce(testing::Return(true)); |
| 174 |
| 175 GetSearchTabHelper(web_contents())->SetSuggestionToPrefetch( |
| 176 InstantSuggestion()); |
| 177 EXPECT_TRUE(MessageWasSent( |
| 178 ChromeViewMsg_SearchBoxSetSuggestionToPrefetch::ID)); |
| 179 } |
| 180 |
| 181 TEST_F(SearchIPCRouterTest, DoNotSendSetSuggestionToPrefetch) { |
| 182 NavigateAndCommit(GURL("chrome-search://foo/bar")); |
| 183 process()->sink().ClearMessages(); |
| 184 |
| 185 SetupMockDelegateAndPolicy(web_contents()); |
| 186 MockSearchIPCRouterPolicy* policy = |
| 187 GetSearchIPCRouterPolicy(web_contents()); |
| 188 EXPECT_CALL(*policy, ShouldSendSetSuggestionToPrefetch()).Times(1) |
| 189 .WillOnce(testing::Return(false)); |
| 190 |
| 191 GetSearchTabHelper(web_contents())->SetSuggestionToPrefetch( |
| 192 InstantSuggestion()); |
| 193 EXPECT_FALSE(MessageWasSent( |
| 194 ChromeViewMsg_SearchBoxSetSuggestionToPrefetch::ID)); |
| 195 } |
| 196 |
| 164 TEST_F(SearchIPCRouterTest, SendMostVisitedItemsMsg) { | 197 TEST_F(SearchIPCRouterTest, SendMostVisitedItemsMsg) { |
| 165 NavigateAndCommit(GURL(chrome::kChromeSearchLocalNtpUrl)); | 198 NavigateAndCommit(GURL(chrome::kChromeSearchLocalNtpUrl)); |
| 166 process()->sink().ClearMessages(); | 199 process()->sink().ClearMessages(); |
| 167 | 200 |
| 168 SetupMockDelegateAndPolicy(web_contents()); | 201 SetupMockDelegateAndPolicy(web_contents()); |
| 169 MockSearchIPCRouterPolicy* policy = | 202 MockSearchIPCRouterPolicy* policy = |
| 170 GetSearchIPCRouterPolicy(web_contents()); | 203 GetSearchIPCRouterPolicy(web_contents()); |
| 171 EXPECT_CALL(*policy, ShouldSendMostVisitedItems()).Times(1) | 204 EXPECT_CALL(*policy, ShouldSendMostVisitedItems()).Times(1) |
| 172 .WillOnce(testing::Return(true)); | 205 .WillOnce(testing::Return(true)); |
| 173 | 206 |
| 174 GetSearchTabHelper(web_contents())->ipc_router().SendMostVisitedItems( | 207 GetSearchTabHelper(web_contents())->ipc_router().SendMostVisitedItems( |
| 175 std::vector<InstantMostVisitedItem>()); | 208 std::vector<InstantMostVisitedItem>()); |
| 176 ASSERT_TRUE(MessageWasSent( | 209 EXPECT_TRUE(MessageWasSent( |
| 177 ChromeViewMsg_SearchBoxMostVisitedItemsChanged::ID)); | 210 ChromeViewMsg_SearchBoxMostVisitedItemsChanged::ID)); |
| 178 } | 211 } |
| 179 | 212 |
| 180 TEST_F(SearchIPCRouterTest, DoNotSendMostVisitedItemsMsg) { | 213 TEST_F(SearchIPCRouterTest, DoNotSendMostVisitedItemsMsg) { |
| 181 NavigateAndCommit(GURL(chrome::kChromeSearchLocalNtpUrl)); | 214 NavigateAndCommit(GURL(chrome::kChromeSearchLocalNtpUrl)); |
| 182 process()->sink().ClearMessages(); | 215 process()->sink().ClearMessages(); |
| 183 | 216 |
| 184 SetupMockDelegateAndPolicy(web_contents()); | 217 SetupMockDelegateAndPolicy(web_contents()); |
| 185 MockSearchIPCRouterPolicy* policy = | 218 MockSearchIPCRouterPolicy* policy = |
| 186 GetSearchIPCRouterPolicy(web_contents()); | 219 GetSearchIPCRouterPolicy(web_contents()); |
| 187 EXPECT_CALL(*policy, ShouldSendMostVisitedItems()).Times(1) | 220 EXPECT_CALL(*policy, ShouldSendMostVisitedItems()).Times(1) |
| 188 .WillOnce(testing::Return(false)); | 221 .WillOnce(testing::Return(false)); |
| 189 | 222 |
| 190 GetSearchTabHelper(web_contents())->ipc_router().SendMostVisitedItems( | 223 GetSearchTabHelper(web_contents())->ipc_router().SendMostVisitedItems( |
| 191 std::vector<InstantMostVisitedItem>()); | 224 std::vector<InstantMostVisitedItem>()); |
| 192 ASSERT_FALSE(MessageWasSent( | 225 EXPECT_FALSE(MessageWasSent( |
| 193 ChromeViewMsg_SearchBoxMostVisitedItemsChanged::ID)); | 226 ChromeViewMsg_SearchBoxMostVisitedItemsChanged::ID)); |
| 194 } | 227 } |
| 195 | 228 |
| 196 TEST_F(SearchIPCRouterTest, SendThemeBackgroundInfoMsg) { | 229 TEST_F(SearchIPCRouterTest, SendThemeBackgroundInfoMsg) { |
| 197 NavigateAndCommit(GURL(chrome::kChromeSearchLocalNtpUrl)); | 230 NavigateAndCommit(GURL(chrome::kChromeSearchLocalNtpUrl)); |
| 198 process()->sink().ClearMessages(); | 231 process()->sink().ClearMessages(); |
| 199 | 232 |
| 200 SetupMockDelegateAndPolicy(web_contents()); | 233 SetupMockDelegateAndPolicy(web_contents()); |
| 201 MockSearchIPCRouterPolicy* policy = | 234 MockSearchIPCRouterPolicy* policy = |
| 202 GetSearchIPCRouterPolicy(web_contents()); | 235 GetSearchIPCRouterPolicy(web_contents()); |
| 203 EXPECT_CALL(*policy, ShouldSendThemeBackgroundInfo()).Times(1) | 236 EXPECT_CALL(*policy, ShouldSendThemeBackgroundInfo()).Times(1) |
| 204 .WillOnce(testing::Return(true)); | 237 .WillOnce(testing::Return(true)); |
| 205 | 238 |
| 206 GetSearchTabHelper(web_contents())->ipc_router().SendThemeBackgroundInfo( | 239 GetSearchTabHelper(web_contents())->ipc_router().SendThemeBackgroundInfo( |
| 207 ThemeBackgroundInfo()); | 240 ThemeBackgroundInfo()); |
| 208 ASSERT_TRUE(MessageWasSent(ChromeViewMsg_SearchBoxThemeChanged::ID)); | 241 EXPECT_TRUE(MessageWasSent(ChromeViewMsg_SearchBoxThemeChanged::ID)); |
| 209 } | 242 } |
| 210 | 243 |
| 211 TEST_F(SearchIPCRouterTest, DoNotSendThemeBackgroundInfoMsg) { | 244 TEST_F(SearchIPCRouterTest, DoNotSendThemeBackgroundInfoMsg) { |
| 212 NavigateAndCommit(GURL(chrome::kChromeSearchLocalNtpUrl)); | 245 NavigateAndCommit(GURL(chrome::kChromeSearchLocalNtpUrl)); |
| 213 process()->sink().ClearMessages(); | 246 process()->sink().ClearMessages(); |
| 214 | 247 |
| 215 SetupMockDelegateAndPolicy(web_contents()); | 248 SetupMockDelegateAndPolicy(web_contents()); |
| 216 MockSearchIPCRouterPolicy* policy = | 249 MockSearchIPCRouterPolicy* policy = |
| 217 GetSearchIPCRouterPolicy(web_contents()); | 250 GetSearchIPCRouterPolicy(web_contents()); |
| 218 EXPECT_CALL(*policy, ShouldSendThemeBackgroundInfo()).Times(1) | 251 EXPECT_CALL(*policy, ShouldSendThemeBackgroundInfo()).Times(1) |
| 219 .WillOnce(testing::Return(false)); | 252 .WillOnce(testing::Return(false)); |
| 220 | 253 |
| 221 GetSearchTabHelper(web_contents())->ipc_router().SendThemeBackgroundInfo( | 254 GetSearchTabHelper(web_contents())->ipc_router().SendThemeBackgroundInfo( |
| 222 ThemeBackgroundInfo()); | 255 ThemeBackgroundInfo()); |
| 223 ASSERT_FALSE(MessageWasSent(ChromeViewMsg_SearchBoxThemeChanged::ID)); | 256 EXPECT_FALSE(MessageWasSent(ChromeViewMsg_SearchBoxThemeChanged::ID)); |
| 224 } | 257 } |
| OLD | NEW |