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.
5 #include "sync/internal_api/public/engine/model_safe_worker.h"
7 #include "base/memory/scoped_ptr.h"
8 #include "base/values.h"
9 #include "testing/gtest/include/gtest/gtest.h"
14 class ModelSafeWorkerTest
: public ::testing::Test
{
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
));
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
;
37 "{\"Bookmarks\":\"GROUP_PASSIVE\",\"Encryption keys\":\"GROUP_UI\","
38 "\"Preferences\":\"GROUP_DB\"}",
39 ModelSafeRoutingInfoToString(routing_info
));
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
));