| OLD | NEW | 
|    1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |    1 // Copyright (c) 2011 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/test/sync/engine/test_directory_setter_upper.h" |    5 #include "chrome/test/sync/engine/test_directory_setter_upper.h" | 
|    6  |    6  | 
|    7 #include "base/compiler_specific.h" |    7 #include "base/compiler_specific.h" | 
|    8 #include "base/file_util.h" |    8 #include "base/file_util.h" | 
|    9 #include "base/string_util.h" |    9 #include "base/string_util.h" | 
 |   10 #include "base/tracked.h" | 
|   10 #include "chrome/browser/sync/syncable/directory_manager.h" |   11 #include "chrome/browser/sync/syncable/directory_manager.h" | 
|   11 #include "chrome/browser/sync/syncable/syncable.h" |   12 #include "chrome/browser/sync/syncable/syncable.h" | 
|   12 #include "chrome/common/deprecated/event_sys-inl.h" |   13 #include "chrome/common/deprecated/event_sys-inl.h" | 
|   13 #include "testing/gtest/include/gtest/gtest.h" |   14 #include "testing/gtest/include/gtest/gtest.h" | 
|   14  |   15  | 
|   15 using syncable::DirectoryManager; |   16 using syncable::DirectoryManager; | 
|   16 using syncable::ReadTransaction; |   17 using syncable::ReadTransaction; | 
|   17 using syncable::ScopedDirLookup; |   18 using syncable::ScopedDirLookup; | 
|   18  |   19  | 
|   19 namespace browser_sync { |   20 namespace browser_sync { | 
| (...skipping 11 matching lines...) Expand all  Loading... | 
|   31   // temp dir. |   32   // temp dir. | 
|   32   ASSERT_FALSE(file_util::PathExists(manager_->GetSyncDataDatabasePath())); |   33   ASSERT_FALSE(file_util::PathExists(manager_->GetSyncDataDatabasePath())); | 
|   33 } |   34 } | 
|   34  |   35  | 
|   35 void TestDirectorySetterUpper::reset_directory_manager(DirectoryManager* d) { |   36 void TestDirectorySetterUpper::reset_directory_manager(DirectoryManager* d) { | 
|   36   manager_.reset(d); |   37   manager_.reset(d); | 
|   37 } |   38 } | 
|   38  |   39  | 
|   39 void TestDirectorySetterUpper::SetUp() { |   40 void TestDirectorySetterUpper::SetUp() { | 
|   40   Init(); |   41   Init(); | 
|   41   ASSERT_TRUE(manager()->Open(name())); |   42   ASSERT_TRUE(manager()->Open(name(), &delegate_)); | 
|   42 } |   43 } | 
|   43  |   44  | 
|   44 void TestDirectorySetterUpper::TearDown() { |   45 void TestDirectorySetterUpper::TearDown() { | 
|   45   if (!manager()) |   46   if (!manager()) | 
|   46     return; |   47     return; | 
|   47  |   48  | 
|   48   { |   49   { | 
|   49     // A small scope so we don't have the dir open when we close it and reset |   50     // A small scope so we don't have the dir open when we close it and reset | 
|   50     // the DirectoryManager below. |   51     // the DirectoryManager below. | 
|   51     ScopedDirLookup dir(manager(), name()); |   52     ScopedDirLookup dir(manager(), name()); | 
|   52     CHECK(dir.good()) << "Bad directory during tear down check"; |   53     CHECK(dir.good()) << "Bad directory during tear down check"; | 
|   53     RunInvariantCheck(dir); |   54     RunInvariantCheck(dir); | 
|   54     dir->SaveChanges(); |   55     dir->SaveChanges(); | 
|   55     RunInvariantCheck(dir); |   56     RunInvariantCheck(dir); | 
|   56     dir->SaveChanges(); |   57     dir->SaveChanges(); | 
|   57   } |   58   } | 
|   58  |   59  | 
|   59   manager()->FinalSaveChangesForAll(); |   60   manager()->FinalSaveChangesForAll(); | 
|   60   manager()->Close(name()); |   61   manager()->Close(name()); | 
|   61   manager_.reset(); |   62   manager_.reset(); | 
|   62   ASSERT_TRUE(temp_dir_.Delete()); |   63   ASSERT_TRUE(temp_dir_.Delete()); | 
|   63 } |   64 } | 
|   64  |   65  | 
|   65 void TestDirectorySetterUpper::RunInvariantCheck(const ScopedDirLookup& dir) { |   66 void TestDirectorySetterUpper::RunInvariantCheck(const ScopedDirLookup& dir) { | 
|   66   { |   67   { | 
|   67     // Check invariants for in-memory items. |   68     // Check invariants for in-memory items. | 
|   68     ReadTransaction trans(dir, __FILE__, __LINE__); |   69     ReadTransaction trans(dir, FROM_HERE); | 
|   69     dir->CheckTreeInvariants(&trans, false); |   70     dir->CheckTreeInvariants(&trans, false); | 
|   70   } |   71   } | 
|   71   { |   72   { | 
|   72     // Check invariants for all items. |   73     // Check invariants for all items. | 
|   73     ReadTransaction trans(dir, __FILE__, __LINE__); |   74     ReadTransaction trans(dir, FROM_HERE); | 
|   74     dir->CheckTreeInvariants(&trans, true); |   75     dir->CheckTreeInvariants(&trans, true); | 
|   75   } |   76   } | 
|   76 } |   77 } | 
|   77  |   78  | 
|   78 void ManuallyOpenedTestDirectorySetterUpper::SetUp() { |   79 void ManuallyOpenedTestDirectorySetterUpper::SetUp() { | 
|   79   Init(); |   80   Init(); | 
|   80 } |   81 } | 
|   81  |   82  | 
|   82 void ManuallyOpenedTestDirectorySetterUpper::Open() { |   83 void ManuallyOpenedTestDirectorySetterUpper::Open() { | 
|   83   ASSERT_TRUE(manager()->Open(name())); |   84   ASSERT_TRUE(manager()->Open(name(), &delegate_)); | 
|   84   was_opened_ = true; |   85   was_opened_ = true; | 
|   85 } |   86 } | 
|   86  |   87  | 
|   87 void ManuallyOpenedTestDirectorySetterUpper::TearDown() { |   88 void ManuallyOpenedTestDirectorySetterUpper::TearDown() { | 
|   88   if (was_opened_) { |   89   if (was_opened_) { | 
|   89     TestDirectorySetterUpper::TearDown(); |   90     TestDirectorySetterUpper::TearDown(); | 
|   90   } |   91   } | 
|   91 } |   92 } | 
|   92  |   93  | 
|   93 TriggeredOpenTestDirectorySetterUpper::TriggeredOpenTestDirectorySetterUpper( |   94 TriggeredOpenTestDirectorySetterUpper::TriggeredOpenTestDirectorySetterUpper( | 
| (...skipping 10 matching lines...) Expand all  Loading... | 
|  104   manager()->GetOpenDirectories(&names); |  105   manager()->GetOpenDirectories(&names); | 
|  105   if (!names.empty()) { |  106   if (!names.empty()) { | 
|  106     ASSERT_EQ(1U, names.size()); |  107     ASSERT_EQ(1U, names.size()); | 
|  107     ASSERT_EQ(name(), names[0]); |  108     ASSERT_EQ(name(), names[0]); | 
|  108     TestDirectorySetterUpper::TearDown(); |  109     TestDirectorySetterUpper::TearDown(); | 
|  109   } |  110   } | 
|  110 } |  111 } | 
|  111  |  112  | 
|  112 MockDirectorySetterUpper::MockDirectory::MockDirectory( |  113 MockDirectorySetterUpper::MockDirectory::MockDirectory( | 
|  113     const std::string& name) { |  114     const std::string& name) { | 
|  114   init_kernel(name); |  115   InitKernel(name, &delegate_); | 
|  115 } |  116 } | 
|  116  |  117  | 
|  117 MockDirectorySetterUpper::MockDirectory::~MockDirectory() {} |  118 MockDirectorySetterUpper::MockDirectory::~MockDirectory() {} | 
|  118  |  119  | 
|  119 MockDirectorySetterUpper::Manager::Manager( |  120 MockDirectorySetterUpper::Manager::Manager( | 
|  120     const FilePath& root_path, syncable::Directory* dir) : |  121     const FilePath& root_path, syncable::Directory* dir) : | 
|  121     syncable::DirectoryManager(root_path) { |  122     syncable::DirectoryManager(root_path) { | 
|  122   managed_directory_ = dir; |  123   managed_directory_ = dir; | 
|  123 } |  124 } | 
|  124  |  125  | 
|  125 MockDirectorySetterUpper::MockDirectorySetterUpper() |  126 MockDirectorySetterUpper::MockDirectorySetterUpper() | 
|  126     : directory_(new MockDirectory(name())) { |  127     : directory_(new MockDirectory(name())) { | 
|  127 } |  128 } | 
|  128  |  129  | 
|  129 MockDirectorySetterUpper::~MockDirectorySetterUpper() {} |  130 MockDirectorySetterUpper::~MockDirectorySetterUpper() {} | 
|  130  |  131  | 
|  131 void MockDirectorySetterUpper::SetUp() { |  132 void MockDirectorySetterUpper::SetUp() { | 
|  132   reset_directory_manager(new Manager(FilePath(), directory_.get())); |  133   reset_directory_manager(new Manager(FilePath(), directory_.get())); | 
|  133 } |  134 } | 
|  134  |  135  | 
|  135 void MockDirectorySetterUpper::TearDown() { |  136 void MockDirectorySetterUpper::TearDown() { | 
|  136   // Nothing to do here. |  137   // Nothing to do here. | 
|  137 } |  138 } | 
|  138  |  139  | 
|  139 }  // namespace browser_sync |  140 }  // namespace browser_sync | 
| OLD | NEW |