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 11 namespace syncer { 12 namespace { 13 14 class ModelSafeWorkerTest : public ::testing::Test { 15 }; 16 17 TEST_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 31 TEST_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 42 TEST_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