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

Side by Side Diff: content/browser/appcache/appcache_unittest.cc

Issue 344493002: Move all remaining appcache-related code to content namespace (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 5 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 "content/browser/appcache/appcache.h"
6 #include "content/browser/appcache/appcache_host.h"
5 #include "content/browser/appcache/mock_appcache_service.h" 7 #include "content/browser/appcache/mock_appcache_service.h"
6 #include "testing/gtest/include/gtest/gtest.h" 8 #include "testing/gtest/include/gtest/gtest.h"
7 #include "webkit/browser/appcache/appcache.h"
8 #include "webkit/browser/appcache/appcache_host.h"
9
10 using appcache::AppCache;
11 using appcache::AppCacheDatabase;
12 using appcache::AppCacheEntry;
13 using appcache::AppCacheFrontend;
14 using appcache::AppCacheGroup;
15 using appcache::AppCacheHost;
16 using appcache::AppCacheInfo;
17 using appcache::AppCacheErrorDetails;
18 using appcache::AppCacheEventID;
19 using appcache::APPCACHE_FALLBACK_NAMESPACE;
20 using appcache::APPCACHE_INTERCEPT_NAMESPACE;
21 using appcache::AppCacheLogLevel;
22 using appcache::Manifest;
23 using appcache::Namespace;
24 using appcache::NamespaceVector;
25 using appcache::APPCACHE_NETWORK_NAMESPACE;
26 using appcache::PARSE_MANIFEST_ALLOWING_INTERCEPTS;
27 using appcache::PARSE_MANIFEST_PER_STANDARD;
28 using appcache::AppCacheStatus;
29 9
30 namespace content { 10 namespace content {
31 11
32 namespace { 12 namespace {
33 13
34 class MockAppCacheFrontend : public AppCacheFrontend { 14 class MockAppCacheFrontend : public AppCacheFrontend {
35 public: 15 public:
36 virtual void OnCacheSelected(int host_id, const AppCacheInfo& info) OVERRIDE { 16 virtual void OnCacheSelected(int host_id, const AppCacheInfo& info) OVERRIDE {
37 } 17 }
38 virtual void OnStatusChanged(const std::vector<int>& host_ids, 18 virtual void OnStatusChanged(const std::vector<int>& host_ids,
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 105
126 scoped_refptr<AppCache> cache(new AppCache(service.storage(), 1234)); 106 scoped_refptr<AppCache> cache(new AppCache(service.storage(), 1234));
127 EXPECT_TRUE(cache->fallback_namespaces_.empty()); 107 EXPECT_TRUE(cache->fallback_namespaces_.empty());
128 EXPECT_TRUE(cache->online_whitelist_namespaces_.empty()); 108 EXPECT_TRUE(cache->online_whitelist_namespaces_.empty());
129 EXPECT_FALSE(cache->online_whitelist_all_); 109 EXPECT_FALSE(cache->online_whitelist_all_);
130 110
131 Manifest manifest; 111 Manifest manifest;
132 manifest.explicit_urls.insert("http://one.com"); 112 manifest.explicit_urls.insert("http://one.com");
133 manifest.explicit_urls.insert("http://two.com"); 113 manifest.explicit_urls.insert("http://two.com");
134 manifest.fallback_namespaces.push_back( 114 manifest.fallback_namespaces.push_back(
135 Namespace(APPCACHE_FALLBACK_NAMESPACE, GURL("http://fb1.com"), 115 AppCacheNamespace(APPCACHE_FALLBACK_NAMESPACE, GURL("http://fb1.com"),
136 GURL("http://fbone.com"), true)); 116 GURL("http://fbone.com"), true));
137 manifest.online_whitelist_namespaces.push_back( 117 manifest.online_whitelist_namespaces.push_back(
138 Namespace(APPCACHE_NETWORK_NAMESPACE, GURL("http://w1.com"), GURL(), false )); 118 AppCacheNamespace(APPCACHE_NETWORK_NAMESPACE, GURL("http://w1.com"),
119 GURL(), false));
139 manifest.online_whitelist_namespaces.push_back( 120 manifest.online_whitelist_namespaces.push_back(
140 Namespace(APPCACHE_NETWORK_NAMESPACE, GURL("http://w2.com"), GURL(), false )); 121 AppCacheNamespace(APPCACHE_NETWORK_NAMESPACE, GURL("http://w2.com"),
122 GURL(), false));
141 manifest.online_whitelist_all = true; 123 manifest.online_whitelist_all = true;
142 124
143 cache->InitializeWithManifest(&manifest); 125 cache->InitializeWithManifest(&manifest);
144 const std::vector<Namespace>& fallbacks = 126 const std::vector<AppCacheNamespace>& fallbacks =
145 cache->fallback_namespaces_; 127 cache->fallback_namespaces_;
146 size_t expected = 1; 128 size_t expected = 1;
147 EXPECT_EQ(expected, fallbacks.size()); 129 EXPECT_EQ(expected, fallbacks.size());
148 EXPECT_EQ(GURL("http://fb1.com"), fallbacks[0].namespace_url); 130 EXPECT_EQ(GURL("http://fb1.com"), fallbacks[0].namespace_url);
149 EXPECT_EQ(GURL("http://fbone.com"), fallbacks[0].target_url); 131 EXPECT_EQ(GURL("http://fbone.com"), fallbacks[0].target_url);
150 EXPECT_TRUE(fallbacks[0].is_pattern); 132 EXPECT_TRUE(fallbacks[0].is_pattern);
151 const NamespaceVector& whitelist = cache->online_whitelist_namespaces_; 133 const AppCacheNamespaceVector& whitelist =
134 cache->online_whitelist_namespaces_;
152 expected = 2; 135 expected = 2;
153 EXPECT_EQ(expected, whitelist.size()); 136 EXPECT_EQ(expected, whitelist.size());
154 EXPECT_EQ(GURL("http://w1.com"), whitelist[0].namespace_url); 137 EXPECT_EQ(GURL("http://w1.com"), whitelist[0].namespace_url);
155 EXPECT_EQ(GURL("http://w2.com"), whitelist[1].namespace_url); 138 EXPECT_EQ(GURL("http://w2.com"), whitelist[1].namespace_url);
156 EXPECT_TRUE(cache->online_whitelist_all_); 139 EXPECT_TRUE(cache->online_whitelist_all_);
157 140
158 // Ensure collections in manifest were taken over by the cache rather than 141 // Ensure collections in manifest were taken over by the cache rather than
159 // copied. 142 // copied.
160 EXPECT_TRUE(manifest.fallback_namespaces.empty()); 143 EXPECT_TRUE(manifest.fallback_namespaces.empty());
161 EXPECT_TRUE(manifest.online_whitelist_namespaces.empty()); 144 EXPECT_TRUE(manifest.online_whitelist_namespaces.empty());
(...skipping 24 matching lines...) Expand all
186 169
187 const int64 kFallbackResponseId1 = 1; 170 const int64 kFallbackResponseId1 = 1;
188 const int64 kFallbackResponseId2 = 2; 171 const int64 kFallbackResponseId2 = 2;
189 const int64 kManifestResponseId = 3; 172 const int64 kManifestResponseId = 3;
190 const int64 kForeignExplicitResponseId = 4; 173 const int64 kForeignExplicitResponseId = 4;
191 const int64 kExplicitInOnlineNamespaceResponseId = 5; 174 const int64 kExplicitInOnlineNamespaceResponseId = 5;
192 const int64 kInterceptResponseId = 6; 175 const int64 kInterceptResponseId = 6;
193 176
194 Manifest manifest; 177 Manifest manifest;
195 manifest.online_whitelist_namespaces.push_back( 178 manifest.online_whitelist_namespaces.push_back(
196 Namespace(APPCACHE_NETWORK_NAMESPACE, kOnlineNamespaceUrl, 179 AppCacheNamespace(APPCACHE_NETWORK_NAMESPACE, kOnlineNamespaceUrl,
197 GURL(), false)); 180 GURL(), false));
198 manifest.online_whitelist_namespaces.push_back( 181 manifest.online_whitelist_namespaces.push_back(
199 Namespace(APPCACHE_NETWORK_NAMESPACE, 182 AppCacheNamespace(APPCACHE_NETWORK_NAMESPACE,
200 kOnlineNamespaceWithinOtherNamespaces, 183 kOnlineNamespaceWithinOtherNamespaces, GURL(), false));
201 GURL(), false));
202 manifest.fallback_namespaces.push_back( 184 manifest.fallback_namespaces.push_back(
203 Namespace(APPCACHE_FALLBACK_NAMESPACE, kFallbackNamespaceUrl1, 185 AppCacheNamespace(APPCACHE_FALLBACK_NAMESPACE, kFallbackNamespaceUrl1,
204 kFallbackEntryUrl1, false)); 186 kFallbackEntryUrl1, false));
205 manifest.fallback_namespaces.push_back( 187 manifest.fallback_namespaces.push_back(
206 Namespace(APPCACHE_FALLBACK_NAMESPACE, kFallbackNamespaceUrl2, 188 AppCacheNamespace(APPCACHE_FALLBACK_NAMESPACE, kFallbackNamespaceUrl2,
207 kFallbackEntryUrl2, false)); 189 kFallbackEntryUrl2, false));
208 manifest.intercept_namespaces.push_back( 190 manifest.intercept_namespaces.push_back(
209 Namespace(APPCACHE_INTERCEPT_NAMESPACE, kInterceptNamespace, 191 AppCacheNamespace(APPCACHE_INTERCEPT_NAMESPACE, kInterceptNamespace,
210 kInterceptNamespaceEntry, false)); 192 kInterceptNamespaceEntry, false));
211 manifest.intercept_namespaces.push_back( 193 manifest.intercept_namespaces.push_back(
212 Namespace(APPCACHE_INTERCEPT_NAMESPACE, kInterceptNamespaceWithinFallback, 194 AppCacheNamespace(APPCACHE_INTERCEPT_NAMESPACE,
213 kInterceptNamespaceEntry, false)); 195 kInterceptNamespaceWithinFallback, kInterceptNamespaceEntry, false));
214 196
215 // Create a cache with some namespaces and entries. 197 // Create a cache with some namespaces and entries.
216 scoped_refptr<AppCache> cache(new AppCache(service.storage(), 1234)); 198 scoped_refptr<AppCache> cache(new AppCache(service.storage(), 1234));
217 cache->InitializeWithManifest(&manifest); 199 cache->InitializeWithManifest(&manifest);
218 cache->AddEntry( 200 cache->AddEntry(
219 kFallbackEntryUrl1, 201 kFallbackEntryUrl1,
220 AppCacheEntry(AppCacheEntry::FALLBACK, kFallbackResponseId1)); 202 AppCacheEntry(AppCacheEntry::FALLBACK, kFallbackResponseId1));
221 cache->AddEntry( 203 cache->AddEntry(
222 kFallbackEntryUrl2, 204 kFallbackEntryUrl2,
223 AppCacheEntry(AppCacheEntry::FALLBACK, kFallbackResponseId2)); 205 AppCacheEntry(AppCacheEntry::FALLBACK, kFallbackResponseId2));
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
378 MockAppCacheService service; 360 MockAppCacheService service;
379 361
380 // Setup an appcache with an intercept namespace that uses pattern matching. 362 // Setup an appcache with an intercept namespace that uses pattern matching.
381 const GURL kInterceptNamespaceBase("http://blah/intercept_namespace/"); 363 const GURL kInterceptNamespaceBase("http://blah/intercept_namespace/");
382 const GURL kInterceptPatternNamespace( 364 const GURL kInterceptPatternNamespace(
383 kInterceptNamespaceBase.Resolve("*.hit*")); 365 kInterceptNamespaceBase.Resolve("*.hit*"));
384 const GURL kInterceptNamespaceEntry("http://blah/intercept_resource"); 366 const GURL kInterceptNamespaceEntry("http://blah/intercept_resource");
385 const int64 kInterceptResponseId = 1; 367 const int64 kInterceptResponseId = 1;
386 Manifest manifest; 368 Manifest manifest;
387 manifest.intercept_namespaces.push_back( 369 manifest.intercept_namespaces.push_back(
388 Namespace(APPCACHE_INTERCEPT_NAMESPACE, kInterceptPatternNamespace, 370 AppCacheNamespace(APPCACHE_INTERCEPT_NAMESPACE,
389 kInterceptNamespaceEntry, true)); 371 kInterceptPatternNamespace, kInterceptNamespaceEntry, true));
390 scoped_refptr<AppCache> cache(new AppCache(service.storage(), 1234)); 372 scoped_refptr<AppCache> cache(new AppCache(service.storage(), 1234));
391 cache->InitializeWithManifest(&manifest); 373 cache->InitializeWithManifest(&manifest);
392 cache->AddEntry( 374 cache->AddEntry(
393 kInterceptNamespaceEntry, 375 kInterceptNamespaceEntry,
394 AppCacheEntry(AppCacheEntry::INTERCEPT, kInterceptResponseId)); 376 AppCacheEntry(AppCacheEntry::INTERCEPT, kInterceptResponseId));
395 cache->set_complete(true); 377 cache->set_complete(true);
396 378
397 // See that the pattern match works. 379 // See that the pattern match works.
398 bool found = false; 380 bool found = false;
399 AppCacheEntry entry; 381 AppCacheEntry entry;
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
449 MockAppCacheService service; 431 MockAppCacheService service;
450 432
451 // Setup an appcache with a fallback namespace that uses pattern matching. 433 // Setup an appcache with a fallback namespace that uses pattern matching.
452 const GURL kFallbackNamespaceBase("http://blah/fallback_namespace/"); 434 const GURL kFallbackNamespaceBase("http://blah/fallback_namespace/");
453 const GURL kFallbackPatternNamespace( 435 const GURL kFallbackPatternNamespace(
454 kFallbackNamespaceBase.Resolve("*.hit*")); 436 kFallbackNamespaceBase.Resolve("*.hit*"));
455 const GURL kFallbackNamespaceEntry("http://blah/fallback_resource"); 437 const GURL kFallbackNamespaceEntry("http://blah/fallback_resource");
456 const int64 kFallbackResponseId = 1; 438 const int64 kFallbackResponseId = 1;
457 Manifest manifest; 439 Manifest manifest;
458 manifest.fallback_namespaces.push_back( 440 manifest.fallback_namespaces.push_back(
459 Namespace(APPCACHE_FALLBACK_NAMESPACE, kFallbackPatternNamespace, 441 AppCacheNamespace(APPCACHE_FALLBACK_NAMESPACE, kFallbackPatternNamespace,
460 kFallbackNamespaceEntry, true)); 442 kFallbackNamespaceEntry, true));
461 scoped_refptr<AppCache> cache(new AppCache(service.storage(), 1234)); 443 scoped_refptr<AppCache> cache(new AppCache(service.storage(), 1234));
462 cache->InitializeWithManifest(&manifest); 444 cache->InitializeWithManifest(&manifest);
463 cache->AddEntry( 445 cache->AddEntry(
464 kFallbackNamespaceEntry, 446 kFallbackNamespaceEntry,
465 AppCacheEntry(AppCacheEntry::FALLBACK, kFallbackResponseId)); 447 AppCacheEntry(AppCacheEntry::FALLBACK, kFallbackResponseId));
466 cache->set_complete(true); 448 cache->set_complete(true);
467 449
468 // See that the pattern match works. 450 // See that the pattern match works.
469 bool found = false; 451 bool found = false;
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
519 501
520 TEST(AppCacheTest, FindNetworkNamespacePatternResponseForRequest) { 502 TEST(AppCacheTest, FindNetworkNamespacePatternResponseForRequest) {
521 MockAppCacheService service; 503 MockAppCacheService service;
522 504
523 // Setup an appcache with a network namespace that uses pattern matching. 505 // Setup an appcache with a network namespace that uses pattern matching.
524 const GURL kNetworkNamespaceBase("http://blah/network_namespace/"); 506 const GURL kNetworkNamespaceBase("http://blah/network_namespace/");
525 const GURL kNetworkPatternNamespace( 507 const GURL kNetworkPatternNamespace(
526 kNetworkNamespaceBase.Resolve("*.hit*")); 508 kNetworkNamespaceBase.Resolve("*.hit*"));
527 Manifest manifest; 509 Manifest manifest;
528 manifest.online_whitelist_namespaces.push_back( 510 manifest.online_whitelist_namespaces.push_back(
529 Namespace(APPCACHE_NETWORK_NAMESPACE, kNetworkPatternNamespace, 511 AppCacheNamespace(APPCACHE_NETWORK_NAMESPACE, kNetworkPatternNamespace,
530 GURL(), true)); 512 GURL(), true));
531 manifest.online_whitelist_all = false; 513 manifest.online_whitelist_all = false;
532 scoped_refptr<AppCache> cache(new AppCache(service.storage(), 1234)); 514 scoped_refptr<AppCache> cache(new AppCache(service.storage(), 1234));
533 cache->InitializeWithManifest(&manifest); 515 cache->InitializeWithManifest(&manifest);
534 cache->set_complete(true); 516 cache->set_complete(true);
535 517
536 // See that the pattern match works. 518 // See that the pattern match works.
537 bool found = false; 519 bool found = false;
538 AppCacheEntry entry; 520 AppCacheEntry entry;
539 AppCacheEntry fallback_entry; 521 AppCacheEntry fallback_entry;
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
637 cache->GetFallbackEntryUrl(GURL("http://foo.com/"))); 619 cache->GetFallbackEntryUrl(GURL("http://foo.com/")));
638 EXPECT_EQ(1 + 2 + 3, cache->cache_size()); 620 EXPECT_EQ(1 + 2 + 3, cache->cache_size());
639 EXPECT_EQ(APPCACHE_NETWORK_NAMESPACE, 621 EXPECT_EQ(APPCACHE_NETWORK_NAMESPACE,
640 cache->online_whitelist_namespaces_[0].type); 622 cache->online_whitelist_namespaces_[0].type);
641 EXPECT_TRUE(cache->online_whitelist_namespaces_[0].is_pattern); 623 EXPECT_TRUE(cache->online_whitelist_namespaces_[0].is_pattern);
642 EXPECT_EQ(kWhitelistUrl, 624 EXPECT_EQ(kWhitelistUrl,
643 cache->online_whitelist_namespaces_[0].namespace_url); 625 cache->online_whitelist_namespaces_[0].namespace_url);
644 } 626 }
645 627
646 TEST(AppCacheTest, IsNamespaceMatch) { 628 TEST(AppCacheTest, IsNamespaceMatch) {
647 Namespace prefix; 629 AppCacheNamespace prefix;
648 prefix.namespace_url = GURL("http://foo.com/prefix"); 630 prefix.namespace_url = GURL("http://foo.com/prefix");
649 prefix.is_pattern = false; 631 prefix.is_pattern = false;
650 EXPECT_TRUE(prefix.IsMatch( 632 EXPECT_TRUE(prefix.IsMatch(
651 GURL("http://foo.com/prefix_and_anothing_goes"))); 633 GURL("http://foo.com/prefix_and_anothing_goes")));
652 EXPECT_FALSE(prefix.IsMatch( 634 EXPECT_FALSE(prefix.IsMatch(
653 GURL("http://foo.com/nope"))); 635 GURL("http://foo.com/nope")));
654 636
655 Namespace bar_no_star; 637 AppCacheNamespace bar_no_star;
656 bar_no_star.namespace_url = GURL("http://foo.com/bar"); 638 bar_no_star.namespace_url = GURL("http://foo.com/bar");
657 bar_no_star.is_pattern = true; 639 bar_no_star.is_pattern = true;
658 EXPECT_TRUE(bar_no_star.IsMatch( 640 EXPECT_TRUE(bar_no_star.IsMatch(
659 GURL("http://foo.com/bar"))); 641 GURL("http://foo.com/bar")));
660 EXPECT_FALSE(bar_no_star.IsMatch( 642 EXPECT_FALSE(bar_no_star.IsMatch(
661 GURL("http://foo.com/bar/nope"))); 643 GURL("http://foo.com/bar/nope")));
662 644
663 Namespace bar_star; 645 AppCacheNamespace bar_star;
664 bar_star.namespace_url = GURL("http://foo.com/bar/*"); 646 bar_star.namespace_url = GURL("http://foo.com/bar/*");
665 bar_star.is_pattern = true; 647 bar_star.is_pattern = true;
666 EXPECT_TRUE(bar_star.IsMatch( 648 EXPECT_TRUE(bar_star.IsMatch(
667 GURL("http://foo.com/bar/"))); 649 GURL("http://foo.com/bar/")));
668 EXPECT_TRUE(bar_star.IsMatch( 650 EXPECT_TRUE(bar_star.IsMatch(
669 GURL("http://foo.com/bar/should_match"))); 651 GURL("http://foo.com/bar/should_match")));
670 EXPECT_FALSE(bar_star.IsMatch( 652 EXPECT_FALSE(bar_star.IsMatch(
671 GURL("http://foo.com/not_bar/should_not_match"))); 653 GURL("http://foo.com/not_bar/should_not_match")));
672 654
673 Namespace star_bar_star; 655 AppCacheNamespace star_bar_star;
674 star_bar_star.namespace_url = GURL("http://foo.com/*/bar/*"); 656 star_bar_star.namespace_url = GURL("http://foo.com/*/bar/*");
675 star_bar_star.is_pattern = true; 657 star_bar_star.is_pattern = true;
676 EXPECT_TRUE(star_bar_star.IsMatch( 658 EXPECT_TRUE(star_bar_star.IsMatch(
677 GURL("http://foo.com/any/bar/should_match"))); 659 GURL("http://foo.com/any/bar/should_match")));
678 EXPECT_TRUE(star_bar_star.IsMatch( 660 EXPECT_TRUE(star_bar_star.IsMatch(
679 GURL("http://foo.com/any/bar/"))); 661 GURL("http://foo.com/any/bar/")));
680 EXPECT_FALSE(star_bar_star.IsMatch( 662 EXPECT_FALSE(star_bar_star.IsMatch(
681 GURL("http://foo.com/any/not_bar/no_match"))); 663 GURL("http://foo.com/any/not_bar/no_match")));
682 664
683 Namespace query_star_edit; 665 AppCacheNamespace query_star_edit;
684 query_star_edit.namespace_url = GURL("http://foo.com/query?id=*&verb=edit*"); 666 query_star_edit.namespace_url = GURL("http://foo.com/query?id=*&verb=edit*");
685 query_star_edit.is_pattern = true; 667 query_star_edit.is_pattern = true;
686 EXPECT_TRUE(query_star_edit.IsMatch( 668 EXPECT_TRUE(query_star_edit.IsMatch(
687 GURL("http://foo.com/query?id=1234&verb=edit&option=blue"))); 669 GURL("http://foo.com/query?id=1234&verb=edit&option=blue")));
688 EXPECT_TRUE(query_star_edit.IsMatch( 670 EXPECT_TRUE(query_star_edit.IsMatch(
689 GURL("http://foo.com/query?id=12345&option=blue&verb=edit"))); 671 GURL("http://foo.com/query?id=12345&option=blue&verb=edit")));
690 EXPECT_FALSE(query_star_edit.IsMatch( 672 EXPECT_FALSE(query_star_edit.IsMatch(
691 GURL("http://foo.com/query?id=12345&option=blue&verb=print"))); 673 GURL("http://foo.com/query?id=12345&option=blue&verb=print")));
692 EXPECT_TRUE(query_star_edit.IsMatch( 674 EXPECT_TRUE(query_star_edit.IsMatch(
693 GURL("http://foo.com/query?id=123&verb=print&verb=edit"))); 675 GURL("http://foo.com/query?id=123&verb=print&verb=edit")));
694 676
695 Namespace star_greediness; 677 AppCacheNamespace star_greediness;
696 star_greediness.namespace_url = GURL("http://foo.com/*/b"); 678 star_greediness.namespace_url = GURL("http://foo.com/*/b");
697 star_greediness.is_pattern = true; 679 star_greediness.is_pattern = true;
698 EXPECT_TRUE(star_greediness.IsMatch( 680 EXPECT_TRUE(star_greediness.IsMatch(
699 GURL("http://foo.com/a/b"))); 681 GURL("http://foo.com/a/b")));
700 EXPECT_TRUE(star_greediness.IsMatch( 682 EXPECT_TRUE(star_greediness.IsMatch(
701 GURL("http://foo.com/a/wxy/z/b"))); 683 GURL("http://foo.com/a/wxy/z/b")));
702 EXPECT_TRUE(star_greediness.IsMatch( 684 EXPECT_TRUE(star_greediness.IsMatch(
703 GURL("http://foo.com/a/b/b"))); 685 GURL("http://foo.com/a/b/b")));
704 EXPECT_TRUE(star_greediness.IsMatch( 686 EXPECT_TRUE(star_greediness.IsMatch(
705 GURL("http://foo.com/b/b"))); 687 GURL("http://foo.com/b/b")));
706 EXPECT_TRUE(star_greediness.IsMatch( 688 EXPECT_TRUE(star_greediness.IsMatch(
707 GURL("http://foo.com/a/b/b/b/b/b"))); 689 GURL("http://foo.com/a/b/b/b/b/b")));
708 EXPECT_TRUE(star_greediness.IsMatch( 690 EXPECT_TRUE(star_greediness.IsMatch(
709 GURL("http://foo.com/a/b/b/b/a/b"))); 691 GURL("http://foo.com/a/b/b/b/a/b")));
710 EXPECT_TRUE(star_greediness.IsMatch( 692 EXPECT_TRUE(star_greediness.IsMatch(
711 GURL("http://foo.com/a/b/01234567890abcdef/b"))); 693 GURL("http://foo.com/a/b/01234567890abcdef/b")));
712 EXPECT_TRUE(star_greediness.IsMatch( 694 EXPECT_TRUE(star_greediness.IsMatch(
713 GURL("http://foo.com/a/b/01234567890abcdef/b01234567890abcdef/b"))); 695 GURL("http://foo.com/a/b/01234567890abcdef/b01234567890abcdef/b")));
714 EXPECT_TRUE(star_greediness.IsMatch( 696 EXPECT_TRUE(star_greediness.IsMatch(
715 GURL("http://foo.com/a/b/01234567890abcdef_eat_some_more_characters_" 697 GURL("http://foo.com/a/b/01234567890abcdef_eat_some_more_characters_"
716 "/and_even_more_for_the_heck_of_it/01234567890abcdef/b"))); 698 "/and_even_more_for_the_heck_of_it/01234567890abcdef/b")));
717 } 699 }
718 700
719 } // namespace content 701 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698