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

Unified Diff: content/renderer/media/webrtc_audio_device_unittest.cc

Issue 8427031: First unit tests for WebRTCAudioDevice. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Latest comments addressed Created 9 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
Index: content/renderer/media/webrtc_audio_device_unittest.cc
===================================================================
--- content/renderer/media/webrtc_audio_device_unittest.cc (revision 0)
+++ content/renderer/media/webrtc_audio_device_unittest.cc (working copy)
@@ -0,0 +1,66 @@
+// Copyright (c) 2011 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 "base/test/test_timeouts.h"
+#include "content/renderer/media/webrtc_audio_device_impl.h"
+#include "content/test/webrtc_audio_device_test.h"
+#include "media/audio/audio_util.h"
+#include "testing/gmock/include/gmock/gmock.h"
+#include "third_party/webrtc/voice_engine/main/interface/voe_audio_processing.h"
+#include "third_party/webrtc/voice_engine/main/interface/voe_base.h"
+#include "third_party/webrtc/voice_engine/main/interface/voe_file.h"
+#include "third_party/webrtc/voice_engine/main/interface/voe_network.h"
+
+using testing::_;
+using testing::InvokeWithoutArgs;
+using testing::Return;
+using testing::StrEq;
+
+namespace {
+
+ACTION_P(QuitMessageLoop, loop_or_proxy) {
+ loop_or_proxy->PostTask(FROM_HERE, new MessageLoop::QuitTask());
+}
+
+class AudioUtil : public AudioUtilInterface {
+ public:
+ virtual double GetAudioHardwareSampleRate() OVERRIDE {
+ return media::GetAudioHardwareSampleRate();
+ }
+ virtual double GetAudioInputHardwareSampleRate() OVERRIDE {
+ return media::GetAudioInputHardwareSampleRate();
+ }
+};
+
+} // end namespace
+
+// Basic test that instantiates and initializes an instance of
+// WebRtcAudioDeviceImpl.
+TEST_F(WebRTCAudioDeviceTest, Construct) {
+ AudioUtil audio_util;
+ set_audio_util_callback(&audio_util);
henrika (OOO until Aug 14) 2011/11/04 10:35:12 Where can I find the definition of set_audio_util_
tommi (sloooow) - chröme 2011/11/07 10:27:28 webrtc_audio_device_test.h@130
+ scoped_refptr<WebRtcAudioDeviceImpl> audio_device(
+ new WebRtcAudioDeviceImpl());
+ audio_device->SetSessionId(1);
+
+ WebRTCAutoDelete<webrtc::VoiceEngine> engine(webrtc::VoiceEngine::Create());
henrika (OOO until Aug 14) 2011/11/04 10:35:12 Why not ensure that engine is valid (not NULL) her
tommi (sloooow) - chröme 2011/11/07 10:27:28 Done.
+
+ ScopedWebRTCPtr<webrtc::VoEBase> base(engine.get());
+ int err = base->Init(audio_device);
+ EXPECT_EQ(0, err);
+}
+
+// Plays a local file. This test usually takes just under a minute to run
+// and requires an audio card to work, so disabled by default.
+TEST_F(WebRTCAudioDeviceTest, DISABLED_PlayLocalFileLong) {
+ AudioUtil audio_util;
+ set_audio_util_callback(&audio_util);
+ PlayLocalFile(0);
henrika (OOO until Aug 14) 2011/11/04 10:35:12 I have never seen this before where a unit test ca
henrika (OOO until Aug 14) 2011/11/04 10:35:12 Add comment about meaning of '0' here.
tommi (sloooow) - chröme 2011/11/07 10:27:28 The reason is because two tests use the same code.
+}
+
+TEST_F(WebRTCAudioDeviceTest, PlayLocalFile) {
+ AudioUtil audio_util;
+ set_audio_util_callback(&audio_util);
+ PlayLocalFile(TestTimeouts::action_timeout_ms());
+}
Property changes on: content/renderer/media/webrtc_audio_device_unittest.cc
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+LF

Powered by Google App Engine
This is Rietveld 408576698