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

Side by Side Diff: chrome/browser/media/router/media_router_mojo_impl_unittest.cc

Issue 1245213002: [MediaRouter] Implement send binary message from PSDImpl to MRPManager (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: updated UT to verify the |data| Created 5 years, 4 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <string> 5 #include <string>
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/run_loop.h" 10 #include "base/run_loop.h"
(...skipping 30 matching lines...) Expand all
41 const char kSource[] = "source1"; 41 const char kSource[] = "source1";
42 const char kSource2[] = "source2"; 42 const char kSource2[] = "source2";
43 const char kRouteId[] = "routeId"; 43 const char kRouteId[] = "routeId";
44 const char kRouteId2[] = "routeId2"; 44 const char kRouteId2[] = "routeId2";
45 const char kSink[] = "sink"; 45 const char kSink[] = "sink";
46 const char kSink2[] = "sink2"; 46 const char kSink2[] = "sink2";
47 const char kSinkName[] = "sinkName"; 47 const char kSinkName[] = "sinkName";
48 const char kPresentationId[] = "presentationId"; 48 const char kPresentationId[] = "presentationId";
49 const char kOrigin[] = "http://origin/"; 49 const char kOrigin[] = "http://origin/";
50 const int kTabId = 123; 50 const int kTabId = 123;
51 const uint8 kBinaryMessage[] = {0x01, 0x02, 0x03, 0x04};
51 52
52 bool ArePresentationSessionMessagesEqual( 53 bool ArePresentationSessionMessagesEqual(
53 const content::PresentationSessionMessage* expected, 54 const content::PresentationSessionMessage* expected,
54 const content::PresentationSessionMessage* actual) { 55 const content::PresentationSessionMessage* actual) {
55 if (expected->presentation_url != actual->presentation_url || 56 if (expected->presentation_url != actual->presentation_url ||
56 expected->presentation_id != actual->presentation_id || 57 expected->presentation_id != actual->presentation_id ||
57 expected->type != actual->type) { 58 expected->type != actual->type) {
58 return false; 59 return false;
59 } 60 }
60 return expected->is_binary() ? *(expected->data) == *(actual->data) 61 return expected->is_binary() ? *(expected->data) == *(actual->data)
(...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after
383 })); 384 }));
384 385
385 SendMessageCallbackHandler handler; 386 SendMessageCallbackHandler handler;
386 EXPECT_CALL(handler, Invoke(true)); 387 EXPECT_CALL(handler, Invoke(true));
387 router()->SendRouteMessage(kRouteId, kMessage, 388 router()->SendRouteMessage(kRouteId, kMessage,
388 base::Bind(&SendMessageCallbackHandler::Invoke, 389 base::Bind(&SendMessageCallbackHandler::Invoke,
389 base::Unretained(&handler))); 390 base::Unretained(&handler)));
390 ProcessEventLoop(); 391 ProcessEventLoop();
391 } 392 }
392 393
394 TEST_F(MediaRouterMojoImplTest, SendRouteBinaryMessage) {
395 scoped_ptr<std::vector<uint8>> expected_binary_data(new std::vector<uint8>(
396 kBinaryMessage, kBinaryMessage + arraysize(kBinaryMessage)));
397
398 EXPECT_CALL(mock_media_route_provider_,
399 SendRouteBinaryMessageInternal(mojo::String(kRouteId), _, _))
400 .WillOnce(Invoke([](
401 const MediaRoute::Id& route_id, const std::vector<uint8>& data,
402 const interfaces::MediaRouteProvider::SendRouteMessageCallback& cb) {
403 EXPECT_EQ(
404 0, memcmp(kBinaryMessage, &(data[0]), arraysize(kBinaryMessage)));
405 cb.Run(true);
406 }));
407
408 SendMessageCallbackHandler handler;
409 EXPECT_CALL(handler, Invoke(true));
410 router()->SendRouteBinaryMessage(
411 kRouteId, expected_binary_data.Pass(),
412 base::Bind(&SendMessageCallbackHandler::Invoke,
413 base::Unretained(&handler)));
414 ProcessEventLoop();
415 }
416
393 TEST_F(MediaRouterMojoImplTest, ListenForRouteMessages) { 417 TEST_F(MediaRouterMojoImplTest, ListenForRouteMessages) {
394 mojo::Array<interfaces::RouteMessagePtr> mojo_messages(2); 418 mojo::Array<interfaces::RouteMessagePtr> mojo_messages(2);
395 mojo_messages[0] = interfaces::RouteMessage::New(); 419 mojo_messages[0] = interfaces::RouteMessage::New();
396 mojo_messages[0]->route_id = "r1"; 420 mojo_messages[0]->route_id = "r1";
397 mojo_messages[0]->type = interfaces::RouteMessage::Type::TYPE_TEXT; 421 mojo_messages[0]->type = interfaces::RouteMessage::Type::TYPE_TEXT;
398 mojo_messages[0]->message = "text"; 422 mojo_messages[0]->message = "text";
399 mojo_messages[1] = interfaces::RouteMessage::New(); 423 mojo_messages[1] = interfaces::RouteMessage::New();
400 mojo_messages[1]->route_id = "r2"; 424 mojo_messages[1]->route_id = "r2";
401 mojo_messages[1]->type = interfaces::RouteMessage::Type::TYPE_BINARY; 425 mojo_messages[1]->type = interfaces::RouteMessage::Type::TYPE_BINARY;
402 mojo_messages[1]->data.push_back(1); 426 mojo_messages[1]->data.push_back(1);
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
517 binding.reset(new mojo::Binding<interfaces::MediaRouteProvider>( 541 binding.reset(new mojo::Binding<interfaces::MediaRouteProvider>(
518 &mock_media_route_provider, mojo::GetProxy(&media_route_provider_proxy))); 542 &mock_media_route_provider, mojo::GetProxy(&media_route_provider_proxy)));
519 media_router_proxy->RegisterMediaRouteProvider( 543 media_router_proxy->RegisterMediaRouteProvider(
520 media_route_provider_proxy.Pass(), 544 media_route_provider_proxy.Pass(),
521 base::Bind(&RegisterMediaRouteProviderHandler::Invoke, 545 base::Bind(&RegisterMediaRouteProviderHandler::Invoke,
522 base::Unretained(&provide_handler))); 546 base::Unretained(&provide_handler)));
523 message_loop.RunUntilIdle(); 547 message_loop.RunUntilIdle();
524 } 548 }
525 549
526 } // namespace media_router 550 } // namespace media_router
OLDNEW
« no previous file with comments | « chrome/browser/media/router/media_router_mojo_impl.cc ('k') | chrome/browser/media/router/mock_media_router.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698