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

Side by Side Diff: chrome/browser/browsing_data/browsing_data_appcache_helper_unittest.cc

Issue 2159133002: Shutdown StoragePartition before ProfileIOData is being shut down (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix Created 4 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "chrome/browser/browsing_data/browsing_data_appcache_helper.h" 5 #include "chrome/browser/browsing_data/browsing_data_appcache_helper.h"
6 6
7 #include <set> 7 #include <set>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/bind_helpers.h" 10 #include "base/bind_helpers.h"
11 #include "base/macros.h" 11 #include "base/macros.h"
12 #include "base/stl_util.h" 12 #include "base/stl_util.h"
13 #include "chrome/test/base/testing_profile.h" 13 #include "chrome/test/base/testing_profile.h"
14 #include "content/public/test/test_browser_thread_bundle.h" 14 #include "content/public/test/test_browser_thread_bundle.h"
15 #include "content/public/test/test_utils.h"
15 #include "testing/gtest/include/gtest/gtest.h" 16 #include "testing/gtest/include/gtest/gtest.h"
16 17
17 namespace { 18 namespace {
18 class TestCompletionCallback { 19 class TestCompletionCallback {
19 public: 20 public:
20 TestCompletionCallback() {} 21 TestCompletionCallback() {}
21 22
22 bool have_result() const { return info_collection_.get(); } 23 bool have_result() const { return info_collection_.get(); }
23 24
24 content::AppCacheInfoCollection* info_collection() const { 25 content::AppCacheInfoCollection* info_collection() const {
(...skipping 11 matching lines...) Expand all
36 DISALLOW_COPY_AND_ASSIGN(TestCompletionCallback); 37 DISALLOW_COPY_AND_ASSIGN(TestCompletionCallback);
37 }; 38 };
38 39
39 } // namespace 40 } // namespace
40 41
41 class CannedBrowsingDataAppCacheHelperTest : public testing::Test { 42 class CannedBrowsingDataAppCacheHelperTest : public testing::Test {
42 public: 43 public:
43 CannedBrowsingDataAppCacheHelperTest() 44 CannedBrowsingDataAppCacheHelperTest()
44 : thread_bundle_(content::TestBrowserThreadBundle::REAL_IO_THREAD) {} 45 : thread_bundle_(content::TestBrowserThreadBundle::REAL_IO_THREAD) {}
45 46
47 void TearDown() override {
48 // Make sure we run all pending tasks on IO thread before testing
49 // profile is destructed.
50 content::RunAllPendingInMessageLoop(content::BrowserThread::IO);
kinuko 2016/07/21 03:06:25 This wasn't necessary before this CL because Testi
51 }
52
46 content::TestBrowserThreadBundle thread_bundle_; 53 content::TestBrowserThreadBundle thread_bundle_;
mmenke 2016/07/21 15:27:20 Doesn't really matter, but these should probably b
kinuko 2016/07/22 04:16:20 Done.
54 TestingProfile profile;
mmenke 2016/07/21 15:27:20 profile_
kinuko 2016/07/22 04:16:20 Done.
47 }; 55 };
48 56
49 TEST_F(CannedBrowsingDataAppCacheHelperTest, SetInfo) { 57 TEST_F(CannedBrowsingDataAppCacheHelperTest, SetInfo) {
50 TestingProfile profile;
51
52 GURL manifest1("http://example1.com/manifest.xml"); 58 GURL manifest1("http://example1.com/manifest.xml");
53 GURL manifest2("http://example2.com/path1/manifest.xml"); 59 GURL manifest2("http://example2.com/path1/manifest.xml");
54 GURL manifest3("http://example2.com/path2/manifest.xml"); 60 GURL manifest3("http://example2.com/path2/manifest.xml");
55 61
56 scoped_refptr<CannedBrowsingDataAppCacheHelper> helper( 62 scoped_refptr<CannedBrowsingDataAppCacheHelper> helper(
57 new CannedBrowsingDataAppCacheHelper(&profile)); 63 new CannedBrowsingDataAppCacheHelper(&profile));
58 helper->AddAppCache(manifest1); 64 helper->AddAppCache(manifest1);
59 helper->AddAppCache(manifest2); 65 helper->AddAppCache(manifest2);
60 helper->AddAppCache(manifest3); 66 helper->AddAppCache(manifest3);
61 67
(...skipping 13 matching lines...) Expand all
75 EXPECT_TRUE(ContainsKey(collection, manifest2.GetOrigin())); 81 EXPECT_TRUE(ContainsKey(collection, manifest2.GetOrigin()));
76 EXPECT_EQ(2u, collection[manifest2.GetOrigin()].size()); 82 EXPECT_EQ(2u, collection[manifest2.GetOrigin()].size());
77 std::set<GURL> manifest_results; 83 std::set<GURL> manifest_results;
78 manifest_results.insert(collection[manifest2.GetOrigin()].at(0).manifest_url); 84 manifest_results.insert(collection[manifest2.GetOrigin()].at(0).manifest_url);
79 manifest_results.insert(collection[manifest2.GetOrigin()].at(1).manifest_url); 85 manifest_results.insert(collection[manifest2.GetOrigin()].at(1).manifest_url);
80 EXPECT_TRUE(ContainsKey(manifest_results, manifest2)); 86 EXPECT_TRUE(ContainsKey(manifest_results, manifest2));
81 EXPECT_TRUE(ContainsKey(manifest_results, manifest3)); 87 EXPECT_TRUE(ContainsKey(manifest_results, manifest3));
82 } 88 }
83 89
84 TEST_F(CannedBrowsingDataAppCacheHelperTest, Unique) { 90 TEST_F(CannedBrowsingDataAppCacheHelperTest, Unique) {
85 TestingProfile profile;
86
87 GURL manifest("http://example.com/manifest.xml"); 91 GURL manifest("http://example.com/manifest.xml");
88 92
89 scoped_refptr<CannedBrowsingDataAppCacheHelper> helper( 93 scoped_refptr<CannedBrowsingDataAppCacheHelper> helper(
90 new CannedBrowsingDataAppCacheHelper(&profile)); 94 new CannedBrowsingDataAppCacheHelper(&profile));
91 helper->AddAppCache(manifest); 95 helper->AddAppCache(manifest);
92 helper->AddAppCache(manifest); 96 helper->AddAppCache(manifest);
93 97
94 TestCompletionCallback callback; 98 TestCompletionCallback callback;
95 helper->StartFetching(base::Bind(&TestCompletionCallback::set_info_collection, 99 helper->StartFetching(base::Bind(&TestCompletionCallback::set_info_collection,
96 base::Unretained(&callback))); 100 base::Unretained(&callback)));
97 ASSERT_TRUE(callback.have_result()); 101 ASSERT_TRUE(callback.have_result());
98 102
99 std::map<GURL, content::AppCacheInfoVector>& collection = 103 std::map<GURL, content::AppCacheInfoVector>& collection =
100 callback.info_collection()->infos_by_origin; 104 callback.info_collection()->infos_by_origin;
101 105
102 ASSERT_EQ(1u, collection.size()); 106 ASSERT_EQ(1u, collection.size());
103 EXPECT_TRUE(ContainsKey(collection, manifest.GetOrigin())); 107 EXPECT_TRUE(ContainsKey(collection, manifest.GetOrigin()));
104 ASSERT_EQ(1u, collection[manifest.GetOrigin()].size()); 108 ASSERT_EQ(1u, collection[manifest.GetOrigin()].size());
105 EXPECT_EQ(manifest, collection[manifest.GetOrigin()].at(0).manifest_url); 109 EXPECT_EQ(manifest, collection[manifest.GetOrigin()].at(0).manifest_url);
106 } 110 }
107 111
108 TEST_F(CannedBrowsingDataAppCacheHelperTest, Empty) { 112 TEST_F(CannedBrowsingDataAppCacheHelperTest, Empty) {
109 TestingProfile profile;
110
111 GURL manifest("http://example.com/manifest.xml"); 113 GURL manifest("http://example.com/manifest.xml");
112 114
113 scoped_refptr<CannedBrowsingDataAppCacheHelper> helper( 115 scoped_refptr<CannedBrowsingDataAppCacheHelper> helper(
114 new CannedBrowsingDataAppCacheHelper(&profile)); 116 new CannedBrowsingDataAppCacheHelper(&profile));
115 117
116 ASSERT_TRUE(helper->empty()); 118 ASSERT_TRUE(helper->empty());
117 helper->AddAppCache(manifest); 119 helper->AddAppCache(manifest);
118 ASSERT_FALSE(helper->empty()); 120 ASSERT_FALSE(helper->empty());
119 helper->Reset(); 121 helper->Reset();
120 ASSERT_TRUE(helper->empty()); 122 ASSERT_TRUE(helper->empty());
121 } 123 }
122 124
123 TEST_F(CannedBrowsingDataAppCacheHelperTest, Delete) { 125 TEST_F(CannedBrowsingDataAppCacheHelperTest, Delete) {
124 TestingProfile profile;
125
126 GURL manifest1("http://example.com/manifest1.xml"); 126 GURL manifest1("http://example.com/manifest1.xml");
127 GURL manifest2("http://foo.example.com/manifest2.xml"); 127 GURL manifest2("http://foo.example.com/manifest2.xml");
128 GURL manifest3("http://bar.example.com/manifest3.xml"); 128 GURL manifest3("http://bar.example.com/manifest3.xml");
129 129
130 scoped_refptr<CannedBrowsingDataAppCacheHelper> helper( 130 scoped_refptr<CannedBrowsingDataAppCacheHelper> helper(
131 new CannedBrowsingDataAppCacheHelper(&profile)); 131 new CannedBrowsingDataAppCacheHelper(&profile));
132 132
133 EXPECT_TRUE(helper->empty()); 133 EXPECT_TRUE(helper->empty());
134 helper->AddAppCache(manifest1); 134 helper->AddAppCache(manifest1);
135 helper->AddAppCache(manifest2); 135 helper->AddAppCache(manifest2);
136 helper->AddAppCache(manifest3); 136 helper->AddAppCache(manifest3);
137 EXPECT_FALSE(helper->empty()); 137 EXPECT_FALSE(helper->empty());
138 EXPECT_EQ(3u, helper->GetAppCacheCount()); 138 EXPECT_EQ(3u, helper->GetAppCacheCount());
139 helper->DeleteAppCacheGroup(manifest2); 139 helper->DeleteAppCacheGroup(manifest2);
140 EXPECT_EQ(2u, helper->GetAppCacheCount()); 140 EXPECT_EQ(2u, helper->GetAppCacheCount());
141 EXPECT_FALSE(ContainsKey(helper->GetOriginAppCacheInfoMap(), manifest2)); 141 EXPECT_FALSE(ContainsKey(helper->GetOriginAppCacheInfoMap(), manifest2));
142 } 142 }
143 143
144 TEST_F(CannedBrowsingDataAppCacheHelperTest, IgnoreExtensionsAndDevTools) { 144 TEST_F(CannedBrowsingDataAppCacheHelperTest, IgnoreExtensionsAndDevTools) {
145 TestingProfile profile;
146
147 GURL manifest1("chrome-extension://abcdefghijklmnopqrstuvwxyz/manifest.xml"); 145 GURL manifest1("chrome-extension://abcdefghijklmnopqrstuvwxyz/manifest.xml");
148 GURL manifest2("chrome-devtools://abcdefghijklmnopqrstuvwxyz/manifest.xml"); 146 GURL manifest2("chrome-devtools://abcdefghijklmnopqrstuvwxyz/manifest.xml");
149 147
150 scoped_refptr<CannedBrowsingDataAppCacheHelper> helper( 148 scoped_refptr<CannedBrowsingDataAppCacheHelper> helper(
151 new CannedBrowsingDataAppCacheHelper(&profile)); 149 new CannedBrowsingDataAppCacheHelper(&profile));
152 150
153 ASSERT_TRUE(helper->empty()); 151 ASSERT_TRUE(helper->empty());
154 helper->AddAppCache(manifest1); 152 helper->AddAppCache(manifest1);
155 ASSERT_TRUE(helper->empty()); 153 ASSERT_TRUE(helper->empty());
156 helper->AddAppCache(manifest2); 154 helper->AddAppCache(manifest2);
157 ASSERT_TRUE(helper->empty()); 155 ASSERT_TRUE(helper->empty());
158 } 156 }
OLDNEW
« no previous file with comments | « blimp/engine/common/blimp_browser_context.cc ('k') | chrome/browser/profiles/off_the_record_profile_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698