OLD | NEW |
| (Empty) |
1 // Copyright 2015 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 <stddef.h> | |
6 | |
7 #include "chrome/browser/media/router/issue.h" | |
8 #include "chrome/browser/media/router/media_sink.h" | |
9 #include "chrome/browser/media/router/media_source_helper.h" | |
10 #include "chrome/browser/media/router/mojo/media_router_type_converters.h" | |
11 #include "testing/gtest/include/gtest/gtest.h" | |
12 | |
13 namespace media_router { | |
14 | |
15 TEST(MediaRouterTypeConvertersTest, ConvertMediaSink) { | |
16 MediaSink expected_media_sink("sinkId1", "Sink 1", MediaSink::IconType::CAST); | |
17 expected_media_sink.set_description("description"); | |
18 expected_media_sink.set_domain("domain"); | |
19 | |
20 mojom::MediaSinkPtr mojo_sink(mojom::MediaSink::New()); | |
21 mojo_sink->sink_id = "sinkId1"; | |
22 mojo_sink->name = "Sink 1"; | |
23 mojo_sink->description = std::string("description"); | |
24 mojo_sink->domain = std::string("domain"); | |
25 mojo_sink->icon_type = media_router::mojom::MediaSink::IconType::CAST; | |
26 | |
27 MediaSink media_sink = mojo::TypeConverter< | |
28 media_router::MediaSink, | |
29 media_router::mojom::MediaSinkPtr>::Convert(mojo_sink); | |
30 | |
31 // Convert MediaSink and back should result in identical object. | |
32 EXPECT_EQ(expected_media_sink.name(), media_sink.name()); | |
33 EXPECT_EQ(expected_media_sink.id(), media_sink.id()); | |
34 EXPECT_FALSE(media_sink.description().empty()); | |
35 EXPECT_EQ(expected_media_sink.description(), media_sink.description()); | |
36 EXPECT_FALSE(media_sink.domain().empty()); | |
37 EXPECT_EQ(expected_media_sink.domain(), media_sink.domain()); | |
38 EXPECT_EQ(expected_media_sink.icon_type(), media_sink.icon_type()); | |
39 EXPECT_TRUE(expected_media_sink.Equals(media_sink)); | |
40 } | |
41 | |
42 TEST(MediaRouterTypeConvertersTest, ConvertMediaSinkIconType) { | |
43 // Convert from Mojo to Media Router. | |
44 EXPECT_EQ(media_router::MediaSink::CAST, | |
45 mojo::SinkIconTypeFromMojo( | |
46 media_router::mojom::MediaSink::IconType::CAST)); | |
47 EXPECT_EQ(media_router::MediaSink::CAST_AUDIO, | |
48 mojo::SinkIconTypeFromMojo( | |
49 media_router::mojom::MediaSink::IconType::CAST_AUDIO)); | |
50 EXPECT_EQ( | |
51 media_router::MediaSink::CAST_AUDIO_GROUP, | |
52 mojo::SinkIconTypeFromMojo( | |
53 media_router::mojom::MediaSink::IconType::CAST_AUDIO_GROUP)); | |
54 EXPECT_EQ(media_router::MediaSink::GENERIC, | |
55 mojo::SinkIconTypeFromMojo( | |
56 media_router::mojom::MediaSink::IconType::GENERIC)); | |
57 EXPECT_EQ(media_router::MediaSink::HANGOUT, | |
58 mojo::SinkIconTypeFromMojo( | |
59 media_router::mojom::MediaSink::IconType::HANGOUT)); | |
60 | |
61 // Convert from Media Router to Mojo. | |
62 EXPECT_EQ(media_router::mojom::MediaSink::IconType::CAST, | |
63 mojo::SinkIconTypeToMojo(media_router::MediaSink::CAST)); | |
64 EXPECT_EQ(media_router::mojom::MediaSink::IconType::CAST_AUDIO, | |
65 mojo::SinkIconTypeToMojo(media_router::MediaSink::CAST_AUDIO)); | |
66 EXPECT_EQ( | |
67 media_router::mojom::MediaSink::IconType::CAST_AUDIO_GROUP, | |
68 mojo::SinkIconTypeToMojo(media_router::MediaSink::CAST_AUDIO_GROUP)); | |
69 EXPECT_EQ(media_router::mojom::MediaSink::IconType::GENERIC, | |
70 mojo::SinkIconTypeToMojo(media_router::MediaSink::GENERIC)); | |
71 EXPECT_EQ(media_router::mojom::MediaSink::IconType::HANGOUT, | |
72 mojo::SinkIconTypeToMojo(media_router::MediaSink::HANGOUT)); | |
73 } | |
74 | |
75 TEST(MediaRouterTypeConvertersTest, ConvertMediaRoute) { | |
76 MediaSource expected_source(MediaSourceForTab(123)); | |
77 MediaRoute expected_media_route("routeId1", expected_source, "sinkId", | |
78 "Description", false, "cast_view.html", true); | |
79 expected_media_route.set_incognito(true); | |
80 expected_media_route.set_offscreen_presentation(true); | |
81 mojom::MediaRoutePtr mojo_route(mojom::MediaRoute::New()); | |
82 mojo_route->media_route_id = "routeId1"; | |
83 mojo_route->media_source = expected_source.id(); | |
84 mojo_route->media_sink_id = "sinkId"; | |
85 mojo_route->description = "Description"; | |
86 mojo_route->is_local = false; | |
87 mojo_route->custom_controller_path = std::string("cast_view.html"); | |
88 mojo_route->for_display = true; | |
89 mojo_route->is_incognito = true; | |
90 mojo_route->is_offscreen_presentation = true; | |
91 | |
92 MediaRoute media_route = mojo_route.To<MediaRoute>(); | |
93 EXPECT_TRUE(expected_media_route.Equals(media_route)); | |
94 EXPECT_EQ(expected_media_route.media_sink_id(), media_route.media_sink_id()); | |
95 EXPECT_EQ(expected_media_route.description(), media_route.description()); | |
96 EXPECT_EQ(expected_media_route.media_source(), media_route.media_source()); | |
97 EXPECT_EQ(expected_media_route.media_source().id(), | |
98 media_route.media_source().id()); | |
99 EXPECT_EQ(expected_media_route.is_local(), media_route.is_local()); | |
100 EXPECT_EQ(expected_media_route.custom_controller_path(), | |
101 media_route.custom_controller_path()); | |
102 EXPECT_EQ(expected_media_route.for_display(), media_route.for_display()); | |
103 EXPECT_EQ(expected_media_route.is_incognito(), media_route.is_incognito()); | |
104 EXPECT_EQ(expected_media_route.is_offscreen_presentation(), | |
105 media_route.is_offscreen_presentation()); | |
106 } | |
107 | |
108 TEST(MediaRouterTypeConvertersTest, ConvertMediaRouteWithoutOptionalFields) { | |
109 MediaRoute expected_media_route("routeId1", MediaSource("sourceId"), "sinkId", | |
110 "Description", false, "", false); | |
111 mojom::MediaRoutePtr mojo_route(mojom::MediaRoute::New()); | |
112 // MediaRoute::media_source is omitted. | |
113 mojo_route->media_route_id = "routeId1"; | |
114 mojo_route->media_sink_id = "sinkId"; | |
115 mojo_route->description = "Description"; | |
116 mojo_route->is_local = false; | |
117 mojo_route->for_display = false; | |
118 mojo_route->is_incognito = false; | |
119 | |
120 MediaRoute media_route = mojo_route.To<MediaRoute>(); | |
121 EXPECT_TRUE(expected_media_route.Equals(media_route)); | |
122 } | |
123 | |
124 } // namespace media_router | |
OLD | NEW |