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

Unified Diff: content/renderer/media/media_stream_dispatcher_unittest.cc

Issue 10830063: refactor EnumerateDevices to make it a persistent request. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: fix unit test Created 8 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 side-by-side diff with in-line comments
Download patch
Index: content/renderer/media/media_stream_dispatcher_unittest.cc
===================================================================
--- content/renderer/media/media_stream_dispatcher_unittest.cc (revision 150440)
+++ content/renderer/media/media_stream_dispatcher_unittest.cc (working copy)
@@ -22,6 +22,7 @@
const int kRequestId2 = 20;
const int kRequestId3 = 30;
const int kRequestId4 = 40;
+static const char kLabel[] = "test";
class MockMediaStreamDispatcherEventHandler
: public MediaStreamDispatcherEventHandler,
@@ -88,6 +89,7 @@
} // namespace
TEST(MediaStreamDispatcherTest, BasicStream) {
+ scoped_ptr<MessageLoop> message_loop(new MessageLoop());
scoped_ptr<MediaStreamDispatcher> dispatcher(new MediaStreamDispatcher(NULL));
scoped_ptr<MockMediaStreamDispatcherEventHandler>
handler(new MockMediaStreamDispatcherEventHandler);
@@ -163,21 +165,24 @@
}
TEST(MediaStreamDispatcherTest, BasicVideoDevice) {
+ scoped_ptr<MessageLoop> message_loop(new MessageLoop());
scoped_ptr<MediaStreamDispatcher> dispatcher(new MediaStreamDispatcher(NULL));
scoped_ptr<MockMediaStreamDispatcherEventHandler>
- handler(new MockMediaStreamDispatcherEventHandler);
+ handler1(new MockMediaStreamDispatcherEventHandler);
+ scoped_ptr<MockMediaStreamDispatcherEventHandler>
+ handler2(new MockMediaStreamDispatcherEventHandler);
GURL security_origin;
int ipc_request_id1 = dispatcher->next_ipc_id_;
- dispatcher->EnumerateDevices(kRequestId1, handler.get()->AsWeakPtr(),
+ dispatcher->EnumerateDevices(kRequestId1, handler1.get()->AsWeakPtr(),
content::MEDIA_STREAM_DEVICE_TYPE_VIDEO_CAPTURE,
security_origin);
int ipc_request_id2 = dispatcher->next_ipc_id_;
EXPECT_NE(ipc_request_id1, ipc_request_id2);
- dispatcher->EnumerateDevices(kRequestId2, handler.get()->AsWeakPtr(),
+ dispatcher->EnumerateDevices(kRequestId2, handler2.get()->AsWeakPtr(),
content::MEDIA_STREAM_DEVICE_TYPE_VIDEO_CAPTURE,
security_origin);
- EXPECT_EQ(dispatcher->requests_.size(), size_t(2));
+ EXPECT_EQ(dispatcher->video_enumeration_state_.requests.size(), size_t(2));
media_stream::StreamDeviceInfoArray video_device_array(1);
media_stream::StreamDeviceInfo video_device_info;
@@ -188,27 +193,23 @@
video_device_info.session_id = kVideoSessionId;
video_device_array[0] = video_device_info;
- // Complete the enumeration of request 1.
+ // Complete the enumeration request and all requesters should receive reply.
dispatcher->OnMessageReceived(MediaStreamMsg_DevicesEnumerated(
- kRouteId, ipc_request_id1, video_device_array));
- EXPECT_EQ(handler->request_id_, kRequestId1);
+ kRouteId, ipc_request_id1, kLabel, video_device_array));
+ EXPECT_EQ(handler1->request_id_, kRequestId1);
+ EXPECT_EQ(handler2->request_id_, kRequestId2);
- // Complete the enumeration of request 2.
- dispatcher->OnMessageReceived(MediaStreamMsg_DevicesEnumerated(
- kRouteId, ipc_request_id2, video_device_array));
- EXPECT_EQ(handler->request_id_, kRequestId2);
-
- EXPECT_EQ(dispatcher->requests_.size(), size_t(0));
+ EXPECT_EQ(dispatcher->video_enumeration_state_.requests.size(), size_t(2));
EXPECT_EQ(dispatcher->label_stream_map_.size(), size_t(0));
int ipc_request_id3 = dispatcher->next_ipc_id_;
- dispatcher->OpenDevice(kRequestId3, handler.get()->AsWeakPtr(),
+ dispatcher->OpenDevice(kRequestId3, handler1.get()->AsWeakPtr(),
video_device_info.device_id,
content::MEDIA_STREAM_DEVICE_TYPE_VIDEO_CAPTURE,
security_origin);
int ipc_request_id4 = dispatcher->next_ipc_id_;
EXPECT_NE(ipc_request_id3, ipc_request_id4);
- dispatcher->OpenDevice(kRequestId4, handler.get()->AsWeakPtr(),
+ dispatcher->OpenDevice(kRequestId4, handler1.get()->AsWeakPtr(),
video_device_info.device_id,
content::MEDIA_STREAM_DEVICE_TYPE_VIDEO_CAPTURE,
security_origin);
@@ -218,13 +219,13 @@
std::string stream_label1 = std::string("stream1");
dispatcher->OnMessageReceived(MediaStreamMsg_DeviceOpened(
kRouteId, ipc_request_id3, stream_label1, video_device_info));
- EXPECT_EQ(handler->request_id_, kRequestId3);
+ EXPECT_EQ(handler1->request_id_, kRequestId3);
// Complete the OpenDevice of request 2.
std::string stream_label2 = std::string("stream2");
dispatcher->OnMessageReceived(MediaStreamMsg_DeviceOpened(
kRouteId, ipc_request_id4, stream_label2, video_device_info));
- EXPECT_EQ(handler->request_id_, kRequestId4);
+ EXPECT_EQ(handler1->request_id_, kRequestId4);
EXPECT_EQ(dispatcher->requests_.size(), size_t(0));
EXPECT_EQ(dispatcher->label_stream_map_.size(), size_t(2));
@@ -250,6 +251,7 @@
}
TEST(MediaStreamDispatcherTest, TestFailure) {
+ scoped_ptr<MessageLoop> message_loop(new MessageLoop());
scoped_ptr<MediaStreamDispatcher> dispatcher(new MediaStreamDispatcher(NULL));
scoped_ptr<MockMediaStreamDispatcherEventHandler>
handler(new MockMediaStreamDispatcherEventHandler);
@@ -316,6 +318,7 @@
}
TEST(MediaStreamDispatcherTest, CancelGenerateStream) {
+ scoped_ptr<MessageLoop> message_loop(new MessageLoop());
scoped_ptr<MediaStreamDispatcher> dispatcher(new MediaStreamDispatcher(NULL));
scoped_ptr<MockMediaStreamDispatcherEventHandler>
handler(new MockMediaStreamDispatcherEventHandler);
« no previous file with comments | « content/renderer/media/media_stream_dispatcher.cc ('k') | content/renderer/pepper/pepper_device_enumeration_event_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698