OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/json/json_reader.h" | 5 #include "base/json/json_reader.h" |
6 #include "base/json/json_writer.h" | 6 #include "base/json/json_writer.h" |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/memory/ptr_util.h" | 8 #include "base/memory/ptr_util.h" |
9 #include "base/values.h" | 9 #include "base/values.h" |
10 #include "extensions/browser/value_store/value_store_change.h" | 10 #include "extensions/browser/value_store/value_store_change.h" |
11 #include "extensions/common/value_builder.h" | 11 #include "extensions/common/value_builder.h" |
12 #include "testing/gtest/include/gtest/gtest.h" | 12 #include "testing/gtest/include/gtest/gtest.h" |
13 | 13 |
14 using base::DictionaryValue; | 14 using base::DictionaryValue; |
15 using base::Value; | 15 using base::Value; |
16 using extensions::DictionaryBuilder; | 16 using extensions::DictionaryBuilder; |
17 using extensions::ListBuilder; | 17 using extensions::ListBuilder; |
18 | 18 |
19 namespace { | 19 namespace { |
20 | 20 |
21 TEST(ValueStoreChangeTest, NullOldValue) { | 21 TEST(ValueStoreChangeTest, NullOldValue) { |
22 ValueStoreChange change("key", nullptr, | 22 ValueStoreChange change("key", nullptr, |
23 base::MakeUnique<base::StringValue>("value")); | 23 base::MakeUnique<base::Value>("value")); |
24 | 24 |
25 EXPECT_EQ("key", change.key()); | 25 EXPECT_EQ("key", change.key()); |
26 EXPECT_EQ(NULL, change.old_value()); | 26 EXPECT_EQ(NULL, change.old_value()); |
27 { | 27 { |
28 base::StringValue expected("value"); | 28 base::Value expected("value"); |
29 EXPECT_TRUE(change.new_value()->Equals(&expected)); | 29 EXPECT_TRUE(change.new_value()->Equals(&expected)); |
30 } | 30 } |
31 } | 31 } |
32 | 32 |
33 TEST(ValueStoreChangeTest, NullNewValue) { | 33 TEST(ValueStoreChangeTest, NullNewValue) { |
34 ValueStoreChange change("key", base::MakeUnique<base::StringValue>("value"), | 34 ValueStoreChange change("key", base::MakeUnique<base::Value>("value"), |
35 nullptr); | 35 nullptr); |
36 | 36 |
37 EXPECT_EQ("key", change.key()); | 37 EXPECT_EQ("key", change.key()); |
38 { | 38 { |
39 base::StringValue expected("value"); | 39 base::Value expected("value"); |
40 EXPECT_TRUE(change.old_value()->Equals(&expected)); | 40 EXPECT_TRUE(change.old_value()->Equals(&expected)); |
41 } | 41 } |
42 EXPECT_EQ(NULL, change.new_value()); | 42 EXPECT_EQ(NULL, change.new_value()); |
43 } | 43 } |
44 | 44 |
45 TEST(ValueStoreChangeTest, NonNullValues) { | 45 TEST(ValueStoreChangeTest, NonNullValues) { |
46 ValueStoreChange change("key", | 46 ValueStoreChange change("key", base::MakeUnique<base::Value>("old_value"), |
47 base::MakeUnique<base::StringValue>("old_value"), | 47 base::MakeUnique<base::Value>("new_value")); |
48 base::MakeUnique<base::StringValue>("new_value")); | |
49 | 48 |
50 EXPECT_EQ("key", change.key()); | 49 EXPECT_EQ("key", change.key()); |
51 { | 50 { |
52 base::StringValue expected("old_value"); | 51 base::Value expected("old_value"); |
53 EXPECT_TRUE(change.old_value()->Equals(&expected)); | 52 EXPECT_TRUE(change.old_value()->Equals(&expected)); |
54 } | 53 } |
55 { | 54 { |
56 base::StringValue expected("new_value"); | 55 base::Value expected("new_value"); |
57 EXPECT_TRUE(change.new_value()->Equals(&expected)); | 56 EXPECT_TRUE(change.new_value()->Equals(&expected)); |
58 } | 57 } |
59 } | 58 } |
60 | 59 |
61 TEST(ValueStoreChangeTest, ToJson) { | 60 TEST(ValueStoreChangeTest, ToJson) { |
62 // Create a mildly complicated structure that has dots in it. | 61 // Create a mildly complicated structure that has dots in it. |
63 std::unique_ptr<base::DictionaryValue> value = | 62 std::unique_ptr<base::DictionaryValue> value = |
64 DictionaryBuilder() | 63 DictionaryBuilder() |
65 .Set("key", "value") | 64 .Set("key", "value") |
66 .Set("key.with.dots", "value.with.dots") | 65 .Set("key.with.dots", "value.with.dots") |
(...skipping 24 matching lines...) Expand all Loading... |
91 .Set("key.with.dots", DictionaryBuilder() | 90 .Set("key.with.dots", DictionaryBuilder() |
92 .Set("oldValue", v3.Build()) | 91 .Set("oldValue", v3.Build()) |
93 .Set("newValue", v4.Build()) | 92 .Set("newValue", v4.Build()) |
94 .Build()) | 93 .Build()) |
95 .Build(); | 94 .Build(); |
96 | 95 |
97 EXPECT_TRUE(from_json->Equals(expected_from_json.get())); | 96 EXPECT_TRUE(from_json->Equals(expected_from_json.get())); |
98 } | 97 } |
99 | 98 |
100 } // namespace | 99 } // namespace |
OLD | NEW |