Index: chrome/browser/plugin_installer_unittest.cc |
diff --git a/chrome/browser/plugin_installer_unittest.cc b/chrome/browser/plugin_installer_unittest.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..57bcf6417aaa766edf7197bc691c5f6330609a9a |
--- /dev/null |
+++ b/chrome/browser/plugin_installer_unittest.cc |
@@ -0,0 +1,53 @@ |
+// Copyright (c) 2012 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/plugin_installer.h" |
+ |
+#include "base/utf_string_conversions.h" |
+#include "testing/gtest/include/gtest/gtest.h" |
+#include "webkit/plugins/webplugininfo.h" |
+ |
+using webkit::WebPluginInfo; |
+ |
+namespace { |
+ |
+PluginInstaller::SecurityStatus GetSecurityStatus(PluginInstaller* installer, |
+ const char* version) { |
+ WebPluginInfo plugin(ASCIIToUTF16("Foo plug-in"), |
+ FilePath(FILE_PATH_LITERAL("/tmp/plugin.so")), |
+ ASCIIToUTF16(version), |
+ ASCIIToUTF16("Foo plug-in.")); |
+ return installer->GetSecurityStatus(plugin); |
+} |
+ |
+} // namespace |
+ |
+TEST(PluginInstallerTest, SecurityStatus) { |
+ const PluginInstaller::SecurityStatus kUpToDate = |
+ PluginInstaller::SECURITY_STATUS_UP_TO_DATE; |
+ const PluginInstaller::SecurityStatus kOutOfDate = |
+ PluginInstaller::SECURITY_STATUS_OUT_OF_DATE; |
+ const PluginInstaller::SecurityStatus kRequiresAuthorization = |
+ PluginInstaller::SECURITY_STATUS_REQUIRES_AUTHORIZATION; |
+ |
+ PluginInstaller installer("claybrick-writer", |
+ ASCIIToUTF16("ClayBrick Writer"), |
+ true, GURL(), GURL()); |
+ EXPECT_EQ(kUpToDate, GetSecurityStatus(&installer, "1.2.3")); |
+ |
+ installer.AddVersion(Version("9.4.1"), kRequiresAuthorization); |
+ installer.AddVersion(Version("10"), kOutOfDate); |
+ installer.AddVersion(Version("10.2.1"), kUpToDate); |
+ |
+ // Invalid version. |
+ EXPECT_EQ(kOutOfDate, GetSecurityStatus(&installer, "foo")); |
+ |
+ EXPECT_EQ(kOutOfDate, GetSecurityStatus(&installer, "0")); |
+ EXPECT_EQ(kOutOfDate, GetSecurityStatus(&installer, "1.2.3")); |
+ EXPECT_EQ(kRequiresAuthorization, GetSecurityStatus(&installer, "9.4.1")); |
+ EXPECT_EQ(kRequiresAuthorization, GetSecurityStatus(&installer, "9.4.2")); |
+ EXPECT_EQ(kOutOfDate, GetSecurityStatus(&installer, "10.2.0")); |
+ EXPECT_EQ(kUpToDate, GetSecurityStatus(&installer, "10.2.1")); |
+ EXPECT_EQ(kUpToDate, GetSecurityStatus(&installer, "11")); |
+} |