diff options
author | akalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-02-19 03:15:59 +0000 |
---|---|---|
committer | akalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-02-19 03:15:59 +0000 |
commit | 2041cf34db4b3b9e43f9c63a57975798c0677ad7 (patch) | |
tree | 5caa67abfd19b51f124c17ac0c6a68eca0d9e860 /base/callback_unittest.cc | |
parent | cf03da1cccdc0bae0ced1dcf599c8a74324a1577 (diff) | |
download | chromium_src-2041cf34db4b3b9e43f9c63a57975798c0677ad7.zip chromium_src-2041cf34db4b3b9e43f9c63a57975798c0677ad7.tar.gz chromium_src-2041cf34db4b3b9e43f9c63a57975798c0677ad7.tar.bz2 |
Pulled out Callback code into base/callback.h. This is the first step towards redoing the Callback interfaces.
Added and removed includes as needed.
BUG=35223
TEST=trybots
Review URL: http://codereview.chromium.org/646061
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39419 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/callback_unittest.cc')
-rw-r--r-- | base/callback_unittest.cc | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/base/callback_unittest.cc b/base/callback_unittest.cc new file mode 100644 index 0000000..bc15927 --- /dev/null +++ b/base/callback_unittest.cc @@ -0,0 +1,40 @@ +// Copyright (c) 2009 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 "base/callback.h" +#include "base/scoped_ptr.h" + +#include "testing/gtest/include/gtest/gtest.h" + +namespace { + +class HelperObject { + public: + HelperObject() : next_number_(0) { } + int GetNextNumber() { return ++next_number_; } + void GetNextNumberArg(int* number) { *number = GetNextNumber(); } + + private: + int next_number_; +}; + +} // namespace + +TEST(Callback, OneArg) { + HelperObject obj; + scoped_ptr<Callback1<int*>::Type> callback( + NewCallback(&obj, &HelperObject::GetNextNumberArg)); + + int number = 0; + callback->Run(&number); + EXPECT_EQ(number, 1); +} + +TEST(Callback, ReturnValue) { + HelperObject obj; + scoped_ptr<CallbackWithReturnValue<int>::Type> callback( + NewCallbackWithReturnValue(&obj, &HelperObject::GetNextNumber)); + + EXPECT_EQ(callback->Run(), 1); +} |