1// Copyright 2014 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "base/debug/task_annotator.h"
6#include "base/bind.h"
7#include "base/pending_task.h"
8#include "testing/gtest/include/gtest/gtest.h"
9
10namespace base {
11namespace debug {
12namespace {
13
14void TestTask(int* result) {
15  *result = 123;
16}
17
18}  // namespace
19
20TEST(TaskAnnotatorTest, QueueAndRunTask) {
21  int result = 0;
22  PendingTask pending_task(FROM_HERE, Bind(&TestTask, &result));
23
24  TaskAnnotator annotator;
25  annotator.DidQueueTask("TaskAnnotatorTest::Queue", pending_task);
26  EXPECT_EQ(0, result);
27  annotator.RunTask(
28      "TaskAnnotatorTest::Queue", "TaskAnnotatorTest::Run", pending_task);
29  EXPECT_EQ(123, result);
30}
31
32}  // namespace debug
33}  // namespace base
34