| Index: chrome/test/sync/engine/test_syncable_utils.cc
|
| diff --git a/chrome/test/sync/engine/test_syncable_utils.cc b/chrome/test/sync/engine/test_syncable_utils.cc
|
| new file mode 100755
|
| index 0000000000000000000000000000000000000000..e01d3f0467b00a3ecef7f34fd0f514a9ec1a7c11
|
| --- /dev/null
|
| +++ b/chrome/test/sync/engine/test_syncable_utils.cc
|
| @@ -0,0 +1,60 @@
|
| +// Copyright (c) 2009 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +// Utilities to verify the state of items in unit tests.
|
| +
|
| +#include "chrome/test/sync/engine/test_syncable_utils.h"
|
| +
|
| +#include "chrome/browser/sync/syncable/syncable.h"
|
| +
|
| +namespace syncable {
|
| +
|
| +int CountEntriesWithName(BaseTransaction* rtrans,
|
| + const syncable::Id& parent_id,
|
| + const PathString& name) {
|
| + Directory::ChildHandles child_handles;
|
| + rtrans->directory()->GetChildHandles(rtrans, parent_id, &child_handles);
|
| + if (child_handles.size() <= 0) {
|
| + return 0;
|
| + }
|
| +
|
| + int number_of_entries_with_name = 0;
|
| + for (Directory::ChildHandles::iterator i = child_handles.begin();
|
| + i != child_handles.end(); ++i) {
|
| + Entry e(rtrans, GET_BY_HANDLE, *i);
|
| + CHECK(e.good());
|
| + if (e.Get(NON_UNIQUE_NAME) == name) {
|
| + ++number_of_entries_with_name;
|
| + }
|
| + }
|
| + return number_of_entries_with_name;
|
| +}
|
| +
|
| +Id GetFirstEntryWithName(BaseTransaction* rtrans,
|
| + const syncable::Id& parent_id,
|
| + const PathString& name) {
|
| + Directory::ChildHandles child_handles;
|
| + rtrans->directory()->GetChildHandles(rtrans, parent_id, &child_handles);
|
| +
|
| + for (Directory::ChildHandles::iterator i = child_handles.begin();
|
| + i != child_handles.end(); ++i) {
|
| + Entry e(rtrans, GET_BY_HANDLE, *i);
|
| + CHECK(e.good());
|
| + if (e.Get(NON_UNIQUE_NAME) == name) {
|
| + return e.Get(ID);
|
| + }
|
| + }
|
| +
|
| + CHECK(false);
|
| + return Id();
|
| +}
|
| +
|
| +Id GetOnlyEntryWithName(BaseTransaction* rtrans,
|
| + const syncable::Id& parent_id,
|
| + const PathString& name) {
|
| + CHECK(1 == CountEntriesWithName(rtrans, parent_id, name));
|
| + return GetFirstEntryWithName(rtrans, parent_id, name);
|
| +}
|
| +
|
| +} // namespace syncable
|
|
|