OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "base/command_line.h" | 5 #include "base/command_line.h" |
6 #include "base/prefs/pref_service.h" | 6 #include "base/prefs/pref_service.h" |
7 #include "chrome/browser/extensions/api/hotword_private/hotword_private_api.h" | 7 #include "chrome/browser/extensions/api/hotword_private/hotword_private_api.h" |
8 #include "chrome/browser/extensions/extension_apitest.h" | 8 #include "chrome/browser/extensions/extension_apitest.h" |
9 #include "chrome/browser/extensions/extension_service.h" | 9 #include "chrome/browser/extensions/extension_service.h" |
10 #include "chrome/browser/history/web_history_service_factory.h" | 10 #include "chrome/browser/history/web_history_service_factory.h" |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
82 return web_history_.get(); | 82 return web_history_.get(); |
83 } | 83 } |
84 | 84 |
85 private: | 85 private: |
86 scoped_ptr<history::WebHistoryService> web_history_; | 86 scoped_ptr<history::WebHistoryService> web_history_; |
87 }; | 87 }; |
88 | 88 |
89 class MockHotwordService : public HotwordService { | 89 class MockHotwordService : public HotwordService { |
90 public: | 90 public: |
91 explicit MockHotwordService(Profile* profile) | 91 explicit MockHotwordService(Profile* profile) |
92 : HotwordService(profile), service_available_(true) {}; | 92 : HotwordService(profile), service_available_(true) {} |
93 ~MockHotwordService() override {} | 93 ~MockHotwordService() override {} |
94 | 94 |
95 bool IsServiceAvailable() override { return service_available_; } | 95 bool IsServiceAvailable() override { return service_available_; } |
96 | 96 |
97 void setServiceAvailable(bool available) { | 97 void setServiceAvailable(bool available) { |
98 service_available_ = available; | 98 service_available_ = available; |
99 } | 99 } |
100 | 100 |
101 static KeyedService* Build(content::BrowserContext* profile) { | 101 static KeyedService* Build(content::BrowserContext* profile) { |
102 return new MockHotwordService(static_cast<Profile*>(profile)); | 102 return new MockHotwordService(static_cast<Profile*>(profile)); |
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
398 ExtensionTestMessageListener listener("ready", false); | 398 ExtensionTestMessageListener listener("ready", false); |
399 ASSERT_TRUE( | 399 ASSERT_TRUE( |
400 LoadExtensionAsComponent(test_data_dir_.AppendASCII( | 400 LoadExtensionAsComponent(test_data_dir_.AppendASCII( |
401 "onDeleteSpeakerModel"))); | 401 "onDeleteSpeakerModel"))); |
402 EXPECT_TRUE(listener.WaitUntilSatisfied()); | 402 EXPECT_TRUE(listener.WaitUntilSatisfied()); |
403 | 403 |
404 ExtensionTestMessageListener listenerNotification("notification", false); | 404 ExtensionTestMessageListener listenerNotification("notification", false); |
405 EXPECT_TRUE(listenerNotification.WaitUntilSatisfied()); | 405 EXPECT_TRUE(listenerNotification.WaitUntilSatisfied()); |
406 } | 406 } |
407 | 407 |
| 408 IN_PROC_BROWSER_TEST_F(HotwordPrivateApiTest, OnSpeakerModelExists) { |
| 409 extensions::HotwordPrivateEventService::GetFactoryInstance(); |
| 410 ExtensionTestMessageListener listener("ready", false); |
| 411 ASSERT_TRUE( |
| 412 LoadExtensionAsComponent(test_data_dir_.AppendASCII( |
| 413 "onSpeakerModelExists"))); |
| 414 EXPECT_TRUE(listener.WaitUntilSatisfied()); |
| 415 |
| 416 service()->OptIntoHotwording(HotwordService::HOTWORD_ONLY); |
| 417 |
| 418 ExtensionTestMessageListener listenerNotification("notification", false); |
| 419 EXPECT_TRUE(listenerNotification.WaitUntilSatisfied()); |
| 420 } |
| 421 |
| 422 IN_PROC_BROWSER_TEST_F(HotwordPrivateApiTest, SpeakerModelExistsResult) { |
| 423 EXPECT_FALSE(profile()->GetPrefs()->GetBoolean( |
| 424 prefs::kHotwordAlwaysOnSearchEnabled)); |
| 425 |
| 426 ExtensionTestMessageListener listenerTrue("ready", false); |
| 427 ASSERT_TRUE(RunComponentExtensionTest( |
| 428 "speakerModelExistsResultTrue")) << message_; |
| 429 EXPECT_TRUE(listenerTrue.WaitUntilSatisfied()); |
| 430 EXPECT_TRUE(profile()->GetPrefs()->GetBoolean( |
| 431 prefs::kHotwordAlwaysOnSearchEnabled)); |
| 432 |
| 433 PrefService* prefs = profile()->GetPrefs(); |
| 434 prefs->SetBoolean(prefs::kHotwordAlwaysOnSearchEnabled, false); |
| 435 ExtensionTestMessageListener listenerFalse("ready", false); |
| 436 ASSERT_TRUE(RunComponentExtensionTest( |
| 437 "speakerModelExistsResultFalse")) << message_; |
| 438 EXPECT_TRUE(listenerFalse.WaitUntilSatisfied()); |
| 439 EXPECT_FALSE(profile()->GetPrefs()->GetBoolean( |
| 440 prefs::kHotwordAlwaysOnSearchEnabled)); |
| 441 } |
| 442 |
408 IN_PROC_BROWSER_TEST_F(HotwordPrivateApiTest, Training) { | 443 IN_PROC_BROWSER_TEST_F(HotwordPrivateApiTest, Training) { |
409 EXPECT_FALSE(service()->IsTraining()); | 444 EXPECT_FALSE(service()->IsTraining()); |
410 | 445 |
411 ExtensionTestMessageListener listenerTrue("start training", false); | 446 ExtensionTestMessageListener listenerTrue("start training", false); |
412 ASSERT_TRUE(RunComponentExtensionTest("startTraining")) << message_; | 447 ASSERT_TRUE(RunComponentExtensionTest("startTraining")) << message_; |
413 EXPECT_TRUE(listenerTrue.WaitUntilSatisfied()); | 448 EXPECT_TRUE(listenerTrue.WaitUntilSatisfied()); |
414 EXPECT_TRUE(service()->IsTraining()); | 449 EXPECT_TRUE(service()->IsTraining()); |
415 | 450 |
416 ExtensionTestMessageListener listenerFalse("stop training", false); | 451 ExtensionTestMessageListener listenerFalse("stop training", false); |
417 ASSERT_TRUE(RunComponentExtensionTest("stopTraining")) << message_; | 452 ASSERT_TRUE(RunComponentExtensionTest("stopTraining")) << message_; |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
501 ExtensionTestMessageListener setListenerT("set AH: false failure", false); | 536 ExtensionTestMessageListener setListenerT("set AH: false failure", false); |
502 ExtensionTestMessageListener setListenerF("set AH: false failure", false); | 537 ExtensionTestMessageListener setListenerF("set AH: false failure", false); |
503 ExtensionTestMessageListener getListener("get AH: false failure", false); | 538 ExtensionTestMessageListener getListener("get AH: false failure", false); |
504 | 539 |
505 ASSERT_TRUE(RunComponentExtensionTest("audioHistory")) << message_; | 540 ASSERT_TRUE(RunComponentExtensionTest("audioHistory")) << message_; |
506 | 541 |
507 EXPECT_TRUE(setListenerT.WaitUntilSatisfied()); | 542 EXPECT_TRUE(setListenerT.WaitUntilSatisfied()); |
508 EXPECT_TRUE(setListenerF.WaitUntilSatisfied()); | 543 EXPECT_TRUE(setListenerF.WaitUntilSatisfied()); |
509 EXPECT_TRUE(getListener.WaitUntilSatisfied()); | 544 EXPECT_TRUE(getListener.WaitUntilSatisfied()); |
510 } | 545 } |
OLD | NEW |