Index: ios/web/net/cert_verifier_block_adapter_unittest.cc |
diff --git a/ios/web/net/cert_verifier_block_adapter_unittest.cc b/ios/web/net/cert_verifier_block_adapter_unittest.cc |
index f05acf68945f1b15ab00435c5b0a28ad1dec6555..ef3d041d4db8a977cf54c8dc70cf15c40f94a1ca 100644 |
--- a/ios/web/net/cert_verifier_block_adapter_unittest.cc |
+++ b/ios/web/net/cert_verifier_block_adapter_unittest.cc |
@@ -148,4 +148,25 @@ TEST_F(CertVerifierBlockAdapterTest, DefaultParamsAndSyncError) { |
EXPECT_EQ(kExpectedError, actual_error); |
} |
+// Tests that |Verify| completion handler is called even if adapter is |
+// destroyed. |
Ryan Sleevi
2015/10/28 18:32:27
comment nit: Missing some articles
// Tests that
Eugene But (OOO till 7-30)
2015/10/29 15:43:38
Done.
|
+TEST_F(CertVerifierBlockAdapterTest, CompletionHandlerIsAlwaysCalled) { |
+ scoped_ptr<net::CertVerifier> verifier(net::CertVerifier::CreateDefault()); |
+ scoped_ptr<CertVerifierBlockAdapter> test_adapter( |
+ new CertVerifierBlockAdapter(verifier.get(), &net_log_)); |
+ |
+ // Call |Verify| and destroy adapter. |
Ryan Sleevi
2015/10/28 18:32:27
s/destroy adapter/destroy the adapter/
Eugene But (OOO till 7-30)
2015/10/29 15:43:38
Done.
|
+ CertVerifierBlockAdapter::Params params(cert_.get(), kHostName); |
+ __block bool verification_completed = false; |
+ test_adapter->Verify(params, ^(net::CertVerifyResult, int) { |
+ verification_completed = true; |
+ }); |
+ test_adapter.reset(); |
+ |
+ // Make sure that completion handler is called. |
Ryan Sleevi
2015/10/28 18:32:27
s/that completion/that the completion/
Eugene But (OOO till 7-30)
2015/10/29 15:43:38
Done.
|
+ base::test::ios::WaitUntilCondition(^{ |
+ return verification_completed; |
+ }, base::MessageLoop::current(), base::TimeDelta()); |
+} |
+ |
} // namespace web |