| // 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 |