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..df3cd458b5e4b9da287166cddfbab3f36196f3a9 100644 |
--- a/chrome/renderer/plugins/plugin_uma_unittest.cc |
+++ b/chrome/renderer/plugins/plugin_uma_unittest.cc |
@@ -2,234 +2,114 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include <gmock/gmock.h> |
#include <gtest/gtest.h> |
#include "chrome/renderer/plugins/plugin_uma.h" |
-using ::testing::_; |
- |
-class MockPluginUMASender : public MissingPluginReporter::UMASender { |
+class PluginUMATest : public testing::Test { |
public: |
- MOCK_METHOD1(SendPluginUMA, void(MissingPluginReporter::PluginType)); |
+ static void ExpectPluginType( |
+ PluginUMAReporter::PluginType expected_plugin_type, |
+ const std::string& plugin_mime_type, |
+ const GURL& plugin_src) { |
+ EXPECT_EQ(expected_plugin_type, |
+ PluginUMAReporter::GetInstance()->GetPluginType(plugin_mime_type, |
+ plugin_src)); |
+ } |
}; |
-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")); |
+TEST_F(PluginUMATest, WindowsMediaPlayer) { |
+ ExpectPluginType(PluginUMAReporter::WINDOWS_MEDIA_PLAYER, |
+ "application/x-mplayer2", |
+ GURL("file://some_file.mov")); |
+ ExpectPluginType(PluginUMAReporter::OTHER, |
+ "application/x-mplayer2-some_sufix", |
+ GURL("file://some_file.mov")); |
+ ExpectPluginType(PluginUMAReporter::OTHER, |
+ "some-prefix-application/x-mplayer2", |
+ GURL("file://some_file.mov")); |
} |
-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, Silverlight) { |
+ ExpectPluginType(PluginUMAReporter::SILVERLIGHT, |
+ "application/x-silverlight", |
+ GURL("aaaa")); |
+ ExpectPluginType(PluginUMAReporter::SILVERLIGHT, |
+ "application/x-silverlight-some-sufix", |
+ GURL("aaaa")); |
+ ExpectPluginType(PluginUMAReporter::OTHER, |
+ "some-prefix-application/x-silverlight", |
+ GURL("aaaa")); |
} |
-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, RealPlayer) { |
+ ExpectPluginType(PluginUMAReporter::REALPLAYER, |
+ "audio/x-pn-realaudio", |
+ GURL("some url")); |
+ ExpectPluginType(PluginUMAReporter::REALPLAYER, |
+ "audio/x-pn-realaudio-some-sufix", |
+ GURL("some url")); |
+ ExpectPluginType(PluginUMAReporter::OTHER, |
+ "some-prefix-audio/x-pn-realaudio", |
+ GURL("some url")); |
} |
-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, Java) { |
+ ExpectPluginType(PluginUMAReporter::JAVA, |
+ "application/x-java-applet", |
+ GURL("some url")); |
+ ExpectPluginType(PluginUMAReporter::JAVA, |
+ "application/x-java-applet-some-sufix", |
+ GURL("some url")); |
+ ExpectPluginType(PluginUMAReporter::JAVA, |
+ "some-prefix-application/x-java-applet-sufix", |
+ 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, QuickTime) { |
+ ExpectPluginType(PluginUMAReporter::QUICKTIME, |
+ "video/quicktime", |
+ GURL("some url")); |
+ ExpectPluginType(PluginUMAReporter::OTHER, |
+ "video/quicktime-sufix", |
+ GURL("some url")); |
+ ExpectPluginType(PluginUMAReporter::OTHER, |
+ "prefix-video/quicktime", |
+ GURL("some url")); |
} |
-TEST(PluginUMATest, BySrcExtension) { |
- 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( |
- "", |
- GURL("file://file.mov")); |
+TEST_F(PluginUMATest, BySrcExtension) { |
+ ExpectPluginType(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")); |
+ ExpectPluginType(PluginUMAReporter::OTHER, |
+ "unknown-plugin", |
+ GURL("http://file.mov")); |
+ |
+ ExpectPluginType(PluginUMAReporter::OTHER, |
+ "", |
+ GURL("http://file.unknown_extension")); |
+ ExpectPluginType(PluginUMAReporter::QUICKTIME, |
+ "", |
+ GURL("http://aaa/file.mov?x=aaaa&y=b#c")); |
+ ExpectPluginType(PluginUMAReporter::QUICKTIME, |
+ "", |
+ GURL("http://file.mov?x=aaaa&y=b#c")); |
+ ExpectPluginType(PluginUMAReporter::OTHER, |
+ "", |
+ GURL("http://")); |
+ ExpectPluginType(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) { |
+ ExpectPluginType(PluginUMAReporter::QUICKTIME, |
+ "video/QUICKTIME", |
+ GURL("http://file.aaa")); |
+ ExpectPluginType(PluginUMAReporter::QUICKTIME, |
+ "", |
+ GURL("http://file.MoV")); |
} |
- |