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

Side by Side Diff: media/cast/net/udp_transport_unittest.cc

Issue 388663003: Cast: Reshuffle files under media/cast (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: missing includes Created 6 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « media/cast/net/udp_transport.cc ('k') | media/cast/receiver/audio_decoder.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 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 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 "media/cast/transport/transport/udp_transport.h" 5 #include "media/cast/net/udp_transport.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
11 #include "base/bind.h" 11 #include "base/bind.h"
12 #include "base/callback.h" 12 #include "base/callback.h"
13 #include "base/message_loop/message_loop.h" 13 #include "base/message_loop/message_loop.h"
14 #include "base/run_loop.h" 14 #include "base/run_loop.h"
15 #include "media/cast/net/cast_transport_config.h"
15 #include "media/cast/test/utility/net_utility.h" 16 #include "media/cast/test/utility/net_utility.h"
16 #include "media/cast/transport/cast_transport_config.h"
17 #include "net/base/net_util.h" 17 #include "net/base/net_util.h"
18 #include "testing/gtest/include/gtest/gtest.h" 18 #include "testing/gtest/include/gtest/gtest.h"
19 19
20 namespace media { 20 namespace media {
21 namespace cast { 21 namespace cast {
22 namespace transport {
23 22
24 class MockPacketReceiver { 23 class MockPacketReceiver {
25 public: 24 public:
26 MockPacketReceiver(const base::Closure& callback) 25 MockPacketReceiver(const base::Closure& callback)
27 : packet_callback_(callback) {} 26 : packet_callback_(callback) {}
28 27
29 void ReceivedPacket(scoped_ptr<Packet> packet) { 28 void ReceivedPacket(scoped_ptr<Packet> packet) {
30 packet_ = std::string(packet->size(), '\0'); 29 packet_ = std::string(packet->size(), '\0');
31 std::copy(packet->begin(), packet->end(), packet_.begin()); 30 std::copy(packet->begin(), packet->end(), packet_.begin());
32 packet_callback_.Run(); 31 packet_callback_.Run();
33 } 32 }
34 33
35 std::string packet() const { return packet_; } 34 std::string packet() const { return packet_; }
36 transport::PacketReceiverCallback packet_receiver() { 35 PacketReceiverCallback packet_receiver() {
37 return base::Bind(&MockPacketReceiver::ReceivedPacket, 36 return base::Bind(&MockPacketReceiver::ReceivedPacket,
38 base::Unretained(this)); 37 base::Unretained(this));
39 } 38 }
40 39
41 private: 40 private:
42 std::string packet_; 41 std::string packet_;
43 base::Closure packet_callback_; 42 base::Closure packet_callback_;
44 43
45 DISALLOW_COPY_AND_ASSIGN(MockPacketReceiver); 44 DISALLOW_COPY_AND_ASSIGN(MockPacketReceiver);
46 }; 45 };
47 46
48 void SendPacket(UdpTransport* transport, Packet packet) { 47 void SendPacket(UdpTransport* transport, Packet packet) {
49 base::Closure cb; 48 base::Closure cb;
50 transport->SendPacket(new base::RefCountedData<Packet>(packet), cb); 49 transport->SendPacket(new base::RefCountedData<Packet>(packet), cb);
51 } 50 }
52 51
53 static void UpdateCastTransportStatus(transport::CastTransportStatus status) { 52 static void UpdateCastTransportStatus(CastTransportStatus status) {
54 NOTREACHED(); 53 NOTREACHED();
55 } 54 }
56 55
57 TEST(UdpTransport, SendAndReceive) { 56 TEST(UdpTransport, SendAndReceive) {
58 base::MessageLoopForIO message_loop; 57 base::MessageLoopForIO message_loop;
59 58
60 net::IPEndPoint free_local_port1 = test::GetFreeLocalPort(); 59 net::IPEndPoint free_local_port1 = test::GetFreeLocalPort();
61 net::IPEndPoint free_local_port2 = test::GetFreeLocalPort(); 60 net::IPEndPoint free_local_port2 = test::GetFreeLocalPort();
62 net::IPAddressNumber empty_addr_number; 61 net::IPAddressNumber empty_addr_number;
63 net::ParseIPLiteralToNumber("0.0.0.0", &empty_addr_number); 62 net::ParseIPLiteralToNumber("0.0.0.0", &empty_addr_number);
(...skipping 24 matching lines...) Expand all
88 87
89 base::Closure cb; 88 base::Closure cb;
90 send_transport.SendPacket(new base::RefCountedData<Packet>(packet), cb); 89 send_transport.SendPacket(new base::RefCountedData<Packet>(packet), cb);
91 run_loop.Run(); 90 run_loop.Run();
92 EXPECT_TRUE( 91 EXPECT_TRUE(
93 std::equal(packet.begin(), packet.end(), receiver1.packet().begin())); 92 std::equal(packet.begin(), packet.end(), receiver1.packet().begin()));
94 EXPECT_TRUE( 93 EXPECT_TRUE(
95 std::equal(packet.begin(), packet.end(), receiver2.packet().begin())); 94 std::equal(packet.begin(), packet.end(), receiver2.packet().begin()));
96 } 95 }
97 96
98 } // namespace transport
99 } // namespace cast 97 } // namespace cast
100 } // namespace media 98 } // namespace media
OLDNEW
« no previous file with comments | « media/cast/net/udp_transport.cc ('k') | media/cast/receiver/audio_decoder.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698