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