1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- // Copyright 2018 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 "media/audio/alsa/alsa_util.h"
- #include "media/audio/alsa/mock_alsa_wrapper.h"
- #include "testing/gtest/include/gtest/gtest.h"
- namespace alsa_util {
- namespace {
- using ::testing::_;
- using ::testing::InSequence;
- using ::testing::Invoke;
- using ::testing::Return;
- } // namespace
- TEST(AlsaUtilTest, FreeHwParams) {
- InSequence seq;
- media::MockAlsaWrapper mock_alsa_wrapper;
- snd_pcm_hw_params_t* params_ptr = (snd_pcm_hw_params_t*)malloc(1);
- EXPECT_CALL(mock_alsa_wrapper, PcmOpen(_, _, _, _)).WillOnce(Return(0));
- EXPECT_CALL(mock_alsa_wrapper, PcmSetParams(_, _, _, _, _, _, _))
- .WillOnce(Return(-1));
- EXPECT_CALL(mock_alsa_wrapper, StrError(_)).WillOnce(Return("error"));
- EXPECT_CALL(mock_alsa_wrapper, PcmHwParamsMalloc(_))
- .WillOnce(Invoke([params_ptr](snd_pcm_hw_params_t** params) {
- *params = params_ptr;
- return 0;
- }));
- EXPECT_CALL(mock_alsa_wrapper, PcmHwParamsAny(_, _)).WillOnce(Return(-1));
- EXPECT_CALL(mock_alsa_wrapper, StrError(_)).WillOnce(Return("error"));
- EXPECT_CALL(mock_alsa_wrapper, PcmHwParamsFree(params_ptr));
- EXPECT_CALL(mock_alsa_wrapper, PcmName(_)).WillOnce(Return("default"));
- EXPECT_CALL(mock_alsa_wrapper, PcmClose(_)).WillOnce(Return(0));
- snd_pcm_t* handle = OpenCaptureDevice(&mock_alsa_wrapper, "default", 2, 48000,
- SND_PCM_FORMAT_S16, 40000, 10000);
- EXPECT_EQ(handle, nullptr);
- free(params_ptr);
- }
- } // namespace alsa_util
|