• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
TEST_F(ModelSafeWorkerTest,ModelSafeRoutingInfoToValue)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 
TEST_F(ModelSafeWorkerTest,ModelSafeRoutingInfoToString)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 
TEST_F(ModelSafeWorkerTest,GetRoutingInfoTypes)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