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

Side by Side Diff: extensions/browser/api/cast_channel/cast_socket_service_unittest.cc

Issue 2891023002: [cast_channel] Make CastSocket not inherit from ApiResource (Closed)
Patch Set: resolve code review comments from Mark Created 3 years, 7 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
(Empty)
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "extensions/browser/api/cast_channel/cast_socket_service.h"
6 #include "content/public/test/test_browser_thread_bundle.h"
7 #include "extensions/browser/api/cast_channel/cast_test_util.h"
8
9 #include "testing/gtest/include/gtest/gtest.h"
10
11 using testing::_;
12
13 namespace extensions {
14 namespace api {
15 namespace cast_channel {
16
17 class CastSocketServiceTest : public testing::Test {
18 public:
19 CastSocketServiceTest()
20 : thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP) {}
21
22 protected:
23 content::TestBrowserThreadBundle thread_bundle_;
24 CastSocketService cast_socket_service_;
25 };
26
27 TEST_F(CastSocketServiceTest, TestAddSocket) {
28 auto* registry = cast_socket_service_.GetOrCreateSocketRegistry();
imcheng 2017/05/24 20:24:32 The counter used for allocating socket ids is a st
zhaobin 2017/05/24 22:15:07 --gtest_repeat=2 passed (think it starts a new pro
imcheng 2017/05/25 20:20:17 Ah ok. I would still try not to assume the ids are
zhaobin 2017/05/25 22:16:21 Done.
29 int channel_id = 0;
30
31 auto socket1 = base::MakeUnique<MockCastSocket>();
32 EXPECT_CALL(*socket1, set_id(1));
33
34 channel_id = registry->AddSocket(std::move(socket1));
35 EXPECT_EQ(1, channel_id);
36
37 auto socket2 = base::MakeUnique<MockCastSocket>();
38 EXPECT_CALL(*socket2, set_id(2));
39
40 auto* socket_ptr = socket2.get();
41 channel_id = registry->AddSocket(std::move(socket2));
42 EXPECT_EQ(2, channel_id);
43
44 auto removed_socket = registry->RemoveSocket(channel_id);
45 EXPECT_EQ(socket_ptr, removed_socket.get());
46
47 auto socket3 = base::MakeUnique<MockCastSocket>();
48 EXPECT_CALL(*socket3, set_id(3));
49
50 channel_id = registry->AddSocket(std::move(socket3));
51 EXPECT_EQ(3, channel_id);
52 }
53
54 TEST_F(CastSocketServiceTest, TestRemoveAndGetSocket) {
55 auto* registry = cast_socket_service_.GetOrCreateSocketRegistry();
56 int channel_id = 1;
57 auto* socket_ptr = registry->GetSocket(channel_id);
58 EXPECT_FALSE(socket_ptr);
59 auto socket = registry->RemoveSocket(channel_id);
60 EXPECT_FALSE(socket);
61
62 auto mock_socket = base::MakeUnique<MockCastSocket>();
63 EXPECT_CALL(*mock_socket, set_id(_));
64
65 auto* mock_socket_ptr = mock_socket.get();
66 channel_id = registry->AddSocket(std::move(mock_socket));
67 EXPECT_EQ(mock_socket_ptr, registry->GetSocket(channel_id));
68 socket = registry->RemoveSocket(channel_id);
69 EXPECT_TRUE(socket);
70 }
71
72 } // namespace cast_channel
73 } // namespace api
74 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698