diff options
Diffstat (limited to 'sync/engine/resolve_conflicts_command_unittest.cc')
-rw-r--r-- | sync/engine/resolve_conflicts_command_unittest.cc | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/sync/engine/resolve_conflicts_command_unittest.cc b/sync/engine/resolve_conflicts_command_unittest.cc new file mode 100644 index 0000000..079683a --- /dev/null +++ b/sync/engine/resolve_conflicts_command_unittest.cc @@ -0,0 +1,51 @@ +// Copyright (c) 2012 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. + +#include "base/basictypes.h" +#include "base/memory/ref_counted.h" +#include "sync/engine/resolve_conflicts_command.h" +#include "sync/sessions/sync_session.h" +#include "sync/syncable/model_type.h" +#include "sync/syncable/syncable_id.h" +#include "sync/test/engine/fake_model_worker.h" +#include "sync/test/engine/syncer_command_test.h" +#include "testing/gtest/include/gtest/gtest.h" + +namespace browser_sync { + +namespace { + +class ResolveConflictsCommandTest : public SyncerCommandTest { + protected: + ResolveConflictsCommandTest() {} + virtual ~ResolveConflictsCommandTest() {} + + virtual void SetUp() { + workers()->push_back( + make_scoped_refptr(new FakeModelWorker(GROUP_UI))); + workers()->push_back( + make_scoped_refptr(new FakeModelWorker(GROUP_PASSWORD))); + (*mutable_routing_info())[syncable::BOOKMARKS] = GROUP_UI; + (*mutable_routing_info())[syncable::PASSWORDS] = GROUP_PASSWORD; + SyncerCommandTest::SetUp(); + } + + ResolveConflictsCommand command_; + + private: + DISALLOW_COPY_AND_ASSIGN(ResolveConflictsCommandTest); +}; + +TEST_F(ResolveConflictsCommandTest, GetGroupsToChange) { + ExpectNoGroupsToChange(command_); + // Put GROUP_PASSWORD in conflict. + session()->mutable_status_controller()-> + GetUnrestrictedMutableConflictProgressForTest(GROUP_PASSWORD)-> + AddSimpleConflictingItemById(syncable::Id()); + ExpectGroupToChange(command_, GROUP_PASSWORD); +} + +} // namespace + +} // namespace browser_sync |