Chromium Code Reviews| 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..a22b0898e23b364f60bba87649dd5d90acd5bb9a 100644 |
| --- a/chrome/renderer/plugins/plugin_uma_unittest.cc |
| +++ b/chrome/renderer/plugins/plugin_uma_unittest.cc |
| @@ -1,235 +1,111 @@ |
| -// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| +// Copyright (c) 2013 The Chromium Authors. All rights reserved. |
|
ddorwin
2013/04/04 19:09:50
same
xhwang
2013/04/04 23:10:33
Done.
|
| // 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 { |
| - public: |
| - MOCK_METHOD1(SendPluginUMA, void(MissingPluginReporter::PluginType)); |
| -}; |
| +void ExpectPluginType(PluginUMAReporter::PluginType expected_plugin_type, |
|
Bernhard Bauer
2013/04/04 21:14:31
This should be in an anonymous namespace.
Of cour
xhwang
2013/04/04 23:10:33
Done.
|
| + 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")); |
| + 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")); |
| + 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")); |
| + 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")); |
| + 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")); |
| + 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")); |
| + 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")); |
| + ExpectPluginType(PluginUMAReporter::QUICKTIME, |
| + "video/QUICKTIME", |
| + GURL("http://file.aaa")); |
| + ExpectPluginType(PluginUMAReporter::QUICKTIME, |
| + "", |
| + GURL("http://file.MoV")); |
| } |
| - |