OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/chromeos/drive/change_list_processor.h" | 5 #include "chrome/browser/chromeos/drive/change_list_processor.h" |
6 | 6 |
7 #include "base/files/scoped_temp_dir.h" | 7 #include "base/files/scoped_temp_dir.h" |
8 #include "base/message_loop.h" | 8 #include "base/message_loop.h" |
9 #include "base/threading/sequenced_worker_pool.h" | 9 #include "base/threading/sequenced_worker_pool.h" |
10 #include "base/values.h" | 10 #include "base/values.h" |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
111 google_apis::test_util::RunBlockingPoolTask(); | 111 google_apis::test_util::RunBlockingPoolTask(); |
112 return processor.changed_dirs(); | 112 return processor.changed_dirs(); |
113 } | 113 } |
114 | 114 |
115 // Gets the resource entry for the path from |metadata_| synchronously. | 115 // Gets the resource entry for the path from |metadata_| synchronously. |
116 // Returns null if the entry does not exist. | 116 // Returns null if the entry does not exist. |
117 scoped_ptr<ResourceEntry> GetResourceEntry(const std::string& path) { | 117 scoped_ptr<ResourceEntry> GetResourceEntry(const std::string& path) { |
118 FileError error = FILE_ERROR_FAILED; | 118 FileError error = FILE_ERROR_FAILED; |
119 scoped_ptr<ResourceEntry> entry(new ResourceEntry); | 119 scoped_ptr<ResourceEntry> entry(new ResourceEntry); |
120 base::PostTaskAndReplyWithResult( | 120 base::PostTaskAndReplyWithResult( |
121 blocking_task_runner_, | 121 blocking_task_runner_.get(), |
122 FROM_HERE, | 122 FROM_HERE, |
123 base::Bind(&internal::ResourceMetadata::GetResourceEntryByPath, | 123 base::Bind(&internal::ResourceMetadata::GetResourceEntryByPath, |
124 base::Unretained(metadata_.get()), | 124 base::Unretained(metadata_.get()), |
125 base::FilePath::FromUTF8Unsafe(path), | 125 base::FilePath::FromUTF8Unsafe(path), |
126 entry.get()), | 126 entry.get()), |
127 base::Bind(google_apis::test_util::CreateCopyResultCallback(&error))); | 127 base::Bind(google_apis::test_util::CreateCopyResultCallback(&error))); |
128 google_apis::test_util::RunBlockingPoolTask(); | 128 google_apis::test_util::RunBlockingPoolTask(); |
129 if (error != FILE_ERROR_OK) | 129 if (error != FILE_ERROR_OK) |
130 entry.reset(); | 130 entry.reset(); |
131 return entry.Pass(); | 131 return entry.Pass(); |
132 } | 132 } |
133 | 133 |
134 // Gets the largest changestamp stored in |metadata_|. | 134 // Gets the largest changestamp stored in |metadata_|. |
135 int64 GetChangestamp() { | 135 int64 GetChangestamp() { |
136 int64 changestamp = -1; | 136 int64 changestamp = -1; |
137 base::PostTaskAndReplyWithResult( | 137 base::PostTaskAndReplyWithResult( |
138 blocking_task_runner_, | 138 blocking_task_runner_.get(), |
139 FROM_HERE, | 139 FROM_HERE, |
140 base::Bind(&internal::ResourceMetadata::GetLargestChangestamp, | 140 base::Bind(&internal::ResourceMetadata::GetLargestChangestamp, |
141 base::Unretained(metadata_.get())), | 141 base::Unretained(metadata_.get())), |
142 base::Bind(google_apis::test_util::CreateCopyResultCallback( | 142 base::Bind( |
143 &changestamp))); | 143 google_apis::test_util::CreateCopyResultCallback(&changestamp))); |
144 google_apis::test_util::RunBlockingPoolTask(); | 144 google_apis::test_util::RunBlockingPoolTask(); |
145 return changestamp; | 145 return changestamp; |
146 } | 146 } |
147 | 147 |
148 private: | 148 private: |
149 base::MessageLoopForUI message_loop_; | 149 base::MessageLoopForUI message_loop_; |
150 content::TestBrowserThread ui_thread_; | 150 content::TestBrowserThread ui_thread_; |
151 scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_; | 151 scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_; |
152 base::ScopedTempDir temp_dir_; | 152 base::ScopedTempDir temp_dir_; |
153 scoped_ptr<internal::ResourceMetadata, test_util::DestroyHelperForTests> | 153 scoped_ptr<internal::ResourceMetadata, test_util::DestroyHelperForTests> |
(...skipping 340 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
494 ApplyChangeList(ParseChangeList(kTestJson)); | 494 ApplyChangeList(ParseChangeList(kTestJson)); |
495 | 495 |
496 EXPECT_EQ(16730, GetChangestamp()); // the value is written in kTestJson. | 496 EXPECT_EQ(16730, GetChangestamp()); // the value is written in kTestJson. |
497 EXPECT_FALSE(GetResourceEntry("drive/root/New Directory/new_pdf_file.pdf")); | 497 EXPECT_FALSE(GetResourceEntry("drive/root/New Directory/new_pdf_file.pdf")); |
498 | 498 |
499 EXPECT_TRUE(changed_dirs.empty()); | 499 EXPECT_TRUE(changed_dirs.empty()); |
500 } | 500 } |
501 | 501 |
502 } // namespace internal | 502 } // namespace internal |
503 } // namespace drive | 503 } // namespace drive |
OLD | NEW |