Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(186)

Side by Side Diff: base/callback_helpers_unittest.cc

Issue 2094803005: Fix PrepareTextureCopyOutputResult to avoid ScopedCallbackRunner. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@move_closure_runner
Patch Set: RunNow Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/callback_helpers.h" 5 #include "base/callback_helpers.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 10
(...skipping 18 matching lines...) Expand all
29 { 29 {
30 base::ScopedClosureRunner runner(base::Bind(&Increment, &run_count)); 30 base::ScopedClosureRunner runner(base::Bind(&Increment, &run_count));
31 c = runner.Release(); 31 c = runner.Release();
32 EXPECT_EQ(0, run_count); 32 EXPECT_EQ(0, run_count);
33 } 33 }
34 EXPECT_EQ(0, run_count); 34 EXPECT_EQ(0, run_count);
35 c.Run(); 35 c.Run();
36 EXPECT_EQ(1, run_count); 36 EXPECT_EQ(1, run_count);
37 } 37 }
38 38
39 TEST(BindHelpersTest, TestScopedClosureRunnerReset) { 39 TEST(BindHelpersTest, TestScopedClosureRunnerReplaceClosure) {
40 int run_count_1 = 0; 40 int run_count_1 = 0;
41 int run_count_2 = 0; 41 int run_count_2 = 0;
42 { 42 {
43 base::ScopedClosureRunner runner; 43 base::ScopedClosureRunner runner;
44 runner.Reset(base::Bind(&Increment, &run_count_1)); 44 runner.ReplaceClosure(base::Bind(&Increment, &run_count_1));
45 runner.Reset(base::Bind(&Increment, &run_count_2)); 45 runner.ReplaceClosure(base::Bind(&Increment, &run_count_2));
46 EXPECT_EQ(1, run_count_1); 46 EXPECT_EQ(1, run_count_1);
danakj 2016/06/27 22:49:57 won't it be 0 now?
Sergey Ulanov 2016/06/28 19:15:57 Done.
47 EXPECT_EQ(0, run_count_2); 47 EXPECT_EQ(0, run_count_2);
48 } 48 }
49 EXPECT_EQ(1, run_count_2); 49 EXPECT_EQ(1, run_count_2);
50 }
50 51
52 TEST(BindHelpersTest, TestScopedClosureRunnerRunNow) {
51 int run_count_3 = 0; 53 int run_count_3 = 0;
52 { 54 {
53 base::ScopedClosureRunner runner(base::Bind(&Increment, &run_count_3)); 55 base::ScopedClosureRunner runner(base::Bind(&Increment, &run_count_3));
54 EXPECT_EQ(0, run_count_3); 56 EXPECT_EQ(0, run_count_3);
55 runner.Reset(); 57 runner.RunNow();
56 EXPECT_EQ(1, run_count_3); 58 EXPECT_EQ(1, run_count_3);
57 } 59 }
58 EXPECT_EQ(1, run_count_3); 60 EXPECT_EQ(1, run_count_3);
59 } 61 }
60 62
61 TEST(BindHelpersTest, TestScopedClosureRunnerMoveConstructor) { 63 TEST(BindHelpersTest, TestScopedClosureRunnerMoveConstructor) {
62 int run_count = 0; 64 int run_count = 0;
63 { 65 {
64 std::unique_ptr<base::ScopedClosureRunner> runner( 66 std::unique_ptr<base::ScopedClosureRunner> runner(
65 new base::ScopedClosureRunner(base::Bind(&Increment, &run_count))); 67 new base::ScopedClosureRunner(base::Bind(&Increment, &run_count)));
(...skipping 10 matching lines...) Expand all
76 base::ScopedClosureRunner runner; 78 base::ScopedClosureRunner runner;
77 { 79 {
78 base::ScopedClosureRunner runner2(base::Bind(&Increment, &run_count)); 80 base::ScopedClosureRunner runner2(base::Bind(&Increment, &run_count));
79 runner = std::move(runner2); 81 runner = std::move(runner2);
80 } 82 }
81 EXPECT_EQ(0, run_count); 83 EXPECT_EQ(0, run_count);
82 } 84 }
83 EXPECT_EQ(1, run_count); 85 EXPECT_EQ(1, run_count);
84 } 86 }
85 87
86 TEST(BindHelpersTest, TestScopedClosureRunnerRunOnReplace) {
87 int run_count1 = 0;
88 int run_count2 = 0;
89 {
90 base::ScopedClosureRunner runner1(base::Bind(&Increment, &run_count1));
91 {
92 base::ScopedClosureRunner runner2(base::Bind(&Increment, &run_count2));
93 runner1 = std::move(runner2);
94 EXPECT_EQ(1, run_count1);
95 EXPECT_EQ(0, run_count2);
96 }
97 EXPECT_EQ(1, run_count1);
98 EXPECT_EQ(0, run_count2);
99 }
100 EXPECT_EQ(1, run_count1);
101 EXPECT_EQ(1, run_count2);
102 }
103
104 } // namespace 88 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698