Index: chrome/common/extensions/url_pattern_set_unittest.cc |
diff --git a/chrome/common/extensions/url_pattern_set_unittest.cc b/chrome/common/extensions/url_pattern_set_unittest.cc |
index ed45948fa83863ce8072fa1004ae61a7159902b6..56dc518d233c7267cc3320f7d3c929b8a5a127be 100644 |
--- a/chrome/common/extensions/url_pattern_set_unittest.cc |
+++ b/chrome/common/extensions/url_pattern_set_unittest.cc |
@@ -4,6 +4,7 @@ |
#include "chrome/common/extensions/extension.h" |
+#include "base/values.h" |
#include "googleurl/src/gurl.h" |
#include "testing/gtest/include/gtest/gtest.h" |
@@ -215,6 +216,28 @@ TEST(URLPatternSetTest, Duplicates) { |
EXPECT_EQ(set2, set1); |
} |
+TEST(URLPatternSetTest, ToValueAndPopulate) { |
+ URLPatternSet set1; |
+ URLPatternSet set2; |
+ |
+ std::vector<std::string> patterns; |
+ patterns.push_back("http://www.google.com/*"); |
+ patterns.push_back("http://www.yahoo.com/*"); |
+ |
+ for (size_t i = 0; i < patterns.size(); ++i) |
+ AddPattern(&set1, patterns[i]); |
+ |
+ std::string error; |
+ bool allow_file_access = false; |
+ scoped_ptr<base::ListValue> value(set1.ToValue()); |
+ set2.Populate(*value, URLPattern::SCHEME_ALL, allow_file_access, &error); |
+ EXPECT_EQ(set1, set2); |
+ |
+ set2.ClearPatterns(); |
+ set2.Populate(patterns, URLPattern::SCHEME_ALL, allow_file_access, &error); |
+ EXPECT_EQ(set1, set2); |
+} |
+ |
TEST(URLPatternSetTest, NwayUnion) { |
std::string google_a = "http://www.google.com/a*"; |
std::string google_b = "http://www.google.com/b*"; |