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