Chromium Code Reviews| Index: chrome/browser/media/router/media_source_unittest.cc |
| diff --git a/chrome/browser/media/router/media_source_unittest.cc b/chrome/browser/media/router/media_source_unittest.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..29aa4feedb08173b86f8c7c6008084de84f5bc42 |
| --- /dev/null |
| +++ b/chrome/browser/media/router/media_source_unittest.cc |
| @@ -0,0 +1,49 @@ |
| +// 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/media_source.h" |
| +#include "testing/gtest/include/gtest/gtest.h" |
| + |
| +namespace media_router { |
| + |
| +TEST(MediaSourceTest, IsMirroringMediaSource) { |
| + EXPECT_TRUE(MediaSource::ForTab(123).SupportsMirroring()); |
| + EXPECT_TRUE(MediaSource::ForDesktop().SupportsMirroring()); |
| + EXPECT_FALSE(MediaSource::ForCastApp("CastApp").SupportsMirroring()); |
| + EXPECT_FALSE( |
| + MediaSource::ForPresentationUrl("http://url").SupportsMirroring()); |
| +} |
| + |
| +TEST(MediaSourceTest, CreateMediaSource) { |
| + EXPECT_EQ("urn:x-org.chromium.media:source:tab:123", |
| + MediaSource::ForTab(123).id()); |
| + EXPECT_EQ("urn:x-org.chromium.media:source:desktop", |
| + MediaSource::ForDesktop().id()); |
| + EXPECT_EQ("urn:x-com.google.cast:application:DEADBEEF", |
| + MediaSource::ForCastApp("DEADBEEF").id()); |
| + EXPECT_EQ("http://theoatmeal.com/", |
| + MediaSource::ForPresentationUrl("http://theoatmeal.com/").id()); |
| +} |
| + |
| +TEST(MediaSourceTest, SourceParse) { |
| + MediaSource source; |
| + EXPECT_TRUE( |
| + source.Parse("urn:x-org.chromium.media:source:tab888")); |
| + EXPECT_TRUE(source.Parse(MediaSource::ForDesktop().id())); |
| + EXPECT_TRUE(source.Parse(MediaSource::ForCastApp("DEADBEEF").id())); |
| + EXPECT_TRUE(source.Parse( |
| + MediaSource::ForPresentationUrl("http://theoatmeal.com/").id())); |
|
xhwang
2015/03/09 17:37:31
hmm, http://theoatmeal.com is actually a real site
Kevin M
2015/03/09 23:32:06
Good point, but test code is removed anyway.
|
| + EXPECT_TRUE(source.Parse(MediaSource::ForPresentationUrl( |
| + "https://secure.theoatmeal.com/login").id())); |
| + |
| + // Disallowed scheme |
| + EXPECT_FALSE(source.Parse( |
| + MediaSource::ForPresentationUrl("file:///some/local/path").id())); |
| + |
| + // Not a URL |
| + EXPECT_FALSE(source.Parse( |
| + MediaSource::ForPresentationUrl("exploding kittens").id())); |
| +} |
| + |
| +} // namespace media_router |