// Copyright (c) 2011 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 "chrome/browser/sync/syncable/nigori_util.h" #include "testing/gtest/include/gtest/gtest.h" namespace syncable { typedef testing::Test NigoriUtilTest; TEST_F(NigoriUtilTest, NigoriEncryptionTypes) { sync_pb::NigoriSpecifics nigori; ModelTypeSet encrypted_types; FillNigoriEncryptedTypes(encrypted_types, &nigori); ModelTypeSet test_types = GetEncryptedDataTypesFromNigori(nigori); EXPECT_EQ(encrypted_types, test_types); for (int i = FIRST_REAL_MODEL_TYPE; i < MODEL_TYPE_COUNT; ++i) { encrypted_types.insert(ModelTypeFromInt(i)); } FillNigoriEncryptedTypes(encrypted_types, &nigori); test_types = GetEncryptedDataTypesFromNigori(nigori); encrypted_types.erase(syncable::NIGORI); // Should not get set. encrypted_types.erase(syncable::PASSWORDS); // Should not get set. EXPECT_EQ(encrypted_types, test_types); encrypted_types.erase(syncable::BOOKMARKS); encrypted_types.erase(syncable::SESSIONS); FillNigoriEncryptedTypes(encrypted_types, &nigori); test_types = GetEncryptedDataTypesFromNigori(nigori); EXPECT_EQ(encrypted_types, test_types); } // ProcessUnsyncedChangesForEncryption and other methods that rely on the syncer // are tested in apply_updates_command_unittest.cc } // namespace syncable