diff options
author | akalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-15 09:35:42 +0000 |
---|---|---|
committer | akalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-15 09:35:42 +0000 |
commit | c1c32c85357f14756247b04b8b5ae41b05bf2e16 (patch) | |
tree | 58f25f64e1fa592e8daf276ef69901cd2218f929 /sync/engine/model_changing_syncer_command_unittest.cc | |
parent | 63ee33bde2ec8471a70f0f0ec6a1962dd07fc8ab (diff) | |
download | chromium_src-c1c32c85357f14756247b04b8b5ae41b05bf2e16.zip chromium_src-c1c32c85357f14756247b04b8b5ae41b05bf2e16.tar.gz chromium_src-c1c32c85357f14756247b04b8b5ae41b05bf2e16.tar.bz2 |
[Sync] Move 'sync' target to sync/
Also move related test files.
Move WriteNode::UpdateEntryWithEncryption to nigori_util.h.
Clean up defines and dependencies. In particular, get rid of SYNC_ENGINE_VERSION_STRING and hard-code the string in the single place it's used.
Rename data_encryption.* to data_encryption_win.* and add a pragma for crypt32.lib.
Clean up exit-time constructor warnings in sync{able,er}_unittest.cc.
Remove some unused files.
BUG=117585
TEST=
TBR=jhawkins@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9699057
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126872 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sync/engine/model_changing_syncer_command_unittest.cc')
-rw-r--r-- | sync/engine/model_changing_syncer_command_unittest.cc | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/sync/engine/model_changing_syncer_command_unittest.cc b/sync/engine/model_changing_syncer_command_unittest.cc new file mode 100644 index 0000000..615ee51 --- /dev/null +++ b/sync/engine/model_changing_syncer_command_unittest.cc @@ -0,0 +1,77 @@ +// 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/compiler_specific.h" +#include "base/memory/ref_counted.h" +#include "sync/engine/model_changing_syncer_command.h" +#include "sync/sessions/sync_session.h" +#include "sync/syncable/model_type.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 FakeModelChangingSyncerCommand : public ModelChangingSyncerCommand { + public: + FakeModelChangingSyncerCommand() {} + virtual ~FakeModelChangingSyncerCommand() {} + + const std::set<ModelSafeGroup>& changed_groups() const { + return changed_groups_; + } + + protected: + virtual std::set<ModelSafeGroup> GetGroupsToChange( + const sessions::SyncSession& session) const OVERRIDE { + return session.GetEnabledGroups(); + } + + virtual SyncerError ModelChangingExecuteImpl( + sessions::SyncSession* session) OVERRIDE { + changed_groups_.insert(session->status_controller().group_restriction()); + return SYNCER_OK; + } + + private: + std::set<ModelSafeGroup> changed_groups_; + + DISALLOW_COPY_AND_ASSIGN(FakeModelChangingSyncerCommand); +}; + +class ModelChangingSyncerCommandTest : public SyncerCommandTest { + protected: + ModelChangingSyncerCommandTest() {} + virtual ~ModelChangingSyncerCommandTest() {} + + 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(); + } + + FakeModelChangingSyncerCommand command_; + + private: + DISALLOW_COPY_AND_ASSIGN(ModelChangingSyncerCommandTest); +}; + +TEST_F(ModelChangingSyncerCommandTest, Basic) { + ExpectGroupsToChange(command_, GROUP_UI, GROUP_PASSWORD, GROUP_PASSIVE); + EXPECT_TRUE(command_.changed_groups().empty()); + command_.ExecuteImpl(session()); + EXPECT_EQ(command_.GetGroupsToChangeForTest(*session()), + command_.changed_groups()); +} + +} // namespace + +} // namespace browser_sync |