Index: chrome/browser/media/webrtc_rtp_dump_handler_unittest.cc |
diff --git a/chrome/browser/media/webrtc_rtp_dump_handler_unittest.cc b/chrome/browser/media/webrtc_rtp_dump_handler_unittest.cc |
index 89965b599c0f54e59023e49b5147378409b97559..96e74365eb85b4e726d438e6e6080e808654134b 100644 |
--- a/chrome/browser/media/webrtc_rtp_dump_handler_unittest.cc |
+++ b/chrome/browser/media/webrtc_rtp_dump_handler_unittest.cc |
@@ -79,6 +79,8 @@ class WebRtcRtpDumpHandlerTest : public testing::Test { |
handler_->SetDumpWriterForTesting(writer.Pass()); |
} |
+ void DeleteDumpHandler() { handler_.reset(); } |
+ |
void WriteFakeDumpFiles(const base::FilePath& dir, |
base::FilePath* incoming_dump, |
base::FilePath* outgoing_dump) { |
@@ -391,3 +393,19 @@ TEST_F(WebRtcRtpDumpHandlerTest, StopOngoingDumpsWhileStoppingOneDump) { |
EXPECT_FALSE(dumps.incoming_dump_path.empty()); |
EXPECT_FALSE(dumps.outgoing_dump_path.empty()); |
} |
+ |
+TEST_F(WebRtcRtpDumpHandlerTest, DeleteHandlerBeforeStopCallback) { |
+ std::string error; |
+ |
+ EXPECT_CALL(*this, OnStopOngoingDumpsFinished()) |
+ .WillOnce(testing::InvokeWithoutArgs( |
+ this, &WebRtcRtpDumpHandlerTest::DeleteDumpHandler)); |
+ |
+ EXPECT_TRUE(handler_->StartDump(RTP_DUMP_BOTH, &error)); |
+ |
+ handler_->StopOngoingDumps( |
+ base::Bind(&WebRtcRtpDumpHandlerTest::OnStopOngoingDumpsFinished, |
+ base::Unretained(this))); |
+ |
+ base::RunLoop().RunUntilIdle(); |
+} |