Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1082)

Side by Side Diff: chrome/renderer/plugins/plugin_uma_unittest.cc

Issue 23606022: Move renderer plugin code into a new component. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright (c) 2011 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 <gtest/gtest.h>
6
7 #include "chrome/renderer/plugins/plugin_uma.h"
8
9 class PluginUMATest : public testing::Test {
10 public:
11 static void ExpectPluginType(
12 PluginUMAReporter::PluginType expected_plugin_type,
13 const std::string& plugin_mime_type,
14 const GURL& plugin_src) {
15 EXPECT_EQ(expected_plugin_type,
16 PluginUMAReporter::GetInstance()->GetPluginType(plugin_mime_type,
17 plugin_src));
18 }
19 };
20
21 TEST_F(PluginUMATest, WindowsMediaPlayer) {
22 ExpectPluginType(PluginUMAReporter::WINDOWS_MEDIA_PLAYER,
23 "application/x-mplayer2",
24 GURL("file://some_file.mov"));
25 ExpectPluginType(PluginUMAReporter::UNSUPPORTED_MIMETYPE,
26 "application/x-mplayer2-some_sufix",
27 GURL("file://some_file.mov"));
28 ExpectPluginType(PluginUMAReporter::UNSUPPORTED_MIMETYPE,
29 "some-prefix-application/x-mplayer2",
30 GURL("file://some_file.mov"));
31 }
32
33 TEST_F(PluginUMATest, Silverlight) {
34 ExpectPluginType(PluginUMAReporter::SILVERLIGHT,
35 "application/x-silverlight",
36 GURL("aaaa"));
37 ExpectPluginType(PluginUMAReporter::SILVERLIGHT,
38 "application/x-silverlight-some-sufix",
39 GURL("aaaa"));
40 ExpectPluginType(PluginUMAReporter::UNSUPPORTED_MIMETYPE,
41 "some-prefix-application/x-silverlight",
42 GURL("aaaa"));
43 }
44
45 TEST_F(PluginUMATest, RealPlayer) {
46 ExpectPluginType(PluginUMAReporter::REALPLAYER,
47 "audio/x-pn-realaudio",
48 GURL("some url"));
49 ExpectPluginType(PluginUMAReporter::REALPLAYER,
50 "audio/x-pn-realaudio-some-sufix",
51 GURL("some url"));
52 ExpectPluginType(PluginUMAReporter::UNSUPPORTED_MIMETYPE,
53 "some-prefix-audio/x-pn-realaudio",
54 GURL("some url"));
55 }
56
57 TEST_F(PluginUMATest, Java) {
58 ExpectPluginType(PluginUMAReporter::JAVA,
59 "application/x-java-applet",
60 GURL("some url"));
61 ExpectPluginType(PluginUMAReporter::JAVA,
62 "application/x-java-applet-some-sufix",
63 GURL("some url"));
64 ExpectPluginType(PluginUMAReporter::JAVA,
65 "some-prefix-application/x-java-applet-sufix",
66 GURL("some url"));
67 }
68
69 TEST_F(PluginUMATest, QuickTime) {
70 ExpectPluginType(PluginUMAReporter::QUICKTIME,
71 "video/quicktime",
72 GURL("some url"));
73 ExpectPluginType(PluginUMAReporter::UNSUPPORTED_MIMETYPE,
74 "video/quicktime-sufix",
75 GURL("some url"));
76 ExpectPluginType(PluginUMAReporter::UNSUPPORTED_MIMETYPE,
77 "prefix-video/quicktime",
78 GURL("some url"));
79 }
80
81 TEST_F(PluginUMATest, BrowserPlugin) {
82 ExpectPluginType(PluginUMAReporter::BROWSER_PLUGIN,
83 "application/browser-plugin",
84 GURL("some url"));
85 ExpectPluginType(PluginUMAReporter::UNSUPPORTED_MIMETYPE,
86 "application/browser-plugin-sufix",
87 GURL("some url"));
88 ExpectPluginType(PluginUMAReporter::UNSUPPORTED_MIMETYPE,
89 "prefix-application/browser-plugin",
90 GURL("some url"));
91 }
92
93 TEST_F(PluginUMATest, ShockwaveFlash) {
94 ExpectPluginType(PluginUMAReporter::SHOCKWAVE_FLASH,
95 "application/x-shockwave-flash",
96 GURL("some url"));
97 ExpectPluginType(PluginUMAReporter::SHOCKWAVE_FLASH,
98 "application/futuresplash",
99 GURL("some url"));
100 ExpectPluginType(PluginUMAReporter::UNSUPPORTED_MIMETYPE,
101 "application/x-futuresplash",
102 GURL("some url"));
103 ExpectPluginType(PluginUMAReporter::UNSUPPORTED_MIMETYPE,
104 "application/shockwave-flash",
105 GURL("some url"));
106 }
107
108 TEST_F(PluginUMATest, WidevineCdm) {
109 #if defined(ENABLE_PEPPER_CDMS)
110 ExpectPluginType(PluginUMAReporter::WIDEVINE_CDM,
111 #else
112 ExpectPluginType(PluginUMAReporter::UNSUPPORTED_MIMETYPE,
113 #endif
114 "application/x-ppapi-widevine-cdm",
115 GURL("some url"));
116 ExpectPluginType(PluginUMAReporter::UNSUPPORTED_MIMETYPE,
117 "application/x-ppapi-widevine-cdm-sufix",
118 GURL("some url"));
119 ExpectPluginType(PluginUMAReporter::UNSUPPORTED_MIMETYPE,
120 "prefix-application/x-ppapi-widevine-cdm",
121 GURL("some url"));
122 }
123
124 TEST_F(PluginUMATest, BySrcExtension) {
125 ExpectPluginType(
126 PluginUMAReporter::QUICKTIME, std::string(), GURL("file://file.mov"));
127
128 // When plugin's mime type is given, we don't check extension.
129 ExpectPluginType(PluginUMAReporter::UNSUPPORTED_MIMETYPE,
130 "unknown-plugin",
131 GURL("http://file.mov"));
132
133 ExpectPluginType(PluginUMAReporter::WINDOWS_MEDIA_PLAYER,
134 std::string(),
135 GURL("file://file.asx"));
136 ExpectPluginType(
137 PluginUMAReporter::REALPLAYER, std::string(), GURL("file://file.rm"));
138 ExpectPluginType(PluginUMAReporter::QUICKTIME,
139 std::string(),
140 GURL("http://aaa/file.mov?x=aaaa&y=b#c"));
141 ExpectPluginType(PluginUMAReporter::QUICKTIME,
142 std::string(),
143 GURL("http://file.mov?x=aaaa&y=b#c"));
144 ExpectPluginType(PluginUMAReporter::SHOCKWAVE_FLASH,
145 std::string(),
146 GURL("http://file.swf?x=aaaa&y=b#c"));
147 ExpectPluginType(PluginUMAReporter::SHOCKWAVE_FLASH,
148 std::string(),
149 GURL("http://file.spl?x=aaaa&y=b#c"));
150
151 ExpectPluginType(PluginUMAReporter::UNSUPPORTED_EXTENSION,
152 std::string(),
153 GURL("http://file.unknown_extension"));
154 ExpectPluginType(
155 PluginUMAReporter::UNSUPPORTED_EXTENSION, std::string(), GURL("http://"));
156 ExpectPluginType(
157 PluginUMAReporter::UNSUPPORTED_EXTENSION, std::string(), GURL("mov"));
158 }
159
160 TEST_F(PluginUMATest, CaseSensitivity) {
161 ExpectPluginType(PluginUMAReporter::QUICKTIME,
162 "video/QUICKTIME",
163 GURL("http://file.aaa"));
164 ExpectPluginType(
165 PluginUMAReporter::QUICKTIME, std::string(), GURL("http://file.MoV"));
166 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698