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

Side by Side Diff: device/bluetooth/bluetooth_audio_sink_chromeos_unittest.cc

Issue 1378573002: Fix static initializers from r316709. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: lint Created 5 years, 2 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 2015 The Chromium Authors. All rights reserved. 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 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 <vector> 5 #include <vector>
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/memory/ref_counted.h" 9 #include "base/memory/ref_counted.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
11 #include "dbus/object_path.h" 11 #include "dbus/object_path.h"
12 #include "device/bluetooth/bluetooth_adapter.h" 12 #include "device/bluetooth/bluetooth_adapter.h"
13 #include "device/bluetooth/bluetooth_adapter_factory.h" 13 #include "device/bluetooth/bluetooth_adapter_factory.h"
14 #include "device/bluetooth/bluetooth_audio_sink.h" 14 #include "device/bluetooth/bluetooth_audio_sink.h"
15 #include "device/bluetooth/bluetooth_audio_sink_chromeos.h" 15 #include "device/bluetooth/bluetooth_audio_sink_chromeos.h"
16 #include "device/bluetooth/dbus/bluetooth_media_client.h" 16 #include "device/bluetooth/dbus/bluetooth_media_client.h"
17 #include "device/bluetooth/dbus/bluetooth_media_endpoint_service_provider.h" 17 #include "device/bluetooth/dbus/bluetooth_media_endpoint_service_provider.h"
18 #include "device/bluetooth/dbus/bluetooth_media_transport_client.h" 18 #include "device/bluetooth/dbus/bluetooth_media_transport_client.h"
19 #include "device/bluetooth/dbus/bluez_dbus_manager.h" 19 #include "device/bluetooth/dbus/bluez_dbus_manager.h"
20 #include "device/bluetooth/dbus/fake_bluetooth_media_client.h" 20 #include "device/bluetooth/dbus/fake_bluetooth_media_client.h"
21 #include "device/bluetooth/dbus/fake_bluetooth_media_endpoint_service_provider.h " 21 #include "device/bluetooth/dbus/fake_bluetooth_media_endpoint_service_provider.h "
22 #include "device/bluetooth/dbus/fake_bluetooth_media_transport_client.h" 22 #include "device/bluetooth/dbus/fake_bluetooth_media_transport_client.h"
23 #include "testing/gtest/include/gtest/gtest.h" 23 #include "testing/gtest/include/gtest/gtest.h"
24 24
25 using bluez::FakeBluetoothMediaTransportClient;
25 using dbus::ObjectPath; 26 using dbus::ObjectPath;
26 using device::BluetoothAdapter; 27 using device::BluetoothAdapter;
27 using device::BluetoothAdapterFactory; 28 using device::BluetoothAdapterFactory;
28 using device::BluetoothAudioSink; 29 using device::BluetoothAudioSink;
29 30
30 namespace chromeos { 31 namespace chromeos {
31 32
32 class TestAudioSinkObserver : public BluetoothAudioSink::Observer { 33 class TestAudioSinkObserver : public BluetoothAudioSink::Observer {
33 public: 34 public:
34 explicit TestAudioSinkObserver(scoped_refptr<BluetoothAudioSink> audio_sink) 35 explicit TestAudioSinkObserver(scoped_refptr<BluetoothAudioSink> audio_sink)
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 class BluetoothAudioSinkChromeOSTest : public testing::Test { 82 class BluetoothAudioSinkChromeOSTest : public testing::Test {
82 public: 83 public:
83 void SetUp() override { 84 void SetUp() override {
84 bluez::BluezDBusManager::Initialize(NULL, true); 85 bluez::BluezDBusManager::Initialize(NULL, true);
85 86
86 callback_count_ = 0; 87 callback_count_ = 0;
87 error_callback_count_ = 0; 88 error_callback_count_ = 0;
88 89
89 fake_media_ = static_cast<bluez::FakeBluetoothMediaClient*>( 90 fake_media_ = static_cast<bluez::FakeBluetoothMediaClient*>(
90 bluez::BluezDBusManager::Get()->GetBluetoothMediaClient()); 91 bluez::BluezDBusManager::Get()->GetBluetoothMediaClient());
91 fake_transport_ = static_cast<bluez::FakeBluetoothMediaTransportClient*>( 92 fake_transport_ = static_cast<FakeBluetoothMediaTransportClient*>(
92 bluez::BluezDBusManager::Get()->GetBluetoothMediaTransportClient()); 93 bluez::BluezDBusManager::Get()->GetBluetoothMediaTransportClient());
93 94
94 // Initiates Delegate::TransportProperties with default values. 95 // Initiates Delegate::TransportProperties with default values.
95 properties_.device = ObjectPath( 96 properties_.device =
96 bluez::FakeBluetoothMediaTransportClient::kTransportDevicePath); 97 ObjectPath(FakeBluetoothMediaTransportClient::kTransportDevicePath);
97 properties_.uuid = bluez::BluetoothMediaClient::kBluetoothAudioSinkUUID; 98 properties_.uuid = bluez::BluetoothMediaClient::kBluetoothAudioSinkUUID;
98 properties_.codec = 99 properties_.codec = FakeBluetoothMediaTransportClient::kTransportCodec;
99 bluez::FakeBluetoothMediaTransportClient::kTransportCodec; 100 properties_.configuration = std::vector<uint8_t>(
100 properties_.configuration = 101 FakeBluetoothMediaTransportClient::kTransportConfiguration,
101 bluez::FakeBluetoothMediaTransportClient::kTransportConfiguration; 102 FakeBluetoothMediaTransportClient::kTransportConfiguration +
103 FakeBluetoothMediaTransportClient::kTransportConfigurationLength);
102 properties_.state = bluez::BluetoothMediaTransportClient::kStateIdle; 104 properties_.state = bluez::BluetoothMediaTransportClient::kStateIdle;
103 properties_.delay.reset(new uint16_t( 105 properties_.delay.reset(
104 bluez::FakeBluetoothMediaTransportClient::kTransportDelay)); 106 new uint16_t(FakeBluetoothMediaTransportClient::kTransportDelay));
105 properties_.volume.reset(new uint16_t( 107 properties_.volume.reset(
106 bluez::FakeBluetoothMediaTransportClient::kTransportVolume)); 108 new uint16_t(FakeBluetoothMediaTransportClient::kTransportVolume));
107 109
108 GetAdapter(); 110 GetAdapter();
109 } 111 }
110 112
111 void TearDown() override { 113 void TearDown() override {
112 callback_count_ = 0; 114 callback_count_ = 0;
113 error_callback_count_ = 0; 115 error_callback_count_ = 0;
114 observer_.reset(); 116 observer_.reset();
115 117
116 fake_media_->SetVisible(true); 118 fake_media_->SetVisible(true);
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
227 ++error_callback_count_; 229 ++error_callback_count_;
228 } 230 }
229 231
230 protected: 232 protected:
231 int callback_count_; 233 int callback_count_;
232 int error_callback_count_; 234 int error_callback_count_;
233 235
234 base::MessageLoopForIO message_loop_; 236 base::MessageLoopForIO message_loop_;
235 237
236 bluez::FakeBluetoothMediaClient* fake_media_; 238 bluez::FakeBluetoothMediaClient* fake_media_;
237 bluez::FakeBluetoothMediaTransportClient* fake_transport_; 239 FakeBluetoothMediaTransportClient* fake_transport_;
238 bluez::FakeBluetoothMediaEndpointServiceProvider* media_endpoint_; 240 bluez::FakeBluetoothMediaEndpointServiceProvider* media_endpoint_;
239 scoped_ptr<TestAudioSinkObserver> observer_; 241 scoped_ptr<TestAudioSinkObserver> observer_;
240 scoped_refptr<BluetoothAdapter> adapter_; 242 scoped_refptr<BluetoothAdapter> adapter_;
241 scoped_refptr<BluetoothAudioSink> audio_sink_; 243 scoped_refptr<BluetoothAudioSink> audio_sink_;
242 244
243 // The default property set used while calling SetConfiguration on a media 245 // The default property set used while calling SetConfiguration on a media
244 // endpoint object. 246 // endpoint object.
245 bluez::BluetoothMediaEndpointServiceProvider::Delegate::TransportProperties 247 bluez::BluetoothMediaEndpointServiceProvider::Delegate::TransportProperties
246 properties_; 248 properties_;
247 }; 249 };
(...skipping 531 matching lines...) Expand 10 before | Expand all | Expand 10 after
779 781
780 EXPECT_EQ(audio_sink_->GetState(), BluetoothAudioSink::STATE_IDLE); 782 EXPECT_EQ(audio_sink_->GetState(), BluetoothAudioSink::STATE_IDLE);
781 EXPECT_EQ(callback_count_, 2); 783 EXPECT_EQ(callback_count_, 2);
782 EXPECT_EQ(error_callback_count_, 0); 784 EXPECT_EQ(error_callback_count_, 0);
783 EXPECT_EQ(observer_->state_changed_count_, 1); 785 EXPECT_EQ(observer_->state_changed_count_, 1);
784 EXPECT_EQ(observer_->volume_changed_count_, 1); 786 EXPECT_EQ(observer_->volume_changed_count_, 1);
785 787
786 // |kTransportVolume| is the initial volume of the transport, and this 788 // |kTransportVolume| is the initial volume of the transport, and this
787 // value is propagated to the audio sink via SetConfiguration. 789 // value is propagated to the audio sink via SetConfiguration.
788 EXPECT_EQ(audio_sink_->GetVolume(), 790 EXPECT_EQ(audio_sink_->GetVolume(),
789 bluez::FakeBluetoothMediaTransportClient::kTransportVolume); 791 FakeBluetoothMediaTransportClient::kTransportVolume);
790 792
791 // Changes volume to a valid level. 793 // Changes volume to a valid level.
792 fake_transport_->SetVolume(media_endpoint_->object_path(), 100); 794 fake_transport_->SetVolume(media_endpoint_->object_path(), 100);
793 795
794 EXPECT_EQ(audio_sink_->GetState(), BluetoothAudioSink::STATE_IDLE); 796 EXPECT_EQ(audio_sink_->GetState(), BluetoothAudioSink::STATE_IDLE);
795 EXPECT_EQ(observer_->state_changed_count_, 1); 797 EXPECT_EQ(observer_->state_changed_count_, 1);
796 EXPECT_EQ(observer_->volume_changed_count_, 2); 798 EXPECT_EQ(observer_->volume_changed_count_, 2);
797 EXPECT_EQ(audio_sink_->GetVolume(), 100); 799 EXPECT_EQ(audio_sink_->GetVolume(), 100);
798 800
799 // Changes volume to an invalid level. 801 // Changes volume to an invalid level.
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
837 message_loop_.RunUntilIdle(); 839 message_loop_.RunUntilIdle();
838 840
839 // Acquire is called when the state of |audio_sink_| becomes STATE_PENDING, 841 // Acquire is called when the state of |audio_sink_| becomes STATE_PENDING,
840 // and Acquire will trigger state change. Therefore, the state will be 842 // and Acquire will trigger state change. Therefore, the state will be
841 // STATE_ACTIVE right after STATE_PENDING. 843 // STATE_ACTIVE right after STATE_PENDING.
842 // State: STATE_IDLE -> STATE_PENDING -> STATE_ACTIVE 844 // State: STATE_IDLE -> STATE_PENDING -> STATE_ACTIVE
843 EXPECT_EQ(observer_->state_changed_count_, 3); 845 EXPECT_EQ(observer_->state_changed_count_, 3);
844 EXPECT_EQ(observer_->total_read_, data_one.size()); 846 EXPECT_EQ(observer_->total_read_, data_one.size());
845 EXPECT_EQ(observer_->data_, data_one); 847 EXPECT_EQ(observer_->data_, data_one);
846 EXPECT_EQ(observer_->read_mtu_, 848 EXPECT_EQ(observer_->read_mtu_,
847 bluez::FakeBluetoothMediaTransportClient::kDefaultReadMtu); 849 FakeBluetoothMediaTransportClient::kDefaultReadMtu);
848 } 850 }
849 851
850 // Tests the case where the remote device pauses and resume audio streaming. 852 // Tests the case where the remote device pauses and resume audio streaming.
851 TEST_F(BluetoothAudioSinkChromeOSTest, PauseAndResume) { 853 TEST_F(BluetoothAudioSinkChromeOSTest, PauseAndResume) {
852 GetAudioSink(); 854 GetAudioSink();
853 855
854 media_endpoint_->SelectConfiguration( 856 media_endpoint_->SelectConfiguration(
855 std::vector<uint8_t>({0x21, 0x15, 0x33, 0x2C}), 857 std::vector<uint8_t>({0x21, 0x15, 0x33, 0x2C}),
856 base::Bind(&BluetoothAudioSinkChromeOSTest::SelectConfigurationCallback, 858 base::Bind(&BluetoothAudioSinkChromeOSTest::SelectConfigurationCallback,
857 base::Unretained(this))); 859 base::Unretained(this)));
(...skipping 16 matching lines...) Expand all
874 876
875 fake_transport_->SetState(media_endpoint_->object_path(), "pending"); 877 fake_transport_->SetState(media_endpoint_->object_path(), "pending");
876 878
877 std::vector<char> data_one(16, 0x12); 879 std::vector<char> data_one(16, 0x12);
878 fake_transport_->WriteData(media_endpoint_->object_path(), data_one); 880 fake_transport_->WriteData(media_endpoint_->object_path(), data_one);
879 881
880 message_loop_.RunUntilIdle(); 882 message_loop_.RunUntilIdle();
881 883
882 EXPECT_EQ(observer_->data_, data_one); 884 EXPECT_EQ(observer_->data_, data_one);
883 EXPECT_EQ(observer_->read_mtu_, 885 EXPECT_EQ(observer_->read_mtu_,
884 bluez::FakeBluetoothMediaTransportClient::kDefaultReadMtu); 886 FakeBluetoothMediaTransportClient::kDefaultReadMtu);
885 EXPECT_EQ(observer_->state_changed_count_, 3); 887 EXPECT_EQ(observer_->state_changed_count_, 3);
886 EXPECT_EQ(observer_->total_read_, data_one.size()); 888 EXPECT_EQ(observer_->total_read_, data_one.size());
887 889
888 // Simulates the situation where the remote device pauses and resume audio 890 // Simulates the situation where the remote device pauses and resume audio
889 // streaming. 891 // streaming.
890 fake_transport_->SetState(media_endpoint_->object_path(), "idle"); 892 fake_transport_->SetState(media_endpoint_->object_path(), "idle");
891 893
892 EXPECT_EQ(audio_sink_->GetState(), BluetoothAudioSink::STATE_IDLE); 894 EXPECT_EQ(audio_sink_->GetState(), BluetoothAudioSink::STATE_IDLE);
893 EXPECT_EQ(observer_->state_changed_count_, 4); 895 EXPECT_EQ(observer_->state_changed_count_, 4);
894 896
895 fake_transport_->SetState(media_endpoint_->object_path(), "pending"); 897 fake_transport_->SetState(media_endpoint_->object_path(), "pending");
896 898
897 std::vector<char> data_two(8, 0x10); 899 std::vector<char> data_two(8, 0x10);
898 fake_transport_->WriteData(media_endpoint_->object_path(), data_two); 900 fake_transport_->WriteData(media_endpoint_->object_path(), data_two);
899 901
900 message_loop_.RunUntilIdle(); 902 message_loop_.RunUntilIdle();
901 903
902 EXPECT_EQ(observer_->data_, data_two); 904 EXPECT_EQ(observer_->data_, data_two);
903 EXPECT_EQ(observer_->read_mtu_, 905 EXPECT_EQ(observer_->read_mtu_,
904 bluez::FakeBluetoothMediaTransportClient::kDefaultReadMtu); 906 FakeBluetoothMediaTransportClient::kDefaultReadMtu);
905 EXPECT_EQ(observer_->state_changed_count_, 6); 907 EXPECT_EQ(observer_->state_changed_count_, 6);
906 EXPECT_EQ(observer_->total_read_, data_two.size()); 908 EXPECT_EQ(observer_->total_read_, data_two.size());
907 } 909 }
908 910
909 TEST_F(BluetoothAudioSinkChromeOSTest, ContinuouslyStreaming) { 911 TEST_F(BluetoothAudioSinkChromeOSTest, ContinuouslyStreaming) {
910 GetAudioSink(); 912 GetAudioSink();
911 913
912 media_endpoint_->SelectConfiguration( 914 media_endpoint_->SelectConfiguration(
913 std::vector<uint8_t>({0x21, 0x15, 0x33, 0x2C}), 915 std::vector<uint8_t>({0x21, 0x15, 0x33, 0x2C}),
914 base::Bind(&BluetoothAudioSinkChromeOSTest::SelectConfigurationCallback, 916 base::Bind(&BluetoothAudioSinkChromeOSTest::SelectConfigurationCallback,
(...skipping 17 matching lines...) Expand all
932 934
933 fake_transport_->SetState(media_endpoint_->object_path(), "pending"); 935 fake_transport_->SetState(media_endpoint_->object_path(), "pending");
934 936
935 std::vector<char> data_one(16, 0x12); 937 std::vector<char> data_one(16, 0x12);
936 fake_transport_->WriteData(media_endpoint_->object_path(), data_one); 938 fake_transport_->WriteData(media_endpoint_->object_path(), data_one);
937 939
938 message_loop_.RunUntilIdle(); 940 message_loop_.RunUntilIdle();
939 941
940 EXPECT_EQ(observer_->data_, data_one); 942 EXPECT_EQ(observer_->data_, data_one);
941 EXPECT_EQ(observer_->read_mtu_, 943 EXPECT_EQ(observer_->read_mtu_,
942 bluez::FakeBluetoothMediaTransportClient::kDefaultReadMtu); 944 FakeBluetoothMediaTransportClient::kDefaultReadMtu);
943 EXPECT_EQ(observer_->state_changed_count_, 3); 945 EXPECT_EQ(observer_->state_changed_count_, 3);
944 EXPECT_EQ(observer_->total_read_, data_one.size()); 946 EXPECT_EQ(observer_->total_read_, data_one.size());
945 947
946 std::vector<char> data_two(8, 0x10); 948 std::vector<char> data_two(8, 0x10);
947 fake_transport_->WriteData(media_endpoint_->object_path(), data_two); 949 fake_transport_->WriteData(media_endpoint_->object_path(), data_two);
948 950
949 message_loop_.RunUntilIdle(); 951 message_loop_.RunUntilIdle();
950 952
951 EXPECT_EQ(observer_->data_, data_two); 953 EXPECT_EQ(observer_->data_, data_two);
952 EXPECT_EQ(observer_->read_mtu_, 954 EXPECT_EQ(observer_->read_mtu_,
953 bluez::FakeBluetoothMediaTransportClient::kDefaultReadMtu); 955 FakeBluetoothMediaTransportClient::kDefaultReadMtu);
954 EXPECT_EQ(observer_->state_changed_count_, 3); 956 EXPECT_EQ(observer_->state_changed_count_, 3);
955 EXPECT_EQ(observer_->total_read_, data_one.size() + data_two.size()); 957 EXPECT_EQ(observer_->total_read_, data_one.size() + data_two.size());
956 } 958 }
957 959
958 } // namespace chromeos 960 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698