Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2320)

Unified Diff: chrome/common/extensions/url_pattern_unittest.cc

Issue 2876009: Re-implement app overlap detection with new extent syntax. (Closed) Base URL: git://codf21.jail/chromium.git
Patch Set: donk Created 10 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/common/extensions/url_pattern.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/common/extensions/url_pattern_unittest.cc
diff --git a/chrome/common/extensions/url_pattern_unittest.cc b/chrome/common/extensions/url_pattern_unittest.cc
index 8686a0f924986a78f426c0b41a1fd01586e0c5f4..4554f1efd5dc095b6e4d086de8d5abc119d7ff8d 100644
--- a/chrome/common/extensions/url_pattern_unittest.cc
+++ b/chrome/common/extensions/url_pattern_unittest.cc
@@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "base/scoped_ptr.h"
#include "chrome/common/extensions/url_pattern.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -132,3 +133,34 @@ TEST(URLPatternTest, Match9) {
EXPECT_TRUE(pattern.MatchesUrl(GURL("chrome://favicon/https://google.com")));
EXPECT_FALSE(pattern.MatchesUrl(GURL("chrome://history")));
};
+
+void TestPatternOverlap(URLPattern* pattern1, URLPattern* pattern2,
+ bool expect_overlap) {
+ EXPECT_EQ(expect_overlap, pattern1->OverlapsWith(*pattern2))
+ << pattern1->GetAsString() << ", " << pattern2->GetAsString();
+ EXPECT_EQ(expect_overlap, pattern2->OverlapsWith(*pattern1))
+ << pattern2->GetAsString() << ", " << pattern1->GetAsString();
+}
+
+TEST(URLPatternTest, OverlapsWith) {
+ scoped_ptr<URLPattern> pattern1(
+ URLPattern::CreateFromString("http://www.google.com/foo/*"));
+ scoped_ptr<URLPattern> pattern2(
+ URLPattern::CreateFromString("https://www.google.com/foo/*"));
+ scoped_ptr<URLPattern> pattern3(
+ URLPattern::CreateFromString("http://*.google.com/foo/*"));
+ scoped_ptr<URLPattern> pattern4(
+ URLPattern::CreateFromString("http://*.yahooo.com/foo/*"));
+ scoped_ptr<URLPattern> pattern5(
+ URLPattern::CreateFromString("http://www.yahooo.com/bar/*"));
+ scoped_ptr<URLPattern> pattern6(
+ URLPattern::CreateFromString("http://www.yahooo.com/bar/baz/*"));
+
+ TestPatternOverlap(pattern1.get(), pattern1.get(), true);
+ TestPatternOverlap(pattern1.get(), pattern2.get(), false);
+ TestPatternOverlap(pattern1.get(), pattern3.get(), true);
+ TestPatternOverlap(pattern1.get(), pattern4.get(), false);
+ TestPatternOverlap(pattern3.get(), pattern4.get(), false);
+ TestPatternOverlap(pattern4.get(), pattern5.get(), false);
+ TestPatternOverlap(pattern5.get(), pattern6.get(), true);
+}
« no previous file with comments | « chrome/common/extensions/url_pattern.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698