1// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "sync/internal_api/public/engine/model_safe_worker.h" 6 7#include "base/memory/scoped_ptr.h" 8#include "base/values.h" 9#include "testing/gtest/include/gtest/gtest.h" 10 11namespace syncer { 12namespace { 13 14class ModelSafeWorkerTest : public ::testing::Test { 15}; 16 17TEST_F(ModelSafeWorkerTest, ModelSafeRoutingInfoToValue) { 18 ModelSafeRoutingInfo routing_info; 19 routing_info[BOOKMARKS] = GROUP_PASSIVE; 20 routing_info[NIGORI] = GROUP_UI; 21 routing_info[PREFERENCES] = GROUP_DB; 22 base::DictionaryValue expected_value; 23 expected_value.SetString("Bookmarks", "GROUP_PASSIVE"); 24 expected_value.SetString("Encryption keys", "GROUP_UI"); 25 expected_value.SetString("Preferences", "GROUP_DB"); 26 scoped_ptr<base::DictionaryValue> value( 27 ModelSafeRoutingInfoToValue(routing_info)); 28 EXPECT_TRUE(value->Equals(&expected_value)); 29} 30 31TEST_F(ModelSafeWorkerTest, ModelSafeRoutingInfoToString) { 32 ModelSafeRoutingInfo routing_info; 33 routing_info[BOOKMARKS] = GROUP_PASSIVE; 34 routing_info[NIGORI] = GROUP_UI; 35 routing_info[PREFERENCES] = GROUP_DB; 36 EXPECT_EQ( 37 "{\"Bookmarks\":\"GROUP_PASSIVE\",\"Encryption keys\":\"GROUP_UI\"," 38 "\"Preferences\":\"GROUP_DB\"}", 39 ModelSafeRoutingInfoToString(routing_info)); 40} 41 42TEST_F(ModelSafeWorkerTest, GetRoutingInfoTypes) { 43 ModelSafeRoutingInfo routing_info; 44 routing_info[BOOKMARKS] = GROUP_PASSIVE; 45 routing_info[NIGORI] = GROUP_UI; 46 routing_info[PREFERENCES] = GROUP_DB; 47 const ModelTypeSet expected_types(BOOKMARKS, NIGORI, PREFERENCES); 48 EXPECT_TRUE(GetRoutingInfoTypes(routing_info).Equals(expected_types)); 49} 50 51} // namespace 52} // namespace syncer 53