/* * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. * * Use of this source code is governed by a BSD-style license * that can be found in the LICENSE file in the root of the source * tree. An additional intellectual property rights grant can be found * in the file PATENTS. All contributing project authors may * be found in the AUTHORS file in the root of the source tree. */ #include "webrtc/voice_engine/include/voe_base.h" #include "testing/gtest/include/gtest/gtest.h" #include "webrtc/modules/audio_device/include/fake_audio_device.h" #include "webrtc/modules/audio_processing/include/audio_processing.h" #include "webrtc/system_wrappers/interface/scoped_ptr.h" namespace webrtc { class VoEBaseTest : public ::testing::Test { protected: VoEBaseTest() : voe_(VoiceEngine::Create()), base_(VoEBase::GetInterface(voe_)), adm_(new FakeAudioDeviceModule) { } ~VoEBaseTest() { base_->Release(); VoiceEngine::Delete(voe_); } VoiceEngine* voe_; VoEBase* base_; scoped_ptr adm_; }; TEST_F(VoEBaseTest, AcceptsAudioProcessingPtr) { AudioProcessing* audioproc = AudioProcessing::Create(0); EXPECT_EQ(0, base_->Init(adm_.get(), audioproc)); EXPECT_EQ(audioproc, base_->audio_processing()); } TEST_F(VoEBaseTest, AudioProcessingCreatedAfterInit) { EXPECT_TRUE(base_->audio_processing() == NULL); EXPECT_EQ(0, base_->Init(adm_.get(), NULL)); EXPECT_TRUE(base_->audio_processing() != NULL); } } // namespace webrtc