Index: chrome/renderer/plugins/plugin_uma_unittest.cc |
diff --git a/chrome/renderer/plugins/plugin_uma_unittest.cc b/chrome/renderer/plugins/plugin_uma_unittest.cc |
index 46e8099841981de6d1bf47ae75eb03e84787dcba..abb698674c137486e30b3ebb50c71a3df5889bae 100644 |
--- a/chrome/renderer/plugins/plugin_uma_unittest.cc |
+++ b/chrome/renderer/plugins/plugin_uma_unittest.cc |
@@ -9,227 +9,134 @@ |
using ::testing::_; |
-class MockPluginUMASender : public MissingPluginReporter::UMASender { |
+class MockPluginUMASender : public PluginUMAReporter::UMASender { |
public: |
- MOCK_METHOD1(SendPluginUMA, void(MissingPluginReporter::PluginType)); |
+ MOCK_METHOD2(SendPluginUMA, void(PluginUMAReporter::ReportType, |
+ PluginUMAReporter::PluginType)); |
}; |
-TEST(PluginUMATest, WindowsMediaPlayer) { |
- MockPluginUMASender* sender_mock = new MockPluginUMASender(); |
- MissingPluginReporter::GetInstance()->SetUMASender(sender_mock); |
- EXPECT_CALL(*sender_mock, SendPluginUMA(_)) |
- .Times(0); |
- |
- EXPECT_CALL(*sender_mock, |
- SendPluginUMA(MissingPluginReporter::WINDOWS_MEDIA_PLAYER)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- MissingPluginReporter::GetInstance()->ReportPluginMissing( |
- "application/x-mplayer2", |
- GURL("file://some_file.mov")); |
- |
- EXPECT_CALL(*sender_mock, SendPluginUMA(MissingPluginReporter::OTHER)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- MissingPluginReporter::GetInstance()->ReportPluginMissing( |
- "application/x-mplayer2-some_sufix", |
- GURL("file://some_file.mov")); |
- |
- EXPECT_CALL(*sender_mock, SendPluginUMA(MissingPluginReporter::OTHER)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- MissingPluginReporter::GetInstance()->ReportPluginMissing( |
- "some-prefix-application/x-mplayer2", |
- GURL("file://some_file.mov")); |
-} |
+class PluginUMATest : public testing::Test { |
+ public: |
+ PluginUMATest() : sender_mock_(new MockPluginUMASender()) { |
+ PluginUMAReporter::GetInstance()->SetUMASender(sender_mock_); |
+ EXPECT_CALL(*sender_mock_, SendPluginUMA(_, _)) |
+ .Times(0); |
+ } |
+ |
+ void ExpectUMAReport(PluginUMAReporter::PluginType plugin_type, |
+ const std::string& plugin_mime_type, |
+ const GURL& plugin_src) { |
+ EXPECT_CALL(*sender_mock_, SendPluginUMA(PluginUMAReporter::MISSING_PLUGIN, |
+ plugin_type)) |
+ .Times(1) |
+ .RetiresOnSaturation(); |
+ PluginUMAReporter::GetInstance()->ReportPluginMissing( |
+ plugin_mime_type, plugin_src); |
+ |
+ EXPECT_CALL(*sender_mock_, SendPluginUMA(PluginUMAReporter::DISABLED_PLUGIN, |
xhwang
2013/04/03 18:50:45
DISABLED_PLUGIN is tested here!
|
+ plugin_type)) |
+ .Times(1) |
+ .RetiresOnSaturation(); |
+ PluginUMAReporter::GetInstance()->ReportPluginDisabled( |
+ plugin_mime_type, plugin_src); |
+ } |
+ |
+ private: |
+ MockPluginUMASender* sender_mock_; |
+}; |
-TEST(PluginUMATest, Silverlight) { |
- MockPluginUMASender* sender_mock = new MockPluginUMASender(); |
- MissingPluginReporter::GetInstance()->SetUMASender(sender_mock); |
- EXPECT_CALL(*sender_mock, SendPluginUMA(_)) |
- .Times(0); |
- |
- EXPECT_CALL(*sender_mock, SendPluginUMA(MissingPluginReporter::SILVERLIGHT)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- MissingPluginReporter::GetInstance()->ReportPluginMissing( |
- "application/x-silverlight", |
- GURL("aaaa")); |
- |
- EXPECT_CALL(*sender_mock, SendPluginUMA(MissingPluginReporter::SILVERLIGHT)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- MissingPluginReporter::GetInstance()->ReportPluginMissing( |
- "application/x-silverlight-some-sufix", |
- GURL("aaaa")); |
- |
- EXPECT_CALL(*sender_mock, SendPluginUMA(MissingPluginReporter::OTHER)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- MissingPluginReporter::GetInstance()->ReportPluginMissing( |
- "some-prefix-application/x-silverlight", |
- GURL("aaaa")); |
+TEST_F(PluginUMATest, WindowsMediaPlayer) { |
+ ExpectUMAReport(PluginUMAReporter::WINDOWS_MEDIA_PLAYER, |
Bernhard Bauer
2013/04/03 19:08:42
Thanks for this cleanup! We could probably go a bi
xhwang
2013/04/04 17:28:38
Done.
|
+ "application/x-mplayer2", |
+ GURL("file://some_file.mov")); |
+ ExpectUMAReport(PluginUMAReporter::OTHER, |
+ "application/x-mplayer2-some_sufix", |
+ GURL("file://some_file.mov")); |
+ ExpectUMAReport(PluginUMAReporter::OTHER, |
+ "some-prefix-application/x-mplayer2", |
+ GURL("file://some_file.mov")); |
} |
-TEST(PluginUMATest, RealPlayer) { |
- MockPluginUMASender* sender_mock = new MockPluginUMASender(); |
- MissingPluginReporter::GetInstance()->SetUMASender(sender_mock); |
- EXPECT_CALL(*sender_mock, SendPluginUMA(_)) |
- .Times(0); |
- |
- EXPECT_CALL(*sender_mock, SendPluginUMA(MissingPluginReporter::REALPLAYER)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- MissingPluginReporter::GetInstance()->ReportPluginMissing( |
- "audio/x-pn-realaudio", |
- GURL("some url")); |
- |
- EXPECT_CALL(*sender_mock, SendPluginUMA(MissingPluginReporter::REALPLAYER)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- MissingPluginReporter::GetInstance()->ReportPluginMissing( |
- "audio/x-pn-realaudio-some-sufix", |
- GURL("some url")); |
- |
- EXPECT_CALL(*sender_mock, SendPluginUMA(MissingPluginReporter::OTHER)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- MissingPluginReporter::GetInstance()->ReportPluginMissing( |
- "some-prefix-audio/x-pn-realaudio", |
- GURL("some url")); |
+TEST_F(PluginUMATest, Silverlight) { |
+ ExpectUMAReport(PluginUMAReporter::SILVERLIGHT, |
+ "application/x-silverlight", |
+ GURL("aaaa")); |
+ ExpectUMAReport(PluginUMAReporter::SILVERLIGHT, |
+ "application/x-silverlight-some-sufix", |
+ GURL("aaaa")); |
+ ExpectUMAReport(PluginUMAReporter::OTHER, |
+ "some-prefix-application/x-silverlight", |
+ GURL("aaaa")); |
} |
-TEST(PluginUMATest, Java) { |
- MockPluginUMASender* sender_mock = new MockPluginUMASender(); |
- MissingPluginReporter::GetInstance()->SetUMASender(sender_mock); |
- EXPECT_CALL(*sender_mock, SendPluginUMA(_)) |
- .Times(0); |
- |
- EXPECT_CALL(*sender_mock, SendPluginUMA(MissingPluginReporter::JAVA)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- MissingPluginReporter::GetInstance()->ReportPluginMissing( |
- "application/x-java-applet", |
- GURL("some url")); |
- |
- EXPECT_CALL(*sender_mock, SendPluginUMA(MissingPluginReporter::JAVA)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- MissingPluginReporter::GetInstance()->ReportPluginMissing( |
- "application/x-java-applet-some-sufix", |
- GURL("some url")); |
- |
- EXPECT_CALL(*sender_mock, SendPluginUMA(MissingPluginReporter::JAVA)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- MissingPluginReporter::GetInstance()->ReportPluginMissing( |
- "some-prefix-application/x-java-applet-sufix", |
- GURL("some url")); |
+TEST_F(PluginUMATest, RealPlayer) { |
+ ExpectUMAReport(PluginUMAReporter::REALPLAYER, |
+ "audio/x-pn-realaudio", |
+ GURL("some url")); |
+ ExpectUMAReport(PluginUMAReporter::REALPLAYER, |
+ "audio/x-pn-realaudio-some-sufix", |
+ GURL("some url")); |
+ ExpectUMAReport(PluginUMAReporter::OTHER, |
+ "some-prefix-audio/x-pn-realaudio", |
+ GURL("some url")); |
} |
-TEST(PluginUMATest, QuickTime) { |
- MockPluginUMASender* sender_mock = new MockPluginUMASender(); |
- MissingPluginReporter::GetInstance()->SetUMASender(sender_mock); |
- EXPECT_CALL(*sender_mock, SendPluginUMA(_)) |
- .Times(0); |
- |
- EXPECT_CALL(*sender_mock, SendPluginUMA(MissingPluginReporter::QUICKTIME)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- MissingPluginReporter::GetInstance()->ReportPluginMissing( |
- "video/quicktime", |
- GURL("some url")); |
- |
- EXPECT_CALL(*sender_mock, SendPluginUMA(MissingPluginReporter::OTHER)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- MissingPluginReporter::GetInstance()->ReportPluginMissing( |
- "video/quicktime-sufix", |
- GURL("some url")); |
- |
- EXPECT_CALL(*sender_mock, SendPluginUMA(MissingPluginReporter::OTHER)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- MissingPluginReporter::GetInstance()->ReportPluginMissing( |
- "prefix-video/quicktime", |
- GURL("some url")); |
+TEST_F(PluginUMATest, Java) { |
+ ExpectUMAReport(PluginUMAReporter::JAVA, |
+ "application/x-java-applet", |
+ GURL("some url")); |
+ ExpectUMAReport(PluginUMAReporter::JAVA, |
+ "application/x-java-applet-some-sufix", |
+ GURL("some url")); |
+ ExpectUMAReport(PluginUMAReporter::JAVA, |
+ "some-prefix-application/x-java-applet-sufix", |
+ GURL("some url")); |
} |
-TEST(PluginUMATest, BySrcExtension) { |
- MockPluginUMASender* sender_mock = new MockPluginUMASender(); |
- MissingPluginReporter::GetInstance()->SetUMASender(sender_mock); |
- EXPECT_CALL(*sender_mock, SendPluginUMA(_)) |
- .Times(0); |
+TEST_F(PluginUMATest, QuickTime) { |
+ ExpectUMAReport(PluginUMAReporter::QUICKTIME, |
+ "video/quicktime", |
+ GURL("some url")); |
+ ExpectUMAReport(PluginUMAReporter::OTHER, |
+ "video/quicktime-sufix", |
+ GURL("some url")); |
+ ExpectUMAReport(PluginUMAReporter::OTHER, |
+ "prefix-video/quicktime", |
+ GURL("some url")); |
+} |
- EXPECT_CALL(*sender_mock, SendPluginUMA(MissingPluginReporter::QUICKTIME)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- MissingPluginReporter::GetInstance()->ReportPluginMissing( |
- "", |
- GURL("file://file.mov")); |
+TEST_F(PluginUMATest, BySrcExtension) { |
+ ExpectUMAReport(PluginUMAReporter::QUICKTIME, |
+ "", |
+ GURL("file://file.mov")); |
// When plugin's mime type is given, we don't check extension. |
- EXPECT_CALL(*sender_mock, SendPluginUMA(MissingPluginReporter::OTHER)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- MissingPluginReporter::GetInstance()->ReportPluginMissing( |
- "unknown-plugin", |
- GURL("http://file.mov")); |
- |
- EXPECT_CALL(*sender_mock, SendPluginUMA(MissingPluginReporter::OTHER)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- MissingPluginReporter::GetInstance()->ReportPluginMissing( |
- "", |
- GURL("http://file.unknown_extension")); |
- |
- EXPECT_CALL(*sender_mock, SendPluginUMA(MissingPluginReporter::QUICKTIME)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- MissingPluginReporter::GetInstance()->ReportPluginMissing( |
- "", |
- GURL("http://aaa/file.mov?x=aaaa&y=b#c")); |
- |
- EXPECT_CALL(*sender_mock, SendPluginUMA(MissingPluginReporter::QUICKTIME)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- MissingPluginReporter::GetInstance()->ReportPluginMissing( |
- "", |
- GURL("http://file.mov?x=aaaa&y=b#c")); |
- |
- EXPECT_CALL(*sender_mock, SendPluginUMA(MissingPluginReporter::OTHER)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- MissingPluginReporter::GetInstance()->ReportPluginMissing( |
- "", |
- GURL("http://")); |
- |
- EXPECT_CALL(*sender_mock, SendPluginUMA(MissingPluginReporter::OTHER)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- MissingPluginReporter::GetInstance()->ReportPluginMissing( |
- "", |
- GURL("mov")); |
+ ExpectUMAReport(PluginUMAReporter::OTHER, |
+ "unknown-plugin", |
+ GURL("http://file.mov")); |
+ |
+ ExpectUMAReport(PluginUMAReporter::OTHER, |
+ "", |
+ GURL("http://file.unknown_extension")); |
+ ExpectUMAReport(PluginUMAReporter::QUICKTIME, |
+ "", |
+ GURL("http://aaa/file.mov?x=aaaa&y=b#c")); |
+ ExpectUMAReport(PluginUMAReporter::QUICKTIME, |
+ "", |
+ GURL("http://file.mov?x=aaaa&y=b#c")); |
+ ExpectUMAReport(PluginUMAReporter::OTHER, |
+ "", |
+ GURL("http://")); |
+ ExpectUMAReport(PluginUMAReporter::OTHER, |
+ "", |
+ GURL("mov")); |
} |
-TEST(PluginUMATest, CaseSensitivity) { |
- MockPluginUMASender* sender_mock = new MockPluginUMASender(); |
- MissingPluginReporter::GetInstance()->SetUMASender(sender_mock); |
- EXPECT_CALL(*sender_mock, SendPluginUMA(_)) |
- .Times(0); |
- |
- EXPECT_CALL(*sender_mock, SendPluginUMA(MissingPluginReporter::QUICKTIME)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- MissingPluginReporter::GetInstance()->ReportPluginMissing( |
- "video/QUICKTIME", |
- GURL("http://file.aaa")); |
- |
- EXPECT_CALL(*sender_mock, SendPluginUMA(MissingPluginReporter::QUICKTIME)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- MissingPluginReporter::GetInstance()->ReportPluginMissing( |
- "", |
- GURL("http://file.MoV")); |
+TEST_F(PluginUMATest, CaseSensitivity) { |
+ ExpectUMAReport(PluginUMAReporter::QUICKTIME, |
+ "video/QUICKTIME", |
+ GURL("http://file.aaa")); |
+ ExpectUMAReport(PluginUMAReporter::QUICKTIME, |
+ "", |
+ GURL("http://file.MoV")); |
} |
- |