#include "base/functional/callback_helpers.h"
#include <functional>
#include <type_traits>
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/test/gtest_util.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace {
struct BadArg { … };
template <typename TagType, typename CallbackType>
struct TestConversionAndAssignmentImpl { … };
TestConversionAndAssignment;
#define VOID_RETURN_CALLBACK_TAG_TEST …
#define NON_VOID_RETURN_CALLBACK_TAG_TEST …
VOID_RETURN_CALLBACK_TAG_TEST;
VOID_RETURN_CALLBACK_TAG_TEST;
NON_VOID_RETURN_CALLBACK_TAG_TEST;
VOID_RETURN_CALLBACK_TAG_TEST;
VOID_RETURN_CALLBACK_TAG_TEST;
NON_VOID_RETURN_CALLBACK_TAG_TEST;
#undef VOID_RETURN_CALLBACK_TAG_TEST
#undef NON_VOID_RETURN_CALLBACK_TAG_TEST
TEST(CallbackHelpersTest, IsBaseCallback) { … }
void Increment(int* value) { … }
void IncrementWithRef(int& value) { … }
int IncrementAndReturn(int* value) { … }
TEST(CallbackHelpersTest, ScopedClosureRunnerHasClosure) { … }
TEST(CallbackHelpersTest, ScopedClosureRunnerExitScope) { … }
TEST(CallbackHelpersTest, ScopedClosureRunnerRelease) { … }
TEST(CallbackHelpersTest, ScopedClosureRunnerReplaceClosure) { … }
TEST(CallbackHelpersTest, ScopedClosureRunnerRunAndResetNonNull) { … }
TEST(CallbackHelpersTest, ScopedClosureRunnerRunAndResetNull) { … }
TEST(CallbackHelpersTest, ScopedClosureRunnerMoveConstructor) { … }
TEST(CallbackHelpersTest, ScopedClosureRunnerMoveAssignment) { … }
TEST(CallbackHelpersTest, SplitOnceCallback_EmptyCallback) { … }
TEST(CallbackHelpersTest, SplitOnceCallback_FirstCallback) { … }
TEST(CallbackHelpersTest, SplitOnceCallback_SecondCallback) { … }
TEST(CallbackHelpersTest, SplitSplitOnceCallback_FirstSplit) { … }
TEST(CallbackHelpersTest, SplitSplitOnceCallback_SecondSplit) { … }
TEST(CallbackHelpersTest, IgnoreArgs) { … }
TEST(CallbackHelpersTest, IgnoreArgs_EmptyCallback) { … }
TEST(CallbackHelpersTest, IgnoreArgs_NonVoidReturn) { … }
TEST(CallbackHelpersTest, ForwardRepeatingCallbacks) { … }
TEST(CallbackHelpersTest, ReturnValueOnce) { … }
}