Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(49)

Side by Side Diff: chrome/browser/chooser_controller/mock_chooser_controller.cc

Issue 2171103002: Add test for WebBluetooth chooser spinner, status text and rescan button (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: added test for WebBluetooth chooser spinner, status text and rescan button Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/chooser_controller/mock_chooser_controller.h" 5 #include "chrome/browser/chooser_controller/mock_chooser_controller.h"
6 6
7 #include "base/strings/utf_string_conversions.h"
7 #include "chrome/grit/generated_resources.h" 8 #include "chrome/grit/generated_resources.h"
8 #include "ui/base/l10n/l10n_util.h" 9 #include "ui/base/l10n/l10n_util.h"
9 10
10 MockChooserController::MockChooserController(content::RenderFrameHost* owner) 11 MockChooserController::MockChooserController(content::RenderFrameHost* owner)
11 : ChooserController(owner, 12 : ChooserController(owner,
12 IDS_USB_DEVICE_CHOOSER_PROMPT_ORIGIN, 13 IDS_USB_DEVICE_CHOOSER_PROMPT_ORIGIN,
13 IDS_USB_DEVICE_CHOOSER_PROMPT_EXTENSION_NAME) {} 14 IDS_USB_DEVICE_CHOOSER_PROMPT_EXTENSION_NAME),
15 no_options_text_(l10n_util::GetStringUTF16(
16 IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT)) {}
14 17
15 MockChooserController::~MockChooserController() {} 18 MockChooserController::~MockChooserController() {}
16 19
17 base::string16 MockChooserController::GetNoOptionsText() const { 20 base::string16 MockChooserController::GetNoOptionsText() const {
18 return l10n_util::GetStringUTF16(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT); 21 return no_options_text_;
19 } 22 }
20 23
21 base::string16 MockChooserController::GetOkButtonLabel() const { 24 base::string16 MockChooserController::GetOkButtonLabel() const {
22 return base::string16(); 25 return l10n_util::GetStringUTF16(IDS_USB_DEVICE_CHOOSER_CONNECT_BUTTON_TEXT);
23 } 26 }
24 27
25 size_t MockChooserController::NumOptions() const { 28 size_t MockChooserController::NumOptions() const {
26 return option_names_.size(); 29 return option_names_.size();
27 } 30 }
28 31
29 base::string16 MockChooserController::GetOption(size_t index) const { 32 base::string16 MockChooserController::GetOption(size_t index) const {
30 return option_names_[index]; 33 return option_names_[index];
31 } 34 }
32 35
33 void MockChooserController::RefreshOptions() {} 36 base::string16 MockChooserController::GetStatus() const {
37 return status_text_;
38 }
34 39
35 base::string16 MockChooserController::GetStatus() const { 40 void MockChooserController::OnAdapterPresenceChanged(AdapterPresence presence) {
msw 2016/07/22 23:37:04 It'd be nice if the non-test code used the same en
juncai 2016/07/25 20:14:10 I changed this test code reusing content::Bluetoot
36 return base::string16(); 41 ClearAllOptions();
42 switch (presence) {
43 case AdapterPresence::OFF:
44 no_options_text_ = base::ASCIIToUTF16("Adapter turned off.");
msw 2016/07/22 23:37:04 nit: use IDS_BLUETOOTH_DEVICE_CHOOSER_ADAPTER_OFF?
juncai 2016/07/25 20:14:10 Done.
45 status_text_ = base::string16();
46 if (view()) {
47 view()->OnAdapterEnabledChanged(false /* Adapter is turned off */);
48 }
Reilly Grant (use Gerrit) 2016/07/22 22:24:53 nit: no braces
juncai 2016/07/25 20:14:10 Done.
49 break;
50 case AdapterPresence::ON:
51 no_options_text_ =
52 l10n_util::GetStringUTF16(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT);
53 status_text_ =
54 l10n_util::GetStringUTF16(IDS_BLUETOOTH_DEVICE_CHOOSER_RE_SCAN);
55 if (view()) {
56 view()->OnAdapterEnabledChanged(true /* Adapter is turned on */);
57 }
Reilly Grant (use Gerrit) 2016/07/22 22:24:53 nit: no braces
juncai 2016/07/25 20:14:10 Done.
58 break;
59 }
60 }
61
62 void MockChooserController::OnDiscoveryStateChanged(DiscoveryState state) {
63 switch (state) {
64 case DiscoveryState::DISCOVERING:
65 ClearAllOptions();
66 status_text_ =
67 l10n_util::GetStringUTF16(IDS_BLUETOOTH_DEVICE_CHOOSER_SCANNING);
68 if (view()) {
69 view()->OnRefreshStateChanged(
70 true /* Refreshing options is in progress */);
71 }
72 break;
73 case DiscoveryState::IDLE:
74 status_text_ =
75 l10n_util::GetStringUTF16(IDS_BLUETOOTH_DEVICE_CHOOSER_RE_SCAN);
76 if (view()) {
77 view()->OnRefreshStateChanged(
78 false /* Refreshing options is complete */);
79 }
80 break;
81 }
37 } 82 }
38 83
39 void MockChooserController::OptionAdded(const base::string16 option_name) { 84 void MockChooserController::OptionAdded(const base::string16 option_name) {
40 option_names_.push_back(option_name); 85 option_names_.push_back(option_name);
41 if (view()) 86 if (view())
42 view()->OnOptionAdded(option_names_.size() - 1); 87 view()->OnOptionAdded(option_names_.size() - 1);
43 } 88 }
44 89
45 void MockChooserController::OptionRemoved(const base::string16 option_name) { 90 void MockChooserController::OptionRemoved(const base::string16 option_name) {
46 for (auto it = option_names_.begin(); it != option_names_.end(); ++it) { 91 for (auto it = option_names_.begin(); it != option_names_.end(); ++it) {
47 if (*it == option_name) { 92 if (*it == option_name) {
48 size_t index = it - option_names_.begin(); 93 size_t index = it - option_names_.begin();
49 option_names_.erase(it); 94 option_names_.erase(it);
50 if (view()) 95 if (view())
51 view()->OnOptionRemoved(index); 96 view()->OnOptionRemoved(index);
52 return; 97 return;
53 } 98 }
54 } 99 }
55 } 100 }
101
102 void MockChooserController::ClearAllOptions() {
103 option_names_.clear();
104 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698