diff options
Diffstat (limited to 'src/google/protobuf/stubs/common_unittest.cc')
-rw-r--r-- | src/google/protobuf/stubs/common_unittest.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/google/protobuf/stubs/common_unittest.cc b/src/google/protobuf/stubs/common_unittest.cc index 32c1d08e..4109a52c 100644 --- a/src/google/protobuf/stubs/common_unittest.cc +++ b/src/google/protobuf/stubs/common_unittest.cc @@ -182,11 +182,17 @@ class ClosureTest : public testing::Test { a_ = 0; b_ = NULL; c_.clear(); + permanent_closure_ = NULL; + } + + void DeleteClosureInCallback() { + delete permanent_closure_; } int a_; const char* b_; string c_; + Closure* permanent_closure_; static ClosureTest* current_instance_; }; @@ -340,6 +346,12 @@ TEST_F(ClosureTest, TestPermanentClosureMethod2) { delete closure; } +TEST_F(ClosureTest, TestPermanentClosureDeleteInCallback) { + permanent_closure_ = NewPermanentCallback((ClosureTest*) this, + &ClosureTest::DeleteClosureInCallback); + permanent_closure_->Run(); +} + } // anonymous namespace } // namespace protobuf } // namespace google |