| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 <stddef.h> | 5 #include <stddef.h> |
| 6 #include <stdint.h> | 6 #include <stdint.h> |
| 7 | 7 |
| 8 #include "base/files/file_path.h" | 8 #include "base/files/file_path.h" |
| 9 #include "base/memory/ptr_util.h" |
| 9 #include "base/pickle.h" | 10 #include "base/pickle.h" |
| 10 #include "extensions/common/user_script.h" | 11 #include "extensions/common/user_script.h" |
| 11 #include "testing/gtest/include/gtest/gtest.h" | 12 #include "testing/gtest/include/gtest/gtest.h" |
| 12 #include "url/gurl.h" | 13 #include "url/gurl.h" |
| 13 | 14 |
| 14 namespace extensions { | 15 namespace extensions { |
| 15 | 16 |
| 16 static const int kAllSchemes = | 17 static const int kAllSchemes = |
| 17 URLPattern::SCHEME_HTTP | | 18 URLPattern::SCHEME_HTTP | |
| 18 URLPattern::SCHEME_HTTPS | | 19 URLPattern::SCHEME_HTTPS | |
| (...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 166 URLPattern pattern1(kAllSchemes); | 167 URLPattern pattern1(kAllSchemes); |
| 167 URLPattern pattern2(kAllSchemes); | 168 URLPattern pattern2(kAllSchemes); |
| 168 URLPattern exclude1(kAllSchemes); | 169 URLPattern exclude1(kAllSchemes); |
| 169 URLPattern exclude2(kAllSchemes); | 170 URLPattern exclude2(kAllSchemes); |
| 170 ASSERT_EQ(URLPattern::PARSE_SUCCESS, pattern1.Parse("http://*/foo*")); | 171 ASSERT_EQ(URLPattern::PARSE_SUCCESS, pattern1.Parse("http://*/foo*")); |
| 171 ASSERT_EQ(URLPattern::PARSE_SUCCESS, pattern2.Parse("http://bar/baz*")); | 172 ASSERT_EQ(URLPattern::PARSE_SUCCESS, pattern2.Parse("http://bar/baz*")); |
| 172 ASSERT_EQ(URLPattern::PARSE_SUCCESS, exclude1.Parse("*://*/*bar")); | 173 ASSERT_EQ(URLPattern::PARSE_SUCCESS, exclude1.Parse("*://*/*bar")); |
| 173 ASSERT_EQ(URLPattern::PARSE_SUCCESS, exclude2.Parse("https://*/*")); | 174 ASSERT_EQ(URLPattern::PARSE_SUCCESS, exclude2.Parse("https://*/*")); |
| 174 | 175 |
| 175 UserScript script1; | 176 UserScript script1; |
| 176 script1.js_scripts().push_back(UserScript::File( | 177 script1.js_scripts().push_back(base::MakeUnique<UserScript::File>( |
| 177 base::FilePath(FILE_PATH_LITERAL("c:\\foo\\")), | 178 base::FilePath(FILE_PATH_LITERAL("c:\\foo\\")), |
| 178 base::FilePath(FILE_PATH_LITERAL("foo.user.js")), | 179 base::FilePath(FILE_PATH_LITERAL("foo.user.js")), |
| 179 GURL("chrome-extension://abc/foo.user.js"))); | 180 GURL("chrome-extension://abc/foo.user.js"))); |
| 180 script1.css_scripts().push_back(UserScript::File( | 181 script1.css_scripts().push_back(base::MakeUnique<UserScript::File>( |
| 181 base::FilePath(FILE_PATH_LITERAL("c:\\foo\\")), | 182 base::FilePath(FILE_PATH_LITERAL("c:\\foo\\")), |
| 182 base::FilePath(FILE_PATH_LITERAL("foo.user.css")), | 183 base::FilePath(FILE_PATH_LITERAL("foo.user.css")), |
| 183 GURL("chrome-extension://abc/foo.user.css"))); | 184 GURL("chrome-extension://abc/foo.user.css"))); |
| 184 script1.css_scripts().push_back(UserScript::File( | 185 script1.css_scripts().push_back(base::MakeUnique<UserScript::File>( |
| 185 base::FilePath(FILE_PATH_LITERAL("c:\\foo\\")), | 186 base::FilePath(FILE_PATH_LITERAL("c:\\foo\\")), |
| 186 base::FilePath(FILE_PATH_LITERAL("foo2.user.css")), | 187 base::FilePath(FILE_PATH_LITERAL("foo2.user.css")), |
| 187 GURL("chrome-extension://abc/foo2.user.css"))); | 188 GURL("chrome-extension://abc/foo2.user.css"))); |
| 188 script1.set_run_location(UserScript::DOCUMENT_START); | 189 script1.set_run_location(UserScript::DOCUMENT_START); |
| 189 | 190 |
| 190 script1.add_url_pattern(pattern1); | 191 script1.add_url_pattern(pattern1); |
| 191 script1.add_url_pattern(pattern2); | 192 script1.add_url_pattern(pattern2); |
| 192 script1.add_exclude_url_pattern(exclude1); | 193 script1.add_exclude_url_pattern(exclude1); |
| 193 script1.add_exclude_url_pattern(exclude2); | 194 script1.add_exclude_url_pattern(exclude2); |
| 194 | 195 |
| 195 const int64_t kId = 12; | 196 const int64_t kId = 12; |
| 196 script1.set_id(kId); | 197 script1.set_id(kId); |
| 197 const std::string kExtensionId = "foo"; | 198 const std::string kExtensionId = "foo"; |
| 198 HostID id(HostID::EXTENSIONS, kExtensionId); | 199 HostID id(HostID::EXTENSIONS, kExtensionId); |
| 199 script1.set_host_id(id); | 200 script1.set_host_id(id); |
| 200 | 201 |
| 201 base::Pickle pickle; | 202 base::Pickle pickle; |
| 202 script1.Pickle(&pickle); | 203 script1.Pickle(&pickle); |
| 203 | 204 |
| 204 base::PickleIterator iter(pickle); | 205 base::PickleIterator iter(pickle); |
| 205 UserScript script2; | 206 UserScript script2; |
| 206 script2.Unpickle(pickle, &iter); | 207 script2.Unpickle(pickle, &iter); |
| 207 | 208 |
| 208 EXPECT_EQ(1U, script2.js_scripts().size()); | 209 EXPECT_EQ(1U, script2.js_scripts().size()); |
| 209 EXPECT_EQ(script1.js_scripts()[0].url(), script2.js_scripts()[0].url()); | 210 EXPECT_EQ(script1.js_scripts()[0]->url(), script2.js_scripts()[0]->url()); |
| 210 | 211 |
| 211 EXPECT_EQ(2U, script2.css_scripts().size()); | 212 EXPECT_EQ(2U, script2.css_scripts().size()); |
| 212 for (size_t i = 0; i < script2.js_scripts().size(); ++i) { | 213 for (size_t i = 0; i < script2.js_scripts().size(); ++i) { |
| 213 EXPECT_EQ(script1.css_scripts()[i].url(), script2.css_scripts()[i].url()); | 214 EXPECT_EQ(script1.css_scripts()[i]->url(), script2.css_scripts()[i]->url()); |
| 214 } | 215 } |
| 215 | 216 |
| 216 ASSERT_EQ(script1.globs().size(), script2.globs().size()); | 217 ASSERT_EQ(script1.globs().size(), script2.globs().size()); |
| 217 for (size_t i = 0; i < script1.globs().size(); ++i) { | 218 for (size_t i = 0; i < script1.globs().size(); ++i) { |
| 218 EXPECT_EQ(script1.globs()[i], script2.globs()[i]); | 219 EXPECT_EQ(script1.globs()[i], script2.globs()[i]); |
| 219 } | 220 } |
| 220 | 221 |
| 221 ASSERT_EQ(script1.url_patterns(), script2.url_patterns()); | 222 ASSERT_EQ(script1.url_patterns(), script2.url_patterns()); |
| 222 ASSERT_EQ(script1.exclude_url_patterns(), script2.exclude_url_patterns()); | 223 ASSERT_EQ(script1.exclude_url_patterns(), script2.exclude_url_patterns()); |
| 223 | 224 |
| 224 EXPECT_EQ(kExtensionId, script2.extension_id()); | 225 EXPECT_EQ(kExtensionId, script2.extension_id()); |
| 225 EXPECT_EQ(kId, script2.id()); | 226 EXPECT_EQ(kId, script2.id()); |
| 226 } | 227 } |
| 227 | 228 |
| 228 TEST(ExtensionUserScriptTest, Defaults) { | 229 TEST(ExtensionUserScriptTest, Defaults) { |
| 229 UserScript script; | 230 UserScript script; |
| 230 ASSERT_EQ(UserScript::DOCUMENT_IDLE, script.run_location()); | 231 ASSERT_EQ(UserScript::DOCUMENT_IDLE, script.run_location()); |
| 231 } | 232 } |
| 232 | 233 |
| 233 } // namespace extensions | 234 } // namespace extensions |
| OLD | NEW |