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