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

Unified Diff: components/copresence/mediums/audio/audio_manager_unittest.cc

Issue 865483005: Creating the audio_modem component (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Merging again Created 5 years, 10 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 side-by-side diff with in-line comments
Download patch
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
« no previous file with comments | « components/copresence/mediums/audio/audio_manager_impl.cc ('k') | components/copresence/mediums/audio/audio_player.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698