| OLD | NEW | 
|---|
| (Empty) |  | 
|  | 1 // Copyright 2017 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 "chrome/browser/media/router/discovery/media_sink_internal.h" | 
|  | 6 #include "testing/gmock/include/gmock/gmock.h" | 
|  | 7 #include "testing/gtest/include/gtest/gtest.h" | 
|  | 8 | 
|  | 9 namespace media_router { | 
|  | 10 | 
|  | 11 class MediaSinkInternalTest : public ::testing::Test { | 
|  | 12  public: | 
|  | 13   MediaSinkInternalTest() | 
|  | 14       : media_sink_(sink_id_, sink_name_, MediaSink::IconType::CAST) {} | 
|  | 15 | 
|  | 16   DialSinkExtraData CreateDialSinkExtraData() { | 
|  | 17     return CreateDialSinkExtraData(model_name_, ip_address_, app_url_); | 
|  | 18   } | 
|  | 19 | 
|  | 20   DialSinkExtraData CreateDialSinkExtraData(const std::string& model_name, | 
|  | 21                                             const std::string& ip_address, | 
|  | 22                                             const std::string& app_url) { | 
|  | 23     DialSinkExtraData dial_extra_data; | 
|  | 24     EXPECT_TRUE(dial_extra_data.ip_address.AssignFromIPLiteral(ip_address)); | 
|  | 25     dial_extra_data.model_name = model_name; | 
|  | 26     dial_extra_data.app_url = GURL(app_url); | 
|  | 27 | 
|  | 28     return dial_extra_data; | 
|  | 29   } | 
|  | 30 | 
|  | 31   CastSinkExtraData CreateCastSinkExtraData() { | 
|  | 32     return CreateCastSinkExtraData(model_name_, ip_address_, 2, 3); | 
|  | 33   } | 
|  | 34 | 
|  | 35   CastSinkExtraData CreateCastSinkExtraData(const std::string& model_name, | 
|  | 36                                             const std::string& ip_address, | 
|  | 37                                             uint8_t capabilities, | 
|  | 38                                             int cast_channel_id) { | 
|  | 39     CastSinkExtraData cast_extra_data; | 
|  | 40     EXPECT_TRUE(cast_extra_data.ip_address.AssignFromIPLiteral(ip_address)); | 
|  | 41     cast_extra_data.model_name = model_name; | 
|  | 42     cast_extra_data.capabilities = 2; | 
|  | 43     cast_extra_data.cast_channel_id = 3; | 
|  | 44     return cast_extra_data; | 
|  | 45   } | 
|  | 46 | 
|  | 47   MediaSink media_sink() { return media_sink_; } | 
|  | 48 | 
|  | 49  private: | 
|  | 50   std::string sink_id_ = "sinkId123"; | 
|  | 51   std::string sink_name_ = "The sink"; | 
|  | 52   std::string ip_address_ = "192.168.1.2"; | 
|  | 53   std::string model_name_ = "model name"; | 
|  | 54   std::string app_url_ = "https://example.com"; | 
|  | 55 | 
|  | 56   MediaSink media_sink_; | 
|  | 57 }; | 
|  | 58 | 
|  | 59 TEST_F(MediaSinkInternalTest, TestIsValidSinkId) { | 
|  | 60   EXPECT_FALSE(MediaSinkInternal::IsValidSinkId("")); | 
|  | 61   EXPECT_TRUE(MediaSinkInternal::IsValidSinkId("rjuKv_yxhY4jg7QBIp0kbngLjR6A")); | 
|  | 62 } | 
|  | 63 | 
|  | 64 TEST_F(MediaSinkInternalTest, TestConstructorAndAssignment) { | 
|  | 65   MediaSink sink = media_sink(); | 
|  | 66   DialSinkExtraData dial_extra_data = CreateDialSinkExtraData(); | 
|  | 67   CastSinkExtraData cast_extra_data = CreateCastSinkExtraData(); | 
|  | 68 | 
|  | 69   MediaSinkInternal generic_sink; | 
|  | 70   generic_sink.set_sink(sink); | 
|  | 71   MediaSinkInternal dial_sink(sink, dial_extra_data); | 
|  | 72   MediaSinkInternal cast_sink(sink, cast_extra_data); | 
|  | 73 | 
|  | 74   MediaSinkInternal copied_generic_sink(generic_sink); | 
|  | 75   MediaSinkInternal copied_dial_sink(dial_sink); | 
|  | 76   MediaSinkInternal copied_cast_sink(cast_sink); | 
|  | 77 | 
|  | 78   ASSERT_TRUE(generic_sink == copied_generic_sink); | 
|  | 79   ASSERT_TRUE(dial_sink == copied_dial_sink); | 
|  | 80   ASSERT_TRUE(cast_sink == copied_cast_sink); | 
|  | 81 | 
|  | 82   MediaSinkInternal assigned_empty_sink; | 
|  | 83   MediaSinkInternal assigned_generic_sink = generic_sink; | 
|  | 84   MediaSinkInternal assigned_dial_sink = dial_sink; | 
|  | 85   MediaSinkInternal assigned_cast_sink = cast_sink; | 
|  | 86 | 
|  | 87   std::vector<MediaSinkInternal> assigned_sinks( | 
|  | 88       {assigned_empty_sink, assigned_generic_sink, assigned_dial_sink, | 
|  | 89        assigned_cast_sink}); | 
|  | 90   std::vector<MediaSinkInternal> original_sinks( | 
|  | 91       {generic_sink, dial_sink, cast_sink}); | 
|  | 92 | 
|  | 93   for (auto& actual_sink : assigned_sinks) { | 
|  | 94     for (const auto& original_sink : original_sinks) { | 
|  | 95       actual_sink = original_sink; | 
|  | 96       EXPECT_EQ(original_sink, actual_sink); | 
|  | 97     } | 
|  | 98   } | 
|  | 99 } | 
|  | 100 | 
|  | 101 TEST_F(MediaSinkInternalTest, TestSetExtraData) { | 
|  | 102   MediaSink sink = media_sink(); | 
|  | 103   DialSinkExtraData dial_extra_data = CreateDialSinkExtraData(); | 
|  | 104   CastSinkExtraData cast_extra_data = CreateCastSinkExtraData(); | 
|  | 105 | 
|  | 106   MediaSinkInternal dial_sink1; | 
|  | 107   dial_sink1.set_dial_data(dial_extra_data); | 
|  | 108   ASSERT_EQ(dial_extra_data, dial_sink1.dial_data()); | 
|  | 109 | 
|  | 110   MediaSinkInternal cast_sink1; | 
|  | 111   cast_sink1.set_cast_data(cast_extra_data); | 
|  | 112   ASSERT_EQ(cast_extra_data, cast_sink1.cast_data()); | 
|  | 113 | 
|  | 114   DialSinkExtraData dial_extra_data2 = CreateDialSinkExtraData( | 
|  | 115       "new_dial_model_name", "192.1.2.100", "https://example2.com"); | 
|  | 116   CastSinkExtraData cast_extra_data2 = | 
|  | 117       CreateCastSinkExtraData("new_cast_model_name", "192.1.2.101", 4, 5); | 
|  | 118 | 
|  | 119   MediaSinkInternal dial_sink2(sink, dial_extra_data); | 
|  | 120   dial_sink2.set_dial_data(dial_extra_data2); | 
|  | 121   ASSERT_EQ(dial_extra_data2, dial_sink2.dial_data()); | 
|  | 122 | 
|  | 123   MediaSinkInternal cast_sink2(sink, cast_extra_data); | 
|  | 124   cast_sink2.set_cast_data(cast_extra_data2); | 
|  | 125   ASSERT_EQ(cast_extra_data2, cast_sink2.cast_data()); | 
|  | 126 } | 
|  | 127 | 
|  | 128 }  // namespace media_router | 
| OLD | NEW | 
|---|