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

Side by Side Diff: webrtc/modules/audio_coding/codecs/mock/mock_audio_decoder_factory.h

Issue 2798063004: Move AudioDecoder and AudioDecoderFactory mocks to webrtc/test/ (Closed)
Patch Set: Created 3 years, 8 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 unified diff | Download patch
OLDNEW
(Empty)
1 /*
2 * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11 #ifndef WEBRTC_MODULES_AUDIO_CODING_CODECS_MOCK_MOCK_AUDIO_DECODER_FACTORY_H_
12 #define WEBRTC_MODULES_AUDIO_CODING_CODECS_MOCK_MOCK_AUDIO_DECODER_FACTORY_H_
13
14 #include <vector>
15
16 #include "webrtc/api/audio_codecs/audio_decoder_factory.h"
17 #include "webrtc/api/audio_codecs/builtin_audio_decoder_factory.h"
18 #include "webrtc/base/scoped_ref_ptr.h"
19 #include "webrtc/test/gmock.h"
20
21 namespace webrtc {
22
23 class MockAudioDecoderFactory : public AudioDecoderFactory {
24 public:
25 MOCK_METHOD0(GetSupportedDecoders, std::vector<AudioCodecSpec>());
26 MOCK_METHOD1(IsSupportedDecoder, bool(const SdpAudioFormat&));
27 std::unique_ptr<AudioDecoder> MakeAudioDecoder(
28 const SdpAudioFormat& format) {
29 std::unique_ptr<AudioDecoder> return_value;
30 MakeAudioDecoderMock(format, &return_value);
31 return return_value;
32 }
33 MOCK_METHOD2(MakeAudioDecoderMock,
34 void(const SdpAudioFormat& format,
35 std::unique_ptr<AudioDecoder>* return_value));
36
37 // Creates a MockAudioDecoderFactory with no formats and that may not be
38 // invoked to create a codec - useful for initializing a voice engine, for
39 // example.
40 static rtc::scoped_refptr<webrtc::MockAudioDecoderFactory>
41 CreateUnusedFactory() {
42 using testing::_;
43 using testing::AnyNumber;
44 using testing::Return;
45
46 rtc::scoped_refptr<webrtc::MockAudioDecoderFactory> factory =
47 new rtc::RefCountedObject<webrtc::MockAudioDecoderFactory>;
48 ON_CALL(*factory.get(), GetSupportedDecoders())
49 .WillByDefault(Return(std::vector<webrtc::AudioCodecSpec>()));
50 EXPECT_CALL(*factory.get(), GetSupportedDecoders()).Times(AnyNumber());
51 ON_CALL(*factory, IsSupportedDecoder(_)).WillByDefault(Return(false));
52 EXPECT_CALL(*factory, IsSupportedDecoder(_)).Times(AnyNumber());
53 EXPECT_CALL(*factory.get(), MakeAudioDecoderMock(_, _)).Times(0);
54 return factory;
55 }
56
57 // Creates a MockAudioDecoderFactory with no formats that may be invoked to
58 // create a codec any number of times. It will, though, return nullptr on each
59 // call, since it supports no codecs.
60 static rtc::scoped_refptr<webrtc::MockAudioDecoderFactory>
61 CreateEmptyFactory() {
62 using testing::_;
63 using testing::AnyNumber;
64 using testing::Return;
65 using testing::SetArgPointee;
66
67 rtc::scoped_refptr<webrtc::MockAudioDecoderFactory> factory =
68 new rtc::RefCountedObject<webrtc::MockAudioDecoderFactory>;
69 ON_CALL(*factory.get(), GetSupportedDecoders())
70 .WillByDefault(Return(std::vector<webrtc::AudioCodecSpec>()));
71 EXPECT_CALL(*factory.get(), GetSupportedDecoders()).Times(AnyNumber());
72 ON_CALL(*factory, IsSupportedDecoder(_)).WillByDefault(Return(false));
73 EXPECT_CALL(*factory, IsSupportedDecoder(_)).Times(AnyNumber());
74 ON_CALL(*factory.get(), MakeAudioDecoderMock(_, _))
75 .WillByDefault(SetArgPointee<1>(nullptr));
76 EXPECT_CALL(*factory.get(), MakeAudioDecoderMock(_, _)).Times(AnyNumber());
77 return factory;
78 }
79 };
80
81 } // namespace webrtc
82
83 #endif // WEBRTC_MODULES_AUDIO_CODING_CODECS_MOCK_MOCK_AUDIO_DECODER_FACTORY_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698