blob: e9d2da356b14c1076697401e1817ecb6a7396c01 [file] [log] [blame]
// Copyright (c) 2012 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/base/mock_callback.h"
#include "base/bind.h"
using ::testing::_;
using ::testing::StrictMock;
namespace media {
MockClosure::MockClosure() {}
MockClosure::~MockClosure() {}
base::Closure NewExpectedClosure() {
StrictMock<MockClosure>* callback = new StrictMock<MockClosure>();
EXPECT_CALL(*callback, Run());
return base::Bind(&MockClosure::Run, callback);
}
class MockStatusCB : public base::RefCountedThreadSafe<MockStatusCB> {
public:
MockStatusCB() {}
MOCK_METHOD1(Run, void(PipelineStatus));
protected:
friend class base::RefCountedThreadSafe<MockStatusCB>;
virtual ~MockStatusCB() {}
private:
DISALLOW_COPY_AND_ASSIGN(MockStatusCB);
};
base::Callback<void(PipelineStatus)> NewExpectedStatusCB(
PipelineStatus status) {
StrictMock<MockStatusCB>* callback = new StrictMock<MockStatusCB>();
EXPECT_CALL(*callback, Run(status));
return base::Bind(&MockStatusCB::Run, callback);
}
} // namespace media