OLD | NEW |
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 <windows.h> | 5 #include <windows.h> |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
109 | 109 |
110 return true; | 110 return true; |
111 } | 111 } |
112 | 112 |
113 virtual void SetUp() { | 113 virtual void SetUp() { |
114 ASSERT_TRUE(db_thread_.Start()); | 114 ASSERT_TRUE(db_thread_.Start()); |
115 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); | 115 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); |
116 | 116 |
117 profile_.reset(new TestingProfile()); | 117 profile_.reset(new TestingProfile()); |
118 | 118 |
119 login_db_.reset(new LoginDatabase()); | |
120 ASSERT_TRUE(login_db_->Init(temp_dir_.path().Append( | |
121 FILE_PATH_LITERAL("login_test")))); | |
122 base::FilePath path = temp_dir_.path().AppendASCII("web_data_test"); | 119 base::FilePath path = temp_dir_.path().AppendASCII("web_data_test"); |
123 wdbs_ = new WebDatabaseService(path, | 120 wdbs_ = new WebDatabaseService(path, |
124 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), | 121 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), |
125 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::DB)); | 122 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::DB)); |
126 // Need to add at least one table so the database gets created. | 123 // Need to add at least one table so the database gets created. |
127 wdbs_->AddTable(scoped_ptr<WebDatabaseTable>(new LoginsTable())); | 124 wdbs_->AddTable(scoped_ptr<WebDatabaseTable>(new LoginsTable())); |
128 wdbs_->LoadDatabase(); | 125 wdbs_->LoadDatabase(); |
129 wds_ = new PasswordWebDataService( | 126 wds_ = new PasswordWebDataService( |
130 wdbs_, | 127 wdbs_, |
131 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), | 128 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), |
(...skipping 11 matching lines...) Expand all Loading... |
143 base::WaitableEvent done(false, false); | 140 base::WaitableEvent done(false, false); |
144 BrowserThread::PostTask(BrowserThread::DB, FROM_HERE, | 141 BrowserThread::PostTask(BrowserThread::DB, FROM_HERE, |
145 base::Bind(&base::WaitableEvent::Signal, base::Unretained(&done))); | 142 base::Bind(&base::WaitableEvent::Signal, base::Unretained(&done))); |
146 done.Wait(); | 143 done.Wait(); |
147 base::MessageLoop::current()->PostTask(FROM_HERE, | 144 base::MessageLoop::current()->PostTask(FROM_HERE, |
148 base::MessageLoop::QuitClosure()); | 145 base::MessageLoop::QuitClosure()); |
149 base::MessageLoop::current()->Run(); | 146 base::MessageLoop::current()->Run(); |
150 db_thread_.Stop(); | 147 db_thread_.Stop(); |
151 } | 148 } |
152 | 149 |
| 150 base::FilePath test_login_db_file_path() const { |
| 151 return temp_dir_.path().Append(FILE_PATH_LITERAL("login_test")); |
| 152 } |
| 153 |
153 PasswordStoreWin* CreatePasswordStore() { | 154 PasswordStoreWin* CreatePasswordStore() { |
154 return new PasswordStoreWin( | 155 return new PasswordStoreWin( |
155 base::MessageLoopProxy::current(), | 156 base::MessageLoopProxy::current(), |
156 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::DB), | 157 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::DB), |
157 login_db_.release(), | 158 make_scoped_ptr(new LoginDatabase(test_login_db_file_path())), |
158 wds_.get()); | 159 wds_.get()); |
159 } | 160 } |
160 | 161 |
161 base::MessageLoopForUI message_loop_; | 162 base::MessageLoopForUI message_loop_; |
162 content::TestBrowserThread ui_thread_; | 163 content::TestBrowserThread ui_thread_; |
163 // PasswordStore, WDS schedule work on this thread. | 164 // PasswordStore, WDS schedule work on this thread. |
164 content::TestBrowserThread db_thread_; | 165 content::TestBrowserThread db_thread_; |
165 | 166 |
166 base::ScopedTempDir temp_dir_; | 167 base::ScopedTempDir temp_dir_; |
167 scoped_ptr<TestingProfile> profile_; | 168 scoped_ptr<TestingProfile> profile_; |
168 scoped_ptr<LoginDatabase> login_db_; | |
169 scoped_refptr<PasswordWebDataService> wds_; | 169 scoped_refptr<PasswordWebDataService> wds_; |
170 scoped_refptr<WebDatabaseService> wdbs_; | 170 scoped_refptr<WebDatabaseService> wdbs_; |
171 scoped_refptr<PasswordStore> store_; | 171 scoped_refptr<PasswordStore> store_; |
172 }; | 172 }; |
173 | 173 |
174 ACTION(STLDeleteElements0) { | 174 ACTION(STLDeleteElements0) { |
175 STLDeleteContainerPointers(arg0.begin(), arg0.end()); | 175 STLDeleteContainerPointers(arg0.begin(), arg0.end()); |
176 } | 176 } |
177 | 177 |
178 ACTION(QuitUIMessageLoop) { | 178 ACTION(QuitUIMessageLoop) { |
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
430 VectorOfForms expect_none; | 430 VectorOfForms expect_none; |
431 // expect that we get no results; | 431 // expect that we get no results; |
432 EXPECT_CALL( | 432 EXPECT_CALL( |
433 consumer, | 433 consumer, |
434 OnGetPasswordStoreResults(ContainsAllPasswordForms(expect_none))) | 434 OnGetPasswordStoreResults(ContainsAllPasswordForms(expect_none))) |
435 .WillOnce(DoAll(WithArg<0>(STLDeleteElements0()), QuitUIMessageLoop())); | 435 .WillOnce(DoAll(WithArg<0>(STLDeleteElements0()), QuitUIMessageLoop())); |
436 | 436 |
437 store_->GetAutofillableLogins(&consumer); | 437 store_->GetAutofillableLogins(&consumer); |
438 base::MessageLoop::current()->Run(); | 438 base::MessageLoop::current()->Run(); |
439 } | 439 } |
OLD | NEW |