Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / base / debug / task_annotator_unittest.cc
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
10 namespace base {
11 namespace debug {
12 namespace {
13
14 void TestTask(int* result) {
15   *result = 123;
16 }
17
18 }  // namespace
19
20 TEST(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