diff options
author | ibraaaa@google.com <ibraaaa@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-09-25 23:06:02 +0000 |
---|---|---|
committer | ibraaaa@google.com <ibraaaa@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-09-25 23:06:02 +0000 |
commit | de75c707ff326989621de4b90376e5734dcd0442 (patch) | |
tree | 4353f60ed395a3c9fbc9d9542cc9ae0f5ca573c3 /chrome/browser/plugins/plugin_metadata_unittest.cc | |
parent | 3199e1914334fd67df0d7a39d049a07010241942 (diff) | |
download | chromium_src-de75c707ff326989621de4b90376e5734dcd0442.zip chromium_src-de75c707ff326989621de4b90376e5734dcd0442.tar.gz chromium_src-de75c707ff326989621de4b90376e5734dcd0442.tar.bz2 |
Separate plugin_metadata from plugin_installer, make plugin_finder thread-safe and expose its sync interface
BUG=124396
Review URL: https://chromiumcodereview.appspot.com/10910168
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158679 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/plugins/plugin_metadata_unittest.cc')
-rw-r--r-- | chrome/browser/plugins/plugin_metadata_unittest.cc | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/chrome/browser/plugins/plugin_metadata_unittest.cc b/chrome/browser/plugins/plugin_metadata_unittest.cc new file mode 100644 index 0000000..723886a --- /dev/null +++ b/chrome/browser/plugins/plugin_metadata_unittest.cc @@ -0,0 +1,62 @@ +// 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/plugins/plugin_metadata.h" + +#include "base/utf_string_conversions.h" +#include "testing/gtest/include/gtest/gtest.h" +#include "webkit/plugins/webplugininfo.h" + +using webkit::WebPluginInfo; + +namespace { + +PluginMetadata::SecurityStatus GetSecurityStatus( + PluginMetadata* plugin_metadata, + const char* version) { + WebPluginInfo plugin(ASCIIToUTF16("Foo plug-in"), + FilePath(FILE_PATH_LITERAL("/tmp/plugin.so")), + ASCIIToUTF16(version), + ASCIIToUTF16("Foo plug-in.")); + return plugin_metadata->GetSecurityStatus(plugin); +} + +} // namespace + +TEST(PluginMetadataTest, SecurityStatus) { + const PluginMetadata::SecurityStatus kUpToDate = + PluginMetadata::SECURITY_STATUS_UP_TO_DATE; + const PluginMetadata::SecurityStatus kOutOfDate = + PluginMetadata::SECURITY_STATUS_OUT_OF_DATE; + const PluginMetadata::SecurityStatus kRequiresAuthorization = + PluginMetadata::SECURITY_STATUS_REQUIRES_AUTHORIZATION; + + PluginMetadata plugin_metadata("claybrick-writer", + ASCIIToUTF16("ClayBrick Writer"), + true, GURL(), GURL(), + ASCIIToUTF16("ClayBrick")); +#if defined(OS_LINUX) + EXPECT_EQ(kRequiresAuthorization, + GetSecurityStatus(&plugin_metadata, "1.2.3")); +#else + EXPECT_EQ(kUpToDate, GetSecurityStatus(&plugin_metadata, "1.2.3")); +#endif + + plugin_metadata.AddVersion(Version("9.4.1"), kRequiresAuthorization); + plugin_metadata.AddVersion(Version("10"), kOutOfDate); + plugin_metadata.AddVersion(Version("10.2.1"), kUpToDate); + + // Invalid version. + EXPECT_EQ(kOutOfDate, GetSecurityStatus(&plugin_metadata, "foo")); + + EXPECT_EQ(kOutOfDate, GetSecurityStatus(&plugin_metadata, "0")); + EXPECT_EQ(kOutOfDate, GetSecurityStatus(&plugin_metadata, "1.2.3")); + EXPECT_EQ(kRequiresAuthorization, + GetSecurityStatus(&plugin_metadata, "9.4.1")); + EXPECT_EQ(kRequiresAuthorization, + GetSecurityStatus(&plugin_metadata, "9.4.2")); + EXPECT_EQ(kOutOfDate, GetSecurityStatus(&plugin_metadata, "10.2.0")); + EXPECT_EQ(kUpToDate, GetSecurityStatus(&plugin_metadata, "10.2.1")); + EXPECT_EQ(kUpToDate, GetSecurityStatus(&plugin_metadata, "11")); +} |