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

Unified Diff: media/audio/audio_output_device_unittest.cc

Issue 11359196: Associate audio streams with their source/destination RenderView. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed Andrew's review comments. Created 8 years, 1 month 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 side-by-side diff with in-line comments
Download patch
« media/audio/audio_output_device.cc ('K') | « media/audio/audio_output_device.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/audio/audio_output_device_unittest.cc
diff --git a/media/audio/audio_output_device_unittest.cc b/media/audio/audio_output_device_unittest.cc
index 3952cf38d128f304beba5d0bfc4590f2f0719aa0..11576734c608d77338fab44ff58948071474d02a 100644
--- a/media/audio/audio_output_device_unittest.cc
+++ b/media/audio/audio_output_device_unittest.cc
@@ -100,14 +100,14 @@ class AudioOutputDeviceTest
: default_audio_parameters_(AudioParameters::AUDIO_PCM_LINEAR,
CHANNEL_LAYOUT_STEREO,
48000, 16, 1024),
- audio_device_(new AudioOutputDevice(
- &audio_output_ipc_, io_loop_.message_loop_proxy())),
synchronized_io_(GetParam()),
input_channels_(synchronized_io_ ? 2 : 0) {
}
~AudioOutputDeviceTest() {}
+ void Construct();
+ void Destruct();
void Initialize();
void StartAudioDevice();
void CreateStream();
@@ -157,6 +157,20 @@ int AudioOutputDeviceTest::CalculateMemorySize() {
return TotalSharedMemorySizeInBytes(io_buffer_size);
}
+void AudioOutputDeviceTest::Construct() {
+ EXPECT_CALL(audio_output_ipc_, AddDelegate(_))
+ .WillOnce(Return(kStreamId));
+
+ audio_device_ = new AudioOutputDevice(
+ &audio_output_ipc_, io_loop_.message_loop_proxy());
+}
+
+void AudioOutputDeviceTest::Destruct() {
+ EXPECT_CALL(audio_output_ipc_, RemoveDelegate(kStreamId));
+
+ audio_device_ = NULL;
+}
+
void AudioOutputDeviceTest::Initialize() {
if (synchronized_io_) {
audio_device_->InitializeIO(default_audio_parameters_,
@@ -172,8 +186,6 @@ void AudioOutputDeviceTest::Initialize() {
void AudioOutputDeviceTest::StartAudioDevice() {
audio_device_->Start();
- EXPECT_CALL(audio_output_ipc_, AddDelegate(audio_device_.get()))
- .WillOnce(Return(kStreamId));
EXPECT_CALL(audio_output_ipc_, CreateStream(kStreamId, _, _));
io_loop_.RunUntilIdle();
@@ -245,35 +257,41 @@ void AudioOutputDeviceTest::StopAudioDevice() {
audio_device_->Stop();
EXPECT_CALL(audio_output_ipc_, CloseStream(kStreamId));
- EXPECT_CALL(audio_output_ipc_, RemoveDelegate(kStreamId));
io_loop_.RunUntilIdle();
}
TEST_P(AudioOutputDeviceTest, Initialize) {
+ Construct();
DaleCurtis 2012/11/28 19:29:50 just do this in setUp() and tearDown() instead of
miu 2012/11/28 20:59:03 Done. I also moved the call to Initialize() into
Initialize();
+ Destruct();
}
// Calls Start() followed by an immediate Stop() and check for the basic message
// filter messages being sent in that case.
TEST_P(AudioOutputDeviceTest, StartStop) {
+ Construct();
Initialize();
StartAudioDevice();
StopAudioDevice();
+ Destruct();
}
// AudioOutputDevice supports multiple start/stop sequences.
TEST_P(AudioOutputDeviceTest, StartStopStartStop) {
+ Construct();
Initialize();
StartAudioDevice();
StopAudioDevice();
StartAudioDevice();
StopAudioDevice();
+ Destruct();
}
// Simulate receiving OnStreamCreated() prior to processing ShutDownOnIOThread()
// on the IO loop.
TEST_P(AudioOutputDeviceTest, StopBeforeRender) {
+ Construct();
Initialize();
StartAudioDevice();
@@ -283,18 +301,21 @@ TEST_P(AudioOutputDeviceTest, StopBeforeRender) {
// Expect us to shutdown IPC but not to render anything despite the stream
// getting created.
EXPECT_CALL(audio_output_ipc_, CloseStream(kStreamId));
- EXPECT_CALL(audio_output_ipc_, RemoveDelegate(kStreamId));
CreateStream();
+
+ Destruct();
}
// Full test with output only.
TEST_P(AudioOutputDeviceTest, CreateStream) {
+ Construct();
Initialize();
StartAudioDevice();
ExpectRenderCallback();
CreateStream();
WaitUntilRenderCallback();
StopAudioDevice();
+ Destruct();
}
INSTANTIATE_TEST_CASE_P(Render, AudioOutputDeviceTest, Values(false));
« media/audio/audio_output_device.cc ('K') | « media/audio/audio_output_device.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698