| Index: media/base/mock_callback.h
|
| diff --git a/media/base/mock_callback.h b/media/base/mock_callback.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..5526ee7256cb8af5d07e7a8ee1de3b1a418dc8b7
|
| --- /dev/null
|
| +++ b/media/base/mock_callback.h
|
| @@ -0,0 +1,48 @@
|
| +// Copyright (c) 2011 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.
|
| +
|
| +#ifndef MEDIA_BASE_MOCK_CALLBACK_H_
|
| +#define MEDIA_BASE_MOCK_CALLBACK_H_
|
| +
|
| +#include "base/callback.h"
|
| +#include "testing/gmock/include/gmock/gmock.h"
|
| +
|
| +namespace media {
|
| +
|
| +// Helper class used to test that callbacks are executed.
|
| +//
|
| +// In most cases NewExpectedCallback() can be used but if need be you can
|
| +// manually set expectations on an MockCallback object:
|
| +//
|
| +// StrictMock<MockCallback>* callback =
|
| +// new StrictMock<MockCallback>();
|
| +// EXPECT_CALL(*callback, RunWithParams(_));
|
| +// EXPECT_CALL(*callback, Destructor());
|
| +//
|
| +// ...or if you don't care about verifying callback deletion:
|
| +//
|
| +// NiceMock<MockCallback>* callback =
|
| +// new NiceMock<MockCallback>();
|
| +// EXPECT_CALL(*callback, RunWithParams(_));
|
| +class MockCallback : public CallbackRunner<Tuple0> {
|
| + public:
|
| + MockCallback();
|
| + virtual ~MockCallback();
|
| +
|
| + MOCK_METHOD1(RunWithParams, void(const Tuple0& params));
|
| +
|
| + // Can be used to verify the object is destroyed.
|
| + MOCK_METHOD0(Destructor, void());
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(MockCallback);
|
| +};
|
| +
|
| +// Convenience function that automatically creates and sets an expectation for
|
| +// the callback to run.
|
| +MockCallback* NewExpectedCallback();
|
| +
|
| +} // namespace media
|
| +
|
| +#endif // MEDIA_BASE_MOCK_CALLBACK_H_
|
|
|