Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2939)

Unified Diff: chrome/browser/media/router/mojo/media_router_mojo_impl_unittest.cc

Issue 2145983003: [Media Router] Adds return value to mojo MediaRouteProvider::TerminateRoute. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix typo in media_router_bindings.js Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/media/router/mojo/media_router_mojo_impl_unittest.cc
diff --git a/chrome/browser/media/router/mojo/media_router_mojo_impl_unittest.cc b/chrome/browser/media/router/mojo/media_router_mojo_impl_unittest.cc
index 39003eec56259e61751608e3be9261e9fc40f904..18b07437182e65c72bc573ecaa3c111a46c37a58 100644
--- a/chrome/browser/media/router/mojo/media_router_mojo_impl_unittest.cc
+++ b/chrome/browser/media/router/mojo/media_router_mojo_impl_unittest.cc
@@ -179,6 +179,18 @@ class MediaRouterMojoImplTest : public MediaRouterMojoTest {
public:
MediaRouterMojoImplTest() {}
~MediaRouterMojoImplTest() override {}
+
+ void ExpectResultBucketCount(const std::string& operation,
+ RouteRequestResult::ResultCode result_code,
+ int expected_count) {
+ histogram_tester_.ExpectBucketCount(
+ "MediaRouter.Provider." + operation + ".Result",
+ result_code,
+ expected_count);
+ }
+
+ private:
+ base::HistogramTester histogram_tester_;
};
// ProcessManager with a mocked method subset, for testing extension suspend
@@ -376,7 +388,13 @@ TEST_F(MediaRouterMojoImplTest, OffTheRecordRoutesTerminatedOnProfileShutdown) {
run_loop.RunUntilIdle();
EXPECT_CALL(mock_media_route_provider_,
- TerminateRoute(mojo::String(kRouteId)));
+ TerminateRoute(mojo::String(kRouteId), _))
+ .WillOnce(Invoke([](
+ const mojo::String& route_id,
+ const interfaces::MediaRouteProvider::TerminateRouteCallback& cb) {
+ cb.Run(mojo::String(), interfaces::RouteRequestResultCode::OK);
+ }));
+
base::RunLoop run_loop2;
router()->OnOffTheRecordProfileShutdown();
run_loop2.RunUntilIdle();
@@ -634,10 +652,36 @@ TEST_F(MediaRouterMojoImplTest, DetachRoute) {
TEST_F(MediaRouterMojoImplTest, TerminateRoute) {
base::RunLoop run_loop;
EXPECT_CALL(mock_media_route_provider_,
- TerminateRoute(mojo::String(kRouteId)))
- .WillOnce(InvokeWithoutArgs([&run_loop]() { run_loop.Quit(); }));
+ TerminateRoute(mojo::String(kRouteId), _))
+ .WillOnce(Invoke([&run_loop](
+ const mojo::String& route_id,
+ const interfaces::MediaRouteProvider::TerminateRouteCallback& cb) {
+ cb.Run(mojo::String(), interfaces::RouteRequestResultCode::OK);
+ }));
router()->TerminateRoute(kRouteId);
- run_loop.Run();
+ run_loop.RunUntilIdle();
+ ExpectResultBucketCount("TerminateRoute",
+ RouteRequestResult::ResultCode::OK,
+ 1);
+}
+
+TEST_F(MediaRouterMojoImplTest, TerminateRouteFails) {
+ base::RunLoop run_loop;
+ EXPECT_CALL(mock_media_route_provider_,
+ TerminateRoute(mojo::String(kRouteId), _))
+ .WillOnce(Invoke([&run_loop](
+ const mojo::String& route_id,
+ const interfaces::MediaRouteProvider::TerminateRouteCallback& cb) {
+ cb.Run(mojo::String(), interfaces::RouteRequestResultCode::TIMED_OUT);
+ }));
+ router()->TerminateRoute(kRouteId);
+ run_loop.RunUntilIdle();
+ ExpectResultBucketCount("TerminateRoute",
+ RouteRequestResult::ResultCode::OK,
+ 0);
+ ExpectResultBucketCount("TerminateRoute",
+ RouteRequestResult::ResultCode::TIMED_OUT,
+ 1);
}
TEST_F(MediaRouterMojoImplTest, HandleIssue) {

Powered by Google App Engine
This is Rietveld 408576698