| Index: chrome/browser/media/router/media_router_type_converters_unittest.cc
|
| diff --git a/chrome/browser/media/router/media_router_type_converters_unittest.cc b/chrome/browser/media/router/media_router_type_converters_unittest.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..d6454eefa36d6f14c482689429beb59c7bcb70f2
|
| --- /dev/null
|
| +++ b/chrome/browser/media/router/media_router_type_converters_unittest.cc
|
| @@ -0,0 +1,96 @@
|
| +// Copyright 2015 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "chrome/browser/media/router/issue.h"
|
| +#include "chrome/browser/media/router/media_router_type_converters.h"
|
| +#include "chrome/browser/media/router/media_sink.h"
|
| +#include "chrome/browser/media/router/media_source_helper.h"
|
| +#include "testing/gmock/include/gmock/gmock.h"
|
| +
|
| +namespace media_router {
|
| +
|
| +class MediaRouterTypeConvertersTest : public ::testing::Test {
|
| + protected:
|
| + MediaRouterTypeConvertersTest() {}
|
| + ~MediaRouterTypeConvertersTest() override {}
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(MediaRouterTypeConvertersTest);
|
| +};
|
| +
|
| +TEST_F(MediaRouterTypeConvertersTest, ConvertMediaSink) {
|
| + MediaSink expected_mr_sink("sinkId1", "Sink 1");
|
| + interfaces::MediaSinkPtr expected_mojo_sink(interfaces::MediaSink::New());
|
| + expected_mojo_sink->sink_id = "sinkId1";
|
| + expected_mojo_sink->name = "Sink 1";
|
| +
|
| + interfaces::MediaSinkPtr mojo_sink =
|
| + mojo::TypeConverter<interfaces::MediaSinkPtr, MediaSink>::Convert(
|
| + expected_mr_sink);
|
| +
|
| + EXPECT_EQ(expected_mojo_sink, mojo_sink);
|
| +
|
| + MediaSink mr_sink = mojo::TypeConverter<
|
| + media_router::MediaSink,
|
| + media_router::interfaces::MediaSinkPtr>::Convert(mojo_sink);
|
| +
|
| + // Convert MediaSink and back should result in identical object.
|
| + EXPECT_TRUE(expected_mr_sink.Equals(mr_sink));
|
| +}
|
| +
|
| +TEST_F(MediaRouterTypeConvertersTest, ConvertMediaRoute) {
|
| + MediaSource expected_source(ForTabMediaSource(123));
|
| + MediaRoute expected_mr_route("routeId1", expected_source,
|
| + MediaSink("sinkId", "sinkName"), "Description",
|
| + false);
|
| + interfaces::MediaRoutePtr expected_mojo_route(interfaces::MediaRoute::New());
|
| + expected_mojo_route->media_route_id = "routeId1";
|
| + expected_mojo_route->media_source = expected_source.id();
|
| + expected_mojo_route->media_sink = interfaces::MediaSink::New();
|
| + expected_mojo_route->media_sink->sink_id = "sinkId";
|
| + expected_mojo_route->media_sink->name = "sinkName";
|
| + expected_mojo_route->description = "Description";
|
| + expected_mojo_route->is_local = false;
|
| +
|
| + interfaces::MediaRoutePtr mojo_route =
|
| + mojo::TypeConverter<media_router::interfaces::MediaRoutePtr,
|
| + media_router::MediaRoute>::Convert(expected_mr_route);
|
| + EXPECT_EQ(expected_mojo_route, mojo_route);
|
| +
|
| + MediaRoute mr_route = mojo_route.To<MediaRoute>();
|
| + EXPECT_TRUE(expected_mr_route.Equals(mr_route));
|
| + EXPECT_EQ("sinkName", mr_route.media_sink().name());
|
| +}
|
| +
|
| +TEST_F(MediaRouterTypeConvertersTest, ConvertIssue) {
|
| + interfaces::IssuePtr mojoIssue;
|
| + mojoIssue = interfaces::Issue::New();
|
| + mojoIssue->title = "title";
|
| + mojoIssue->message = "msg";
|
| + mojoIssue->route_id = "routeId";
|
| + mojoIssue->default_action = interfaces::Issue::ActionType::ACTION_TYPE_OK;
|
| + mojoIssue->secondary_actions =
|
| + mojo::Array<interfaces::Issue::ActionType>::New(2);
|
| + mojoIssue->secondary_actions[0] =
|
| + interfaces::Issue::ActionType::ACTION_TYPE_CANCEL;
|
| + mojoIssue->secondary_actions[1] =
|
| + interfaces::Issue::ActionType::ACTION_TYPE_DISMISS;
|
| + mojoIssue->severity = interfaces::Issue::Severity::SEVERITY_WARNING;
|
| + mojoIssue->is_blocking = true;
|
| + mojoIssue->help_url = "help_url";
|
| +
|
| + std::vector<IssueAction> secondary_actions;
|
| + secondary_actions.push_back(IssueAction(IssueAction::CANCEL));
|
| + secondary_actions.push_back(IssueAction(IssueAction::DISMISS));
|
| + Issue issue("title", "msg", IssueAction(IssueAction::OK), secondary_actions,
|
| + "routeId", Issue::WARNING, true, "help_url");
|
| +
|
| + Issue converted_issue = mojo::TypeConverter<
|
| + media_router::Issue,
|
| + media_router::interfaces::IssuePtr>::Convert(mojoIssue);
|
| +
|
| + EXPECT_FALSE(converted_issue.Equals(issue));
|
| +}
|
| +
|
| +} // namespace media_router
|
|
|