1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chrome/browser/plugins/plugin_installer.h"
7 #include "base/strings/utf_string_conversions.h"
8 #include "content/public/common/webplugininfo.h"
9 #include "testing/gtest/include/gtest/gtest.h"
13 PluginInstaller::SecurityStatus
GetSecurityStatus(PluginInstaller
* installer
,
14 const char* version
) {
15 content:: WebPluginInfo
plugin(
16 ASCIIToUTF16("Foo plug-in"),
17 base::FilePath(FILE_PATH_LITERAL("/tmp/plugin.so")),
18 ASCIIToUTF16(version
),
19 ASCIIToUTF16("Foo plug-in."));
20 return installer
->GetSecurityStatus(plugin
);
25 TEST(PluginInstallerTest
, SecurityStatus
) {
26 const PluginInstaller::SecurityStatus kUpToDate
=
27 PluginInstaller::SECURITY_STATUS_UP_TO_DATE
;
28 const PluginInstaller::SecurityStatus kOutOfDate
=
29 PluginInstaller::SECURITY_STATUS_OUT_OF_DATE
;
30 const PluginInstaller::SecurityStatus kRequiresAuthorization
=
31 PluginInstaller::SECURITY_STATUS_REQUIRES_AUTHORIZATION
;
33 PluginInstaller
installer("claybrick-writer",
34 ASCIIToUTF16("ClayBrick Writer"),
35 true, GURL(), GURL(), ASCIIToUTF16("ClayBrick"));
38 EXPECT_EQ(kRequiresAuthorization
, GetSecurityStatus(&installer
, "1.2.3"));
40 EXPECT_EQ(kUpToDate
, GetSecurityStatus(&installer
, "1.2.3"));
43 installer
.AddVersion(Version("9.4.1"), kRequiresAuthorization
);
44 installer
.AddVersion(Version("10"), kOutOfDate
);
45 installer
.AddVersion(Version("10.2.1"), kUpToDate
);
48 EXPECT_EQ(kOutOfDate
, GetSecurityStatus(&installer
, "foo"));
50 EXPECT_EQ(kOutOfDate
, GetSecurityStatus(&installer
, "0"));
51 EXPECT_EQ(kOutOfDate
, GetSecurityStatus(&installer
, "1.2.3"));
52 EXPECT_EQ(kRequiresAuthorization
, GetSecurityStatus(&installer
, "9.4.1"));
53 EXPECT_EQ(kRequiresAuthorization
, GetSecurityStatus(&installer
, "9.4.2"));
54 EXPECT_EQ(kOutOfDate
, GetSecurityStatus(&installer
, "10.2.0"));
55 EXPECT_EQ(kUpToDate
, GetSecurityStatus(&installer
, "10.2.1"));
56 EXPECT_EQ(kUpToDate
, GetSecurityStatus(&installer
, "11"));