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 |