Index: base/callback_unittest.cc |
diff --git a/base/callback_unittest.cc b/base/callback_unittest.cc |
index a41736946a13f5f6c9b6c3d1492c0a93d153c476..455c2740e6922e263b35a4d0a5df7e4ee509fd72 100644 |
--- a/base/callback_unittest.cc |
+++ b/base/callback_unittest.cc |
@@ -148,6 +148,23 @@ TEST_F(CallbackTest, ResetAndReturn) { |
ASSERT_TRUE(tfr.cb_already_run); |
} |
+TEST_F(CallbackTest, NullAfterMoveRun) { |
+ Closure cb = Bind([] {}); |
+ ASSERT_TRUE(cb); |
+ std::move(cb).Run(); |
+ ASSERT_FALSE(cb); |
+ |
+ const Closure cb2 = Bind([] {}); |
+ ASSERT_TRUE(cb2); |
+ std::move(cb2).Run(); |
+ ASSERT_TRUE(cb2); |
+ |
+ OnceClosure cb3 = BindOnce([] {}); |
+ ASSERT_TRUE(cb3); |
+ std::move(cb3).Run(); |
+ ASSERT_FALSE(cb3); |
+} |
+ |
class CallbackOwner : public base::RefCounted<CallbackOwner> { |
public: |
explicit CallbackOwner(bool* deleted) { |