| 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/sync_file_system/syncable_file_system_util.h" |    5 #include "chrome/browser/sync_file_system/syncable_file_system_util.h" | 
|    6  |    6  | 
|    7 #include "base/files/scoped_temp_dir.h" |    7 #include "base/files/scoped_temp_dir.h" | 
|    8 #include "base/logging.h" |    8 #include "base/logging.h" | 
|    9 #include "base/message_loop/message_loop.h" |    9 #include "base/message_loop/message_loop.h" | 
|   10 #include "base/message_loop/message_loop_proxy.h" |   10 #include "base/message_loop/message_loop_proxy.h" | 
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  105   // non-registered filesystem and non-syncable filesystem. |  105   // non-registered filesystem and non-syncable filesystem. | 
|  106   FileSystemURL deserialized; |  106   FileSystemURL deserialized; | 
|  107   EXPECT_FALSE(DeserializeSyncableFileSystemURL( |  107   EXPECT_FALSE(DeserializeSyncableFileSystemURL( | 
|  108       non_registered_url, &deserialized)); |  108       non_registered_url, &deserialized)); | 
|  109   EXPECT_FALSE(DeserializeSyncableFileSystemURL( |  109   EXPECT_FALSE(DeserializeSyncableFileSystemURL( | 
|  110       non_syncable_url, &deserialized)); |  110       non_syncable_url, &deserialized)); | 
|  111  |  111  | 
|  112   RevokeSyncableFileSystem(); |  112   RevokeSyncableFileSystem(); | 
|  113 } |  113 } | 
|  114  |  114  | 
|  115 TEST(SyncableFileSystemUtilTest, SerializeBeforeOpenFileSystem) { |  | 
|  116   ScopedEnableSyncFSDirectoryOperation enable_directory_operation_; |  | 
|  117   const std::string serialized = kSyncableFileSystemRootURI + |  | 
|  118       CreateNormalizedFilePath(kPath).AsUTF8Unsafe(); |  | 
|  119   FileSystemURL deserialized; |  | 
|  120   base::MessageLoop message_loop; |  | 
|  121  |  | 
|  122   // Setting up a full syncable filesystem environment. |  | 
|  123   CannedSyncableFileSystem file_system(GURL(kOrigin), |  | 
|  124                                        base::MessageLoopProxy::current().get(), |  | 
|  125                                        base::MessageLoopProxy::current().get()); |  | 
|  126   file_system.SetUp(); |  | 
|  127   scoped_refptr<LocalFileSyncContext> sync_context = |  | 
|  128       new LocalFileSyncContext(base::FilePath(), |  | 
|  129                                base::MessageLoopProxy::current().get(), |  | 
|  130                                base::MessageLoopProxy::current().get()); |  | 
|  131  |  | 
|  132   // Before calling initialization we would not be able to get a valid |  | 
|  133   // deserialized URL. |  | 
|  134   EXPECT_FALSE(DeserializeSyncableFileSystemURL(serialized, &deserialized)); |  | 
|  135   EXPECT_FALSE(deserialized.is_valid()); |  | 
|  136  |  | 
|  137   ASSERT_EQ(sync_file_system::SYNC_STATUS_OK, |  | 
|  138             file_system.MaybeInitializeFileSystemContext(sync_context.get())); |  | 
|  139  |  | 
|  140   // After initialization this should be ok (even before opening the file |  | 
|  141   // system). |  | 
|  142   EXPECT_TRUE(DeserializeSyncableFileSystemURL(serialized, &deserialized)); |  | 
|  143   EXPECT_TRUE(deserialized.is_valid()); |  | 
|  144  |  | 
|  145   // Shutting down. |  | 
|  146   file_system.TearDown(); |  | 
|  147   RevokeSyncableFileSystem(); |  | 
|  148   sync_context->ShutdownOnUIThread(); |  | 
|  149   sync_context = NULL; |  | 
|  150   base::MessageLoop::current()->RunUntilIdle(); |  | 
|  151 } |  | 
|  152  |  | 
|  153 TEST(SyncableFileSystemUtilTest, SyncableFileSystemURL_IsParent) { |  115 TEST(SyncableFileSystemUtilTest, SyncableFileSystemURL_IsParent) { | 
|  154   RegisterSyncableFileSystem(); |  116   RegisterSyncableFileSystem(); | 
|  155  |  117  | 
|  156   const std::string root1 = sync_file_system::GetSyncableFileSystemRootURI( |  118   const std::string root1 = sync_file_system::GetSyncableFileSystemRootURI( | 
|  157       GURL("http://foo.com")).spec(); |  119       GURL("http://foo.com")).spec(); | 
|  158   const std::string root2 = sync_file_system::GetSyncableFileSystemRootURI( |  120   const std::string root2 = sync_file_system::GetSyncableFileSystemRootURI( | 
|  159       GURL("http://bar.com")).spec(); |  121       GURL("http://bar.com")).spec(); | 
|  160  |  122  | 
|  161   const std::string parent("dir"); |  123   const std::string parent("dir"); | 
|  162   const std::string child("dir/child"); |  124   const std::string child("dir/child"); | 
|  163  |  125  | 
|  164   // True case. |  126   // True case. | 
|  165   EXPECT_TRUE(CreateFileSystemURL(root1 + parent).IsParent( |  127   EXPECT_TRUE(CreateFileSystemURL(root1 + parent).IsParent( | 
|  166       CreateFileSystemURL(root1 + child))); |  128       CreateFileSystemURL(root1 + child))); | 
|  167   EXPECT_TRUE(CreateFileSystemURL(root2 + parent).IsParent( |  129   EXPECT_TRUE(CreateFileSystemURL(root2 + parent).IsParent( | 
|  168       CreateFileSystemURL(root2 + child))); |  130       CreateFileSystemURL(root2 + child))); | 
|  169  |  131  | 
|  170   // False case: different origin. |  132   // False case: different origin. | 
|  171   EXPECT_FALSE(CreateFileSystemURL(root1 + parent).IsParent( |  133   EXPECT_FALSE(CreateFileSystemURL(root1 + parent).IsParent( | 
|  172       CreateFileSystemURL(root2 + child))); |  134       CreateFileSystemURL(root2 + child))); | 
|  173   EXPECT_FALSE(CreateFileSystemURL(root2 + parent).IsParent( |  135   EXPECT_FALSE(CreateFileSystemURL(root2 + parent).IsParent( | 
|  174       CreateFileSystemURL(root1 + child))); |  136       CreateFileSystemURL(root1 + child))); | 
|  175  |  137  | 
|  176   RevokeSyncableFileSystem(); |  138   RevokeSyncableFileSystem(); | 
|  177 } |  139 } | 
|  178  |  140  | 
|  179 }  // namespace sync_file_system |  141 }  // namespace sync_file_system | 
| OLD | NEW |