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

Side by Side Diff: webkit/dom_storage/dom_storage_context_unittest.cc

Issue 9999021: Don't hardcode the "Local Storage" directory name in DomStorageContext. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Code review. Created 8 years, 8 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 (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 "base/bind.h" 5 #include "base/bind.h"
6 #include "base/file_util.h" 6 #include "base/file_util.h"
7 #include "base/message_loop.h" 7 #include "base/message_loop.h"
8 #include "base/message_loop_proxy.h" 8 #include "base/message_loop_proxy.h"
9 #include "base/scoped_temp_dir.h" 9 #include "base/scoped_temp_dir.h"
10 #include "base/threading/sequenced_worker_pool.h" 10 #include "base/threading/sequenced_worker_pool.h"
(...skipping 24 matching lines...) Expand all
35 const string16 kValue; 35 const string16 kValue;
36 const bool kDontIncludeFileInfo; 36 const bool kDontIncludeFileInfo;
37 const bool kDoIncludeFileInfo; 37 const bool kDoIncludeFileInfo;
38 38
39 virtual void SetUp() { 39 virtual void SetUp() {
40 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); 40 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
41 storage_policy_ = new quota::MockSpecialStoragePolicy; 41 storage_policy_ = new quota::MockSpecialStoragePolicy;
42 task_runner_ = new MockDomStorageTaskRunner( 42 task_runner_ = new MockDomStorageTaskRunner(
43 base::MessageLoopProxy::current()); 43 base::MessageLoopProxy::current());
44 context_ = new DomStorageContext(temp_dir_.path(), 44 context_ = new DomStorageContext(temp_dir_.path(),
45 FilePath(),
45 storage_policy_, 46 storage_policy_,
46 task_runner_); 47 task_runner_);
47 } 48 }
48 49
49 virtual void TearDown() { 50 virtual void TearDown() {
50 MessageLoop::current()->RunAllPending(); 51 MessageLoop::current()->RunAllPending();
51 } 52 }
52 53
53 void VerifySingleOriginRemains(const GURL& origin) { 54 void VerifySingleOriginRemains(const GURL& origin) {
54 // Use a new instance to examine the contexts of temp_dir_. 55 // Use a new instance to examine the contexts of temp_dir_.
55 scoped_refptr<DomStorageContext> context = 56 scoped_refptr<DomStorageContext> context =
56 new DomStorageContext(temp_dir_.path(), NULL, NULL); 57 new DomStorageContext(temp_dir_.path(), FilePath(), NULL, NULL);
57 std::vector<DomStorageContext::UsageInfo> infos; 58 std::vector<DomStorageContext::UsageInfo> infos;
58 context->GetUsageInfo(&infos, kDontIncludeFileInfo); 59 context->GetUsageInfo(&infos, kDontIncludeFileInfo);
59 EXPECT_EQ(1u, infos.size()); 60 EXPECT_EQ(1u, infos.size());
60 EXPECT_EQ(origin, infos[0].origin); 61 EXPECT_EQ(origin, infos[0].origin);
61 } 62 }
62 63
63 protected: 64 protected:
64 ScopedTempDir temp_dir_; 65 ScopedTempDir temp_dir_;
65 scoped_refptr<quota::MockSpecialStoragePolicy> storage_policy_; 66 scoped_refptr<quota::MockSpecialStoragePolicy> storage_policy_;
66 scoped_refptr<MockDomStorageTaskRunner> task_runner_; 67 scoped_refptr<MockDomStorageTaskRunner> task_runner_;
67 scoped_refptr<DomStorageContext> context_; 68 scoped_refptr<DomStorageContext> context_;
68 DISALLOW_COPY_AND_ASSIGN(DomStorageContextTest); 69 DISALLOW_COPY_AND_ASSIGN(DomStorageContextTest);
69 }; 70 };
70 71
71 TEST_F(DomStorageContextTest, Basics) { 72 TEST_F(DomStorageContextTest, Basics) {
72 // This test doesn't do much, checks that the constructor 73 // This test doesn't do much, checks that the constructor
73 // initializes members properly and that invoking methods 74 // initializes members properly and that invoking methods
74 // on a newly created object w/o any data on disk do no harm. 75 // on a newly created object w/o any data on disk do no harm.
75 EXPECT_EQ(temp_dir_.path(), context_->directory()); 76 EXPECT_EQ(temp_dir_.path(), context_->localstorage_directory());
77 EXPECT_EQ(FilePath(), context_->sessionstorage_directory());
76 EXPECT_EQ(storage_policy_.get(), context_->special_storage_policy_.get()); 78 EXPECT_EQ(storage_policy_.get(), context_->special_storage_policy_.get());
77 context_->PurgeMemory(); 79 context_->PurgeMemory();
78 context_->DeleteOrigin(GURL("http://chromium.org/")); 80 context_->DeleteOrigin(GURL("http://chromium.org/"));
79 context_->DeleteDataModifiedSince(base::Time::Now()); 81 context_->DeleteDataModifiedSince(base::Time::Now());
80 const int kFirstSessionStorageNamespaceId = 1; 82 const int kFirstSessionStorageNamespaceId = 1;
81 EXPECT_TRUE(context_->GetStorageNamespace(kLocalStorageNamespaceId)); 83 EXPECT_TRUE(context_->GetStorageNamespace(kLocalStorageNamespaceId));
82 EXPECT_FALSE(context_->GetStorageNamespace(kFirstSessionStorageNamespaceId)); 84 EXPECT_FALSE(context_->GetStorageNamespace(kFirstSessionStorageNamespaceId));
83 EXPECT_EQ(kFirstSessionStorageNamespaceId, context_->AllocateSessionId()); 85 EXPECT_EQ(kFirstSessionStorageNamespaceId, context_->AllocateSessionId());
84 std::vector<DomStorageContext::UsageInfo> infos; 86 std::vector<DomStorageContext::UsageInfo> infos;
85 context_->GetUsageInfo(&infos, kDontIncludeFileInfo); 87 context_->GetUsageInfo(&infos, kDontIncludeFileInfo);
(...skipping 13 matching lines...) Expand all
99 // to ensure data is written to disk. 101 // to ensure data is written to disk.
100 NullableString16 old_value; 102 NullableString16 old_value;
101 EXPECT_TRUE(context_->GetStorageNamespace(kLocalStorageNamespaceId)-> 103 EXPECT_TRUE(context_->GetStorageNamespace(kLocalStorageNamespaceId)->
102 OpenStorageArea(kOrigin)->SetItem(kKey, kValue, &old_value)); 104 OpenStorageArea(kOrigin)->SetItem(kKey, kValue, &old_value));
103 context_->Shutdown(); 105 context_->Shutdown();
104 context_ = NULL; 106 context_ = NULL;
105 MessageLoop::current()->RunAllPending(); 107 MessageLoop::current()->RunAllPending();
106 108
107 // Create a new context that points to the same directory, see that 109 // Create a new context that points to the same directory, see that
108 // it knows about the origin that we stored data for. 110 // it knows about the origin that we stored data for.
109 context_ = new DomStorageContext(temp_dir_.path(), NULL, NULL); 111 context_ = new DomStorageContext(temp_dir_.path(), FilePath(), NULL, NULL);
110 context_->GetUsageInfo(&infos, kDontIncludeFileInfo); 112 context_->GetUsageInfo(&infos, kDontIncludeFileInfo);
111 EXPECT_EQ(1u, infos.size()); 113 EXPECT_EQ(1u, infos.size());
112 EXPECT_EQ(kOrigin, infos[0].origin); 114 EXPECT_EQ(kOrigin, infos[0].origin);
113 EXPECT_EQ(0u, infos[0].data_size); 115 EXPECT_EQ(0u, infos[0].data_size);
114 EXPECT_EQ(base::Time(), infos[0].last_modified); 116 EXPECT_EQ(base::Time(), infos[0].last_modified);
115 infos.clear(); 117 infos.clear();
116 context_->GetUsageInfo(&infos, kDoIncludeFileInfo); 118 context_->GetUsageInfo(&infos, kDoIncludeFileInfo);
117 EXPECT_EQ(1u, infos.size()); 119 EXPECT_EQ(1u, infos.size());
118 EXPECT_EQ(kOrigin, infos[0].origin); 120 EXPECT_EQ(kOrigin, infos[0].origin);
119 EXPECT_NE(0u, infos[0].data_size); 121 EXPECT_NE(0u, infos[0].data_size);
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 context_->SetClearLocalState(true); 173 context_->SetClearLocalState(true);
172 context_->SaveSessionState(); // Should override clear behavior. 174 context_->SaveSessionState(); // Should override clear behavior.
173 context_->Shutdown(); 175 context_->Shutdown();
174 context_ = NULL; 176 context_ = NULL;
175 MessageLoop::current()->RunAllPending(); 177 MessageLoop::current()->RunAllPending();
176 178
177 VerifySingleOriginRemains(kSessionOnlyOrigin); 179 VerifySingleOriginRemains(kSessionOnlyOrigin);
178 } 180 }
179 181
180 } // namespace dom_storage 182 } // namespace dom_storage
181
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698