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

Side by Side Diff: content/browser/renderer_host/media/audio_output_device_enumerator_unittest.cc

Issue 1892433002: Moving device description utils from AudioManager[Base] into AudioDeviceDescription; to be shared b… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: another rebase Created 4 years, 7 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 (c) 2015 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 "content/browser/renderer_host/media/audio_output_device_enumerator.h" 5 #include "content/browser/renderer_host/media/audio_output_device_enumerator.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <string> 8 #include <string>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
11 #include "base/location.h" 11 #include "base/location.h"
12 #include "base/macros.h" 12 #include "base/macros.h"
13 #include "base/memory/ref_counted.h" 13 #include "base/memory/ref_counted.h"
14 #include "base/run_loop.h" 14 #include "base/run_loop.h"
15 #include "base/strings/string_number_conversions.h" 15 #include "base/strings/string_number_conversions.h"
16 #include "base/thread_task_runner_handle.h" 16 #include "base/thread_task_runner_handle.h"
17 #include "content/public/test/test_browser_thread_bundle.h" 17 #include "content/public/test/test_browser_thread_bundle.h"
18 #include "media/audio/audio_manager_base.h" 18 #include "media/audio/audio_device_description.h"
19 #include "media/audio/fake_audio_log_factory.h" 19 #include "media/audio/fake_audio_log_factory.h"
20 #include "media/audio/fake_audio_manager.h" 20 #include "media/audio/fake_audio_manager.h"
21 #include "testing/gmock/include/gmock/gmock.h" 21 #include "testing/gmock/include/gmock/gmock.h"
22 #include "testing/gtest/include/gtest/gtest.h" 22 #include "testing/gtest/include/gtest/gtest.h"
23 23
24 using testing::_; 24 using testing::_;
25 25
26 namespace content { 26 namespace content {
27 27
28 namespace { 28 namespace {
29 29
30 class MockAudioManager : public media::FakeAudioManager { 30 class MockAudioManager : public media::FakeAudioManager {
31 public: 31 public:
32 MockAudioManager(size_t num_devices) 32 MockAudioManager(size_t num_devices)
33 : FakeAudioManager(base::ThreadTaskRunnerHandle::Get(), 33 : FakeAudioManager(base::ThreadTaskRunnerHandle::Get(),
34 base::ThreadTaskRunnerHandle::Get(), 34 base::ThreadTaskRunnerHandle::Get(),
35 &fake_audio_log_factory_), 35 &fake_audio_log_factory_),
36 num_devices_(num_devices) {} 36 num_devices_(num_devices) {}
37 MockAudioManager() : MockAudioManager(0) {} 37 MockAudioManager() : MockAudioManager(0) {}
38 ~MockAudioManager() override {} 38 ~MockAudioManager() override {}
39 39
40 MOCK_METHOD1(MockGetAudioOutputDeviceNames, void(media::AudioDeviceNames*)); 40 MOCK_METHOD1(MockGetAudioOutputDeviceNames, void(media::AudioDeviceNames*));
41 41
42 void GetAudioOutputDeviceNames( 42 void GetAudioOutputDeviceNames(
43 media::AudioDeviceNames* device_names) override { 43 media::AudioDeviceNames* device_names) override {
44 DCHECK(device_names->empty()); 44 DCHECK(device_names->empty());
45 MockGetAudioOutputDeviceNames(device_names); 45 MockGetAudioOutputDeviceNames(device_names);
46 if (num_devices_ > 0) { 46 if (num_devices_ > 0) {
47 device_names->push_back( 47 device_names->push_back(media::AudioDeviceName::CreateDefault());
48 media::AudioDeviceName(AudioManager::GetDefaultDeviceName(),
49 AudioManagerBase::kDefaultDeviceId));
50 for (size_t i = 0; i < num_devices_; i++) { 48 for (size_t i = 0; i < num_devices_; i++) {
51 device_names->push_back( 49 device_names->push_back(
52 media::AudioDeviceName("FakeDeviceName_" + base::IntToString(i), 50 media::AudioDeviceName("FakeDeviceName_" + base::IntToString(i),
53 "FakeDeviceId_" + base::IntToString(i))); 51 "FakeDeviceId_" + base::IntToString(i)));
54 } 52 }
55 } 53 }
56 } 54 }
57 55
58 private: 56 private:
59 media::FakeAudioLogFactory fake_audio_log_factory_; 57 media::FakeAudioLogFactory fake_audio_log_factory_;
60 size_t num_devices_; 58 size_t num_devices_;
61 DISALLOW_COPY_AND_ASSIGN(MockAudioManager); 59 DISALLOW_COPY_AND_ASSIGN(MockAudioManager);
62 }; 60 };
63 61
64 // Fake audio manager that exposes only the default device 62 // Fake audio manager that exposes only the default device
65 class OnlyDefaultDeviceAudioManager : public MockAudioManager { 63 class OnlyDefaultDeviceAudioManager : public MockAudioManager {
66 public: 64 public:
67 OnlyDefaultDeviceAudioManager() {} 65 OnlyDefaultDeviceAudioManager() {}
68 ~OnlyDefaultDeviceAudioManager() override {} 66 ~OnlyDefaultDeviceAudioManager() override {}
69 void GetAudioOutputDeviceNames( 67 void GetAudioOutputDeviceNames(
70 media::AudioDeviceNames* device_names) override { 68 media::AudioDeviceNames* device_names) override {
71 DCHECK(device_names->empty()); 69 DCHECK(device_names->empty());
72 MockGetAudioOutputDeviceNames(device_names); 70 MockGetAudioOutputDeviceNames(device_names);
73 device_names->push_front( 71 device_names->push_front(media::AudioDeviceName::CreateDefault());
74 media::AudioDeviceName(AudioManager::GetDefaultDeviceName(),
75 AudioManagerBase::kDefaultDeviceId));
76 } 72 }
77 73
78 private: 74 private:
79 DISALLOW_COPY_AND_ASSIGN(OnlyDefaultDeviceAudioManager); 75 DISALLOW_COPY_AND_ASSIGN(OnlyDefaultDeviceAudioManager);
80 }; 76 };
81 77
82 } // namespace 78 } // namespace
83 79
84 class AudioOutputDeviceEnumeratorTest : public ::testing::Test { 80 class AudioOutputDeviceEnumeratorTest : public ::testing::Test {
85 public: 81 public:
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 AudioOutputDeviceEnumerator enumerator( 198 AudioOutputDeviceEnumerator enumerator(
203 audio_manager_.get(), 199 audio_manager_.get(),
204 AudioOutputDeviceEnumerator::CACHE_POLICY_NO_CACHING); 200 AudioOutputDeviceEnumerator::CACHE_POLICY_NO_CACHING);
205 enumerator.Enumerate( 201 enumerator.Enumerate(
206 base::Bind(&AudioOutputDeviceEnumeratorTest::EnumerateCountCallback, 202 base::Bind(&AudioOutputDeviceEnumeratorTest::EnumerateCountCallback,
207 base::Unretained(this), num_devices + 1, true)); 203 base::Unretained(this), num_devices + 1, true));
208 run_loop_.Run(); 204 run_loop_.Run();
209 } 205 }
210 206
211 } // namespace content 207 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698