OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/strings/utf_string_conversions.h" | 5 #include "base/strings/utf_string_conversions.h" |
6 #include "chrome/common/extensions/manifest_handlers/automation.h" | 6 #include "chrome/common/extensions/manifest_handlers/automation.h" |
7 #include "chrome/common/extensions/manifest_tests/extension_manifest_test.h" | 7 #include "chrome/common/extensions/manifest_tests/extension_manifest_test.h" |
8 #include "extensions/common/error_utils.h" | 8 #include "extensions/common/error_utils.h" |
9 #include "extensions/common/manifest_constants.h" | 9 #include "extensions/common/manifest_constants.h" |
10 #include "extensions/common/permissions/permissions_data.h" | 10 #include "extensions/common/permissions/permissions_data.h" |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
43 } | 43 } |
44 | 44 |
45 TEST_F(AutomationManifestTest, AsBooleanTrue) { | 45 TEST_F(AutomationManifestTest, AsBooleanTrue) { |
46 scoped_refptr<Extension> extension = | 46 scoped_refptr<Extension> extension = |
47 LoadAndExpectSuccess("automation_boolean_true.json"); | 47 LoadAndExpectSuccess("automation_boolean_true.json"); |
48 ASSERT_TRUE(extension.get()); | 48 ASSERT_TRUE(extension.get()); |
49 | 49 |
50 std::vector<base::string16> warnings = | 50 std::vector<base::string16> warnings = |
51 extension->permissions_data()->GetPermissionMessageStrings(); | 51 extension->permissions_data()->GetPermissionMessageStrings(); |
52 ASSERT_EQ(1u, warnings.size()); | 52 ASSERT_EQ(1u, warnings.size()); |
53 EXPECT_EQ("Read and modify your data on www.google.com", | 53 EXPECT_EQ("Read and change your data on www.google.com", |
54 base::UTF16ToUTF8(warnings[0])); | 54 base::UTF16ToUTF8(warnings[0])); |
55 | 55 |
56 const AutomationInfo* info = AutomationInfo::Get(extension.get()); | 56 const AutomationInfo* info = AutomationInfo::Get(extension.get()); |
57 ASSERT_TRUE(info); | 57 ASSERT_TRUE(info); |
58 | 58 |
59 EXPECT_FALSE(info->desktop); | 59 EXPECT_FALSE(info->desktop); |
60 EXPECT_FALSE(info->interact); | 60 EXPECT_FALSE(info->interact); |
61 EXPECT_TRUE(info->matches.is_empty()); | 61 EXPECT_TRUE(info->matches.is_empty()); |
62 } | 62 } |
63 | 63 |
64 TEST_F(AutomationManifestTest, InteractTrue) { | 64 TEST_F(AutomationManifestTest, InteractTrue) { |
65 scoped_refptr<Extension> extension = | 65 scoped_refptr<Extension> extension = |
66 LoadAndExpectSuccess("automation_interact_true.json"); | 66 LoadAndExpectSuccess("automation_interact_true.json"); |
67 ASSERT_TRUE(extension.get()); | 67 ASSERT_TRUE(extension.get()); |
68 | 68 |
69 std::vector<base::string16> warnings = | 69 std::vector<base::string16> warnings = |
70 extension->permissions_data()->GetPermissionMessageStrings(); | 70 extension->permissions_data()->GetPermissionMessageStrings(); |
71 ASSERT_EQ(1u, warnings.size()); | 71 ASSERT_EQ(1u, warnings.size()); |
72 EXPECT_EQ("Read and modify your data on www.google.com", | 72 EXPECT_EQ("Read and change your data on www.google.com", |
73 base::UTF16ToUTF8(warnings[0])); | 73 base::UTF16ToUTF8(warnings[0])); |
74 | 74 |
75 const AutomationInfo* info = AutomationInfo::Get(extension.get()); | 75 const AutomationInfo* info = AutomationInfo::Get(extension.get()); |
76 ASSERT_TRUE(info); | 76 ASSERT_TRUE(info); |
77 | 77 |
78 EXPECT_FALSE(info->desktop); | 78 EXPECT_FALSE(info->desktop); |
79 EXPECT_TRUE(info->interact); | 79 EXPECT_TRUE(info->interact); |
80 EXPECT_TRUE(info->matches.is_empty()); | 80 EXPECT_TRUE(info->matches.is_empty()); |
81 } | 81 } |
82 | 82 |
83 TEST_F(AutomationManifestTest, Matches) { | 83 TEST_F(AutomationManifestTest, Matches) { |
84 scoped_refptr<Extension> extension = LoadAndExpectWarning( | 84 scoped_refptr<Extension> extension = LoadAndExpectWarning( |
85 "automation_matches.json", | 85 "automation_matches.json", |
86 ErrorUtils::FormatErrorMessage( | 86 ErrorUtils::FormatErrorMessage( |
87 automation_errors::kErrorInvalidMatch, | 87 automation_errors::kErrorInvalidMatch, |
88 "www.badpattern.com", | 88 "www.badpattern.com", |
89 URLPattern::GetParseResultString( | 89 URLPattern::GetParseResultString( |
90 URLPattern::PARSE_ERROR_MISSING_SCHEME_SEPARATOR))); | 90 URLPattern::PARSE_ERROR_MISSING_SCHEME_SEPARATOR))); |
91 ASSERT_TRUE(extension.get()); | 91 ASSERT_TRUE(extension.get()); |
92 | 92 |
93 std::vector<base::string16> warnings = | 93 std::vector<base::string16> warnings = |
94 extension->permissions_data()->GetPermissionMessageStrings(); | 94 extension->permissions_data()->GetPermissionMessageStrings(); |
95 ASSERT_EQ(1u, warnings.size()); | 95 ASSERT_EQ(1u, warnings.size()); |
96 EXPECT_EQ("Read and modify your data on www.google.com and www.twitter.com", | 96 EXPECT_EQ("Read and change your data on www.google.com and www.twitter.com", |
97 base::UTF16ToUTF8(warnings[0])); | 97 base::UTF16ToUTF8(warnings[0])); |
98 | 98 |
99 const AutomationInfo* info = AutomationInfo::Get(extension.get()); | 99 const AutomationInfo* info = AutomationInfo::Get(extension.get()); |
100 ASSERT_TRUE(info); | 100 ASSERT_TRUE(info); |
101 | 101 |
102 EXPECT_FALSE(info->desktop); | 102 EXPECT_FALSE(info->desktop); |
103 EXPECT_FALSE(info->interact); | 103 EXPECT_FALSE(info->interact); |
104 EXPECT_FALSE(info->matches.is_empty()); | 104 EXPECT_FALSE(info->matches.is_empty()); |
105 | 105 |
106 EXPECT_TRUE(info->matches.MatchesURL(GURL("http://www.google.com/"))); | 106 EXPECT_TRUE(info->matches.MatchesURL(GURL("http://www.google.com/"))); |
107 EXPECT_TRUE(info->matches.MatchesURL(GURL("http://www.google.com"))); | 107 EXPECT_TRUE(info->matches.MatchesURL(GURL("http://www.google.com"))); |
108 EXPECT_TRUE(info->matches.MatchesURL(GURL("http://www.twitter.com/"))); | 108 EXPECT_TRUE(info->matches.MatchesURL(GURL("http://www.twitter.com/"))); |
109 EXPECT_TRUE(info->matches.MatchesURL(GURL("http://www.twitter.com"))); | 109 EXPECT_TRUE(info->matches.MatchesURL(GURL("http://www.twitter.com"))); |
110 | 110 |
111 EXPECT_FALSE(info->matches.MatchesURL(GURL("http://www.bing.com/"))); | 111 EXPECT_FALSE(info->matches.MatchesURL(GURL("http://www.bing.com/"))); |
112 EXPECT_FALSE(info->matches.MatchesURL(GURL("http://www.bing.com"))); | 112 EXPECT_FALSE(info->matches.MatchesURL(GURL("http://www.bing.com"))); |
113 } | 113 } |
114 | 114 |
115 TEST_F(AutomationManifestTest, MatchesAndPermissions) { | 115 TEST_F(AutomationManifestTest, MatchesAndPermissions) { |
116 scoped_refptr<Extension> extension = | 116 scoped_refptr<Extension> extension = |
117 LoadAndExpectSuccess("automation_matches_and_permissions.json"); | 117 LoadAndExpectSuccess("automation_matches_and_permissions.json"); |
118 ASSERT_TRUE(extension.get()); | 118 ASSERT_TRUE(extension.get()); |
119 | 119 |
120 std::vector<base::string16> warnings = | 120 std::vector<base::string16> warnings = |
121 extension->permissions_data()->GetPermissionMessageStrings(); | 121 extension->permissions_data()->GetPermissionMessageStrings(); |
122 ASSERT_EQ(2u, warnings.size()); | 122 ASSERT_EQ(2u, warnings.size()); |
123 EXPECT_EQ("Read and modify your data on www.google.com", | 123 EXPECT_EQ("Read and change your data on www.google.com", |
124 base::UTF16ToUTF8(warnings[0])); | 124 base::UTF16ToUTF8(warnings[0])); |
125 EXPECT_EQ("Read and modify your data on www.twitter.com", | 125 EXPECT_EQ("Read and change your data on www.twitter.com", |
126 base::UTF16ToUTF8(warnings[1])); | 126 base::UTF16ToUTF8(warnings[1])); |
127 | 127 |
128 const AutomationInfo* info = AutomationInfo::Get(extension.get()); | 128 const AutomationInfo* info = AutomationInfo::Get(extension.get()); |
129 ASSERT_TRUE(info); | 129 ASSERT_TRUE(info); |
130 | 130 |
131 EXPECT_FALSE(info->desktop); | 131 EXPECT_FALSE(info->desktop); |
132 EXPECT_FALSE(info->interact); | 132 EXPECT_FALSE(info->interact); |
133 EXPECT_FALSE(info->matches.is_empty()); | 133 EXPECT_FALSE(info->matches.is_empty()); |
134 | 134 |
135 EXPECT_TRUE(info->matches.MatchesURL(GURL("http://www.twitter.com/"))); | 135 EXPECT_TRUE(info->matches.MatchesURL(GURL("http://www.twitter.com/"))); |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
183 } | 183 } |
184 | 184 |
185 TEST_F(AutomationManifestTest, DesktopFalse) { | 185 TEST_F(AutomationManifestTest, DesktopFalse) { |
186 scoped_refptr<Extension> extension = | 186 scoped_refptr<Extension> extension = |
187 LoadAndExpectSuccess("automation_desktop_false.json"); | 187 LoadAndExpectSuccess("automation_desktop_false.json"); |
188 ASSERT_TRUE(extension.get()); | 188 ASSERT_TRUE(extension.get()); |
189 | 189 |
190 std::vector<base::string16> warnings = | 190 std::vector<base::string16> warnings = |
191 extension->permissions_data()->GetPermissionMessageStrings(); | 191 extension->permissions_data()->GetPermissionMessageStrings(); |
192 ASSERT_EQ(1u, warnings.size()); | 192 ASSERT_EQ(1u, warnings.size()); |
193 EXPECT_EQ("Read and modify your data on www.google.com", | 193 EXPECT_EQ("Read and change your data on www.google.com", |
194 base::UTF16ToUTF8(warnings[0])); | 194 base::UTF16ToUTF8(warnings[0])); |
195 | 195 |
196 const AutomationInfo* info = AutomationInfo::Get(extension.get()); | 196 const AutomationInfo* info = AutomationInfo::Get(extension.get()); |
197 ASSERT_TRUE(info); | 197 ASSERT_TRUE(info); |
198 | 198 |
199 EXPECT_FALSE(info->desktop); | 199 EXPECT_FALSE(info->desktop); |
200 EXPECT_FALSE(info->interact); | 200 EXPECT_FALSE(info->interact); |
201 EXPECT_TRUE(info->matches.is_empty()); | 201 EXPECT_TRUE(info->matches.is_empty()); |
202 } | 202 } |
203 | 203 |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
272 | 272 |
273 const AutomationInfo* info = AutomationInfo::Get(extension.get()); | 273 const AutomationInfo* info = AutomationInfo::Get(extension.get()); |
274 ASSERT_TRUE(info); | 274 ASSERT_TRUE(info); |
275 | 275 |
276 EXPECT_TRUE(info->desktop); | 276 EXPECT_TRUE(info->desktop); |
277 EXPECT_TRUE(info->interact); | 277 EXPECT_TRUE(info->interact); |
278 EXPECT_TRUE(info->matches.is_empty()); | 278 EXPECT_TRUE(info->matches.is_empty()); |
279 } | 279 } |
280 | 280 |
281 } // namespace extensions | 281 } // namespace extensions |
OLD | NEW |