| Index: media/audio/sounds/audio_stream_handler_unittest.cc
|
| diff --git a/media/audio/sounds/audio_stream_handler_unittest.cc b/media/audio/sounds/audio_stream_handler_unittest.cc
|
| index 50bc301c38abed23f5a72eadcd39e2764a4802c4..d6f2c2a325ba86b363b744573d24a2e599cfb561 100644
|
| --- a/media/audio/sounds/audio_stream_handler_unittest.cc
|
| +++ b/media/audio/sounds/audio_stream_handler_unittest.cc
|
| @@ -49,6 +49,10 @@ class AudioStreamHandlerTest : public testing::Test {
|
| AudioStreamHandler::SetAudioSourceForTesting(source);
|
| }
|
|
|
| + void AllowReplayOnceForTesting() {
|
| + audio_stream_handler_->AllowReplayOnceForTesting();
|
| + }
|
| +
|
| private:
|
| scoped_ptr<AudioManager> audio_manager_;
|
| scoped_ptr<AudioStreamHandler> audio_stream_handler_;
|
| @@ -74,34 +78,24 @@ TEST_F(AudioStreamHandlerTest, Play) {
|
| ASSERT_EQ(4, observer.cursor());
|
| }
|
|
|
| -TEST_F(AudioStreamHandlerTest, Rewind) {
|
| +TEST_F(AudioStreamHandlerTest, Replay) {
|
| base::RunLoop run_loop;
|
| TestObserver observer(run_loop.QuitClosure());
|
| - SineWaveAudioSource source(CHANNEL_LAYOUT_STEREO, 200.0, 8000);
|
| -
|
| SetObserverForTesting(&observer);
|
| - SetAudioSourceForTesting(&source);
|
|
|
| ASSERT_TRUE(audio_stream_handler()->IsInitialized());
|
|
|
| + AllowReplayOnceForTesting();
|
| + ASSERT_TRUE(audio_stream_handler()->Play());
|
| ASSERT_TRUE(audio_stream_handler()->Play());
|
| - base::MessageLoop::current()->PostDelayedTask(
|
| - FROM_HERE,
|
| - base::Bind(base::IgnoreResult(&AudioStreamHandler::Play),
|
| - base::Unretained(audio_stream_handler())),
|
| - base::TimeDelta::FromSeconds(3));
|
| - base::MessageLoop::current()->PostDelayedTask(
|
| - FROM_HERE,
|
| - base::Bind(&AudioStreamHandler::Stop,
|
| - base::Unretained(audio_stream_handler())),
|
| - base::TimeDelta::FromSeconds(6));
|
|
|
| run_loop.Run();
|
|
|
| SetObserverForTesting(NULL);
|
| SetAudioSourceForTesting(NULL);
|
|
|
| - ASSERT_EQ(2, observer.num_play_requests());
|
| + ASSERT_EQ(1, observer.num_play_requests());
|
| + ASSERT_EQ(1, observer.num_replays());
|
| ASSERT_EQ(1, observer.num_stop_requests());
|
| }
|
|
|
|
|