chromium/media/base/mock_media_log.h

// Copyright 2015 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef MEDIA_BASE_MOCK_MEDIA_LOG_H_
#define MEDIA_BASE_MOCK_MEDIA_LOG_H_

#include <memory>
#include <string>

#include "media/base/media_log.h"
#include "testing/gmock/include/gmock/gmock.h"

namespace {
struct TypeAndCodec {};
}  // namespace

// Helper macros to reduce boilerplate when verifying media log entries.
// |outer| is the std::string searched for substring |sub|.
#define CONTAINS_STRING(outer, sub)

// Assumes |media_log_| is available which is a MockMediaLog, optionally a
// NiceMock or StrictMock, in scope of the usage of this macro.
#define EXPECT_MEDIA_LOG(x)

// Same as EXPECT_MEDIA_LOG, but for LIMITED_MEDIA_LOG.
#define EXPECT_LIMITED_MEDIA_LOG(x, count, max)

// |log| is expected to evaluate to a MockMediaLog, optionally a NiceMock or
// StrictMock, in scope of the usage of this macro.
#define EXPECT_MEDIA_LOG_ON(log, x)

// Requires |media_log_| to be available.
#define EXPECT_MEDIA_LOG_PROPERTY(property, value)

#define EXPECT_MEDIA_LOG_PROPERTY_ANY_VALUE(property)

#define EXPECT_FOUND_CODEC_NAME(stream_type, codec_name)

namespace media {

MATCHER_P(TracksHasCodecName, tandc, "") {}

MATCHER_P(MatchesPropertyExactValue, message, "") {}

MATCHER_P(MatchesPropertyAnyValue, message, "") {}

class MockMediaLog : public MediaLog {};

}  // namespace media

#endif  // MEDIA_BASE_MOCK_MEDIA_LOG_H_