Index: media/base/android/media_drm_bridge_unittest.cc |
diff --git a/media/base/android/media_drm_bridge_unittest.cc b/media/base/android/media_drm_bridge_unittest.cc |
index e6d2348c10b4ac8a2858da4b550b264508545a5a..5646fb903889f13249f96a12314457627ab506b5 100644 |
--- a/media/base/android/media_drm_bridge_unittest.cc |
+++ b/media/base/android/media_drm_bridge_unittest.cc |
@@ -9,6 +9,7 @@ |
#include "base/logging.h" |
#include "base/memory/ptr_util.h" |
#include "base/message_loop/message_loop.h" |
+#include "base/run_loop.h" |
#include "media/base/android/media_drm_bridge.h" |
#include "media/base/provision_fetcher.h" |
#include "testing/gtest/include/gtest/gtest.h" |
@@ -60,6 +61,15 @@ class MockProvisionFetcher : public ProvisionFetcher { |
const ResponseCB& response_cb) override {} |
}; |
+void CheckMediaDrmBridge(bool expect_success, |
+ scoped_refptr<MediaDrmBridge> media_drm_bridge) { |
+ if (expect_success) { |
+ EXPECT_TRUE_IF_WIDEVINE_AVAILABLE(media_drm_bridge); |
+ } else { |
+ EXPECT_FALSE(media_drm_bridge); |
+ } |
+} |
+ |
} // namespace (anonymous) |
TEST(MediaDrmBridgeTest, IsKeySystemSupported_Widevine) { |
@@ -98,15 +108,21 @@ TEST(MediaDrmBridgeTest, IsKeySystemSupported_InvalidKeySystem) { |
TEST(MediaDrmBridgeTest, CreateWithoutSessionSupport_Widevine) { |
base::MessageLoop message_loop_; |
- EXPECT_TRUE_IF_WIDEVINE_AVAILABLE(MediaDrmBridge::CreateWithoutSessionSupport( |
- kWidevineKeySystem, kDefault, base::Bind(&MockProvisionFetcher::Create))); |
+ MediaDrmBridge::CreateWithoutSessionSupport( |
+ kWidevineKeySystem, kDefault, base::Bind(&MockProvisionFetcher::Create), |
+ base::BindOnce(&CheckMediaDrmBridge, true)); |
+ |
+ base::RunLoop().RunUntilIdle(); |
} |
// Invalid key system is NOT supported regardless whether MediaDrm is available. |
TEST(MediaDrmBridgeTest, CreateWithoutSessionSupport_InvalidKeySystem) { |
base::MessageLoop message_loop_; |
- EXPECT_FALSE(MediaDrmBridge::CreateWithoutSessionSupport( |
- kInvalidKeySystem, kDefault, base::Bind(&MockProvisionFetcher::Create))); |
+ MediaDrmBridge::CreateWithoutSessionSupport( |
+ kInvalidKeySystem, kDefault, base::Bind(&MockProvisionFetcher::Create), |
+ base::BindOnce(&CheckMediaDrmBridge, false)); |
+ |
+ base::RunLoop().RunUntilIdle(); |
} |
TEST(MediaDrmBridgeTest, CreateWithSecurityLevel_Widevine) { |
@@ -114,11 +130,15 @@ TEST(MediaDrmBridgeTest, CreateWithSecurityLevel_Widevine) { |
// We test "L3" fully. But for "L1" we don't check the result as it depends on |
// whether the test device supports "L1". |
- EXPECT_TRUE_IF_WIDEVINE_AVAILABLE(MediaDrmBridge::CreateWithoutSessionSupport( |
- kWidevineKeySystem, kL3, base::Bind(&MockProvisionFetcher::Create))); |
+ MediaDrmBridge::CreateWithoutSessionSupport( |
+ kWidevineKeySystem, kL3, base::Bind(&MockProvisionFetcher::Create), |
+ base::BindOnce(&CheckMediaDrmBridge, true)); |
MediaDrmBridge::CreateWithoutSessionSupport( |
- kWidevineKeySystem, kL1, base::Bind(&MockProvisionFetcher::Create)); |
+ kWidevineKeySystem, kL1, base::Bind(&MockProvisionFetcher::Create), |
+ base::BindOnce([](scoped_refptr<MediaDrmBridge>) {})); |
+ |
+ base::RunLoop().RunUntilIdle(); |
} |
} // namespace media |