// Copyright 2014 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/debug/task_annotator.h"
#include "base/bind.h"
#include "base/pending_task.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace base {
namespace debug {
namespace {
void TestTask(int* result) {
*result = 123;
}
} // namespace
TEST(TaskAnnotatorTest, QueueAndRunTask) {
int result = 0;
PendingTask pending_task(FROM_HERE, Bind(&TestTask, &result));
TaskAnnotator annotator;
annotator.DidQueueTask("TaskAnnotatorTest::Queue", pending_task);
EXPECT_EQ(0, result);
annotator.RunTask("TaskAnnotatorTest::Queue", pending_task);
EXPECT_EQ(123, result);
}
} // namespace debug
} // namespace base