OLD | NEW |
(Empty) | |
| 1 // Copyright 2015 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 "chrome/browser/chromeos/launcher_search_provider/service.h" |
| 6 #include "chrome/browser/extensions/extension_apitest.h" |
| 7 #include "chrome/browser/ui/app_list/search/launcher_search/launcher_search_prov
ider.h" |
| 8 #include "chrome/browser/ui/extensions/app_launch_params.h" |
| 9 #include "chrome/browser/ui/extensions/application_launch.h" |
| 10 #include "extensions/common/constants.h" |
| 11 #include "extensions/test/extension_test_message_listener.h" |
| 12 |
| 13 using chromeos::launcher_search_provider::Service; |
| 14 |
| 15 namespace extensions { |
| 16 |
| 17 class LauncherSearchProviderApiTest : public ExtensionApiTest { |
| 18 public: |
| 19 LauncherSearchProviderApiTest() {} |
| 20 |
| 21 protected: |
| 22 // Runs |extension_name| as launcher search provider test. In the test, test |
| 23 // extension can control test and launcher search provider by sending commands |
| 24 // via chrome.test.sendMessage. |
| 25 void RunLauncherSearchProviderTest(const std::string& extension_name) { |
| 26 ExtensionTestMessageListener listener(false); |
| 27 Service* service = Service::Get(browser()->profile()); |
| 28 app_list::LauncherSearchProvider launcher_search_provider( |
| 29 browser()->profile()); |
| 30 |
| 31 // Loads extension and run as platform app. |
| 32 base::FilePath extension_path = test_data_dir_.AppendASCII(extension_name); |
| 33 const extensions::Extension* extension = LoadExtension(extension_path); |
| 34 AppLaunchParams params(browser()->profile(), extension, |
| 35 extensions::LAUNCH_CONTAINER_NONE, NEW_WINDOW, |
| 36 extensions::SOURCE_TEST); |
| 37 params.command_line = *base::CommandLine::ForCurrentProcess(); |
| 38 OpenApplication(params); |
| 39 |
| 40 // Event loop |
| 41 while (true) { |
| 42 ASSERT_TRUE(listener.WaitUntilSatisfied()); |
| 43 if (listener.message() == "testSuccess") { |
| 44 // Exits test as success. |
| 45 break; |
| 46 } else if (listener.message() == "dispatchOnQueryStarted") { |
| 47 // Dispatches onQueryStarted event. |
| 48 service->OnQueryStarted(&launcher_search_provider, "test", 6); |
| 49 } |
| 50 listener.Reset(); |
| 51 } |
| 52 } |
| 53 }; |
| 54 |
| 55 IN_PROC_BROWSER_TEST_F(LauncherSearchProviderApiTest, SetSearchResults) { |
| 56 RunLauncherSearchProviderTest("launcher_search_provider/set_search_results"); |
| 57 } |
| 58 |
| 59 } // namespace extensions |
OLD | NEW |