| Index: components/copresence/mediums/audio/audio_manager_unittest.cc
|
| diff --git a/components/copresence/mediums/audio/audio_manager_unittest.cc b/components/copresence/mediums/audio/audio_manager_unittest.cc
|
| deleted file mode 100644
|
| index 1e541be0b243b37d1b2e7a32e05191b7944ee7b2..0000000000000000000000000000000000000000
|
| --- a/components/copresence/mediums/audio/audio_manager_unittest.cc
|
| +++ /dev/null
|
| @@ -1,153 +0,0 @@
|
| -// Copyright 2014 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "components/copresence/mediums/audio/audio_manager.h"
|
| -
|
| -#include <vector>
|
| -
|
| -#include "base/bind.h"
|
| -#include "base/message_loop/message_loop.h"
|
| -#include "components/copresence/mediums/audio/audio_manager_impl.h"
|
| -#include "components/copresence/mediums/audio/audio_player.h"
|
| -#include "components/copresence/mediums/audio/audio_recorder.h"
|
| -#include "components/copresence/test/audio_test_support.h"
|
| -#include "components/copresence/test/stub_whispernet_client.h"
|
| -#include "media/base/audio_bus.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -
|
| -namespace copresence {
|
| -
|
| -class AudioPlayerStub final : public AudioPlayer {
|
| - public:
|
| - AudioPlayerStub() : is_playing_(false) {}
|
| - ~AudioPlayerStub() override {}
|
| -
|
| - // AudioPlayer overrides:
|
| - void Initialize() override {}
|
| - void Play(const scoped_refptr<media::AudioBusRefCounted>&) override {
|
| - is_playing_ = true;
|
| - }
|
| - void Stop() override { is_playing_ = false; }
|
| - void Finalize() override { delete this; }
|
| -
|
| - bool IsPlaying() { return is_playing_; }
|
| -
|
| - private:
|
| - bool is_playing_;
|
| - DISALLOW_COPY_AND_ASSIGN(AudioPlayerStub);
|
| -};
|
| -
|
| -class AudioRecorderStub final : public AudioRecorder {
|
| - public:
|
| - AudioRecorderStub() : is_recording_(false) {}
|
| - ~AudioRecorderStub() override {}
|
| -
|
| - // AudioRecorder overrides:
|
| - void Initialize(const RecordedSamplesCallback& cb) override { cb_ = cb; }
|
| - void Record() override { is_recording_ = true; }
|
| - void Stop() override { is_recording_ = false; }
|
| - void Finalize() override { delete this; }
|
| -
|
| - bool IsRecording() { return is_recording_; }
|
| -
|
| - void TriggerDecodeRequest() {
|
| - if (!cb_.is_null())
|
| - cb_.Run(std::string(0x1337, 'a'));
|
| - }
|
| -
|
| - private:
|
| - RecordedSamplesCallback cb_;
|
| - bool is_recording_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(AudioRecorderStub);
|
| -};
|
| -
|
| -class AudioManagerTest : public testing::Test {
|
| - public:
|
| - AudioManagerTest()
|
| - : audio_manager_(new AudioManagerImpl()),
|
| - audible_player_(new AudioPlayerStub),
|
| - inaudible_player_(new AudioPlayerStub),
|
| - recorder_(new AudioRecorderStub),
|
| - last_received_decode_type_(AUDIO_TYPE_UNKNOWN) {
|
| - std::vector<AudioToken> tokens;
|
| - tokens.push_back(AudioToken("abcdef", true));
|
| - tokens.push_back(AudioToken("123456", false));
|
| - whispernet_client_.reset(new StubWhispernetClient(
|
| - CreateRandomAudioRefCounted(0x123, 1, 0x321), tokens));
|
| -
|
| - audio_manager_->set_player_for_testing(AUDIBLE, audible_player_);
|
| - audio_manager_->set_player_for_testing(INAUDIBLE, inaudible_player_);
|
| - audio_manager_->set_recorder_for_testing(recorder_);
|
| - audio_manager_->Initialize(
|
| - whispernet_client_.get(),
|
| - base::Bind(&AudioManagerTest::GetTokens, base::Unretained(this)));
|
| - }
|
| -
|
| - ~AudioManagerTest() override {}
|
| -
|
| - protected:
|
| - void GetTokens(const std::vector<AudioToken>& tokens) {
|
| - last_received_decode_type_ = AUDIO_TYPE_UNKNOWN;
|
| - for (const auto& token : tokens) {
|
| - if (token.audible && last_received_decode_type_ == INAUDIBLE) {
|
| - last_received_decode_type_ = BOTH;
|
| - } else if (!token.audible && last_received_decode_type_ == AUDIBLE) {
|
| - last_received_decode_type_ = BOTH;
|
| - } else if (token.audible) {
|
| - last_received_decode_type_ = AUDIBLE;
|
| - } else {
|
| - last_received_decode_type_ = INAUDIBLE;
|
| - }
|
| - }
|
| - }
|
| -
|
| - base::MessageLoop message_loop_;
|
| - // Order is important, |whispernet_client_| needs to get destructed *after*
|
| - // |audio_manager_|.
|
| - scoped_ptr<WhispernetClient> whispernet_client_;
|
| - scoped_ptr<AudioManagerImpl> audio_manager_;
|
| -
|
| - // These will be deleted by |audio_manager_|'s dtor calling finalize on them.
|
| - AudioPlayerStub* audible_player_;
|
| - AudioPlayerStub* inaudible_player_;
|
| - AudioRecorderStub* recorder_;
|
| -
|
| - AudioType last_received_decode_type_;
|
| -
|
| - private:
|
| - DISALLOW_COPY_AND_ASSIGN(AudioManagerTest);
|
| -};
|
| -
|
| -TEST_F(AudioManagerTest, EncodeToken) {
|
| - audio_manager_->StartPlaying(AUDIBLE);
|
| - // No token yet, player shouldn't be playing.
|
| - EXPECT_FALSE(audible_player_->IsPlaying());
|
| -
|
| - audio_manager_->SetToken(INAUDIBLE, "abcd");
|
| - // No *audible* token yet, so player still shouldn't be playing.
|
| - EXPECT_FALSE(audible_player_->IsPlaying());
|
| -
|
| - audio_manager_->SetToken(AUDIBLE, "abcd");
|
| - EXPECT_TRUE(audible_player_->IsPlaying());
|
| -}
|
| -
|
| -TEST_F(AudioManagerTest, Record) {
|
| - recorder_->TriggerDecodeRequest();
|
| - EXPECT_EQ(AUDIO_TYPE_UNKNOWN, last_received_decode_type_);
|
| -
|
| - audio_manager_->StartRecording(AUDIBLE);
|
| - recorder_->TriggerDecodeRequest();
|
| - EXPECT_EQ(AUDIBLE, last_received_decode_type_);
|
| -
|
| - audio_manager_->StartRecording(INAUDIBLE);
|
| - recorder_->TriggerDecodeRequest();
|
| - EXPECT_EQ(BOTH, last_received_decode_type_);
|
| -
|
| - audio_manager_->StopRecording(AUDIBLE);
|
| - recorder_->TriggerDecodeRequest();
|
| - EXPECT_EQ(INAUDIBLE, last_received_decode_type_);
|
| -}
|
| -
|
| -} // namespace copresence
|
|
|