| Index: base/values_unittest.cc
|
| diff --git a/base/values_unittest.cc b/base/values_unittest.cc
|
| index 3bcdc16e37e61919d59ea81a8088572f24e94c43..9a7eb2f2707012cad544f268209fd64be4e3d229 100644
|
| --- a/base/values_unittest.cc
|
| +++ b/base/values_unittest.cc
|
| @@ -789,10 +789,10 @@ TEST(ValuesTest, Equals) {
|
| std::unique_ptr<Value> null1(Value::CreateNullValue());
|
| std::unique_ptr<Value> null2(Value::CreateNullValue());
|
| EXPECT_NE(null1.get(), null2.get());
|
| - EXPECT_TRUE(null1->Equals(null2.get()));
|
| + EXPECT_EQ(*null1, *null2);
|
|
|
| Value boolean(false);
|
| - EXPECT_FALSE(null1->Equals(&boolean));
|
| + EXPECT_NE(*null1, boolean);
|
|
|
| DictionaryValue dv;
|
| dv.SetBoolean("a", false);
|
| @@ -803,7 +803,7 @@ TEST(ValuesTest, Equals) {
|
| dv.Set("e", Value::CreateNullValue());
|
|
|
| std::unique_ptr<DictionaryValue> copy = dv.CreateDeepCopy();
|
| - EXPECT_TRUE(dv.Equals(copy.get()));
|
| + EXPECT_EQ(dv, *copy);
|
|
|
| std::unique_ptr<ListValue> list(new ListValue);
|
| ListValue* original_list = list.get();
|
| @@ -812,19 +812,19 @@ TEST(ValuesTest, Equals) {
|
| std::unique_ptr<Value> list_copy(list->CreateDeepCopy());
|
|
|
| dv.Set("f", std::move(list));
|
| - EXPECT_FALSE(dv.Equals(copy.get()));
|
| + EXPECT_NE(dv, *copy);
|
| copy->Set("f", std::move(list_copy));
|
| - EXPECT_TRUE(dv.Equals(copy.get()));
|
| + EXPECT_EQ(dv, *copy);
|
|
|
| original_list->Append(MakeUnique<Value>(true));
|
| - EXPECT_FALSE(dv.Equals(copy.get()));
|
| + EXPECT_NE(dv, *copy);
|
|
|
| // Check if Equals detects differences in only the keys.
|
| copy = dv.CreateDeepCopy();
|
| - EXPECT_TRUE(dv.Equals(copy.get()));
|
| + EXPECT_EQ(dv, *copy);
|
| copy->Remove("a", NULL);
|
| copy->SetBoolean("aa", false);
|
| - EXPECT_FALSE(dv.Equals(copy.get()));
|
| + EXPECT_NE(dv, *copy);
|
| }
|
|
|
| TEST(ValuesTest, StaticEquals) {
|
| @@ -850,6 +850,126 @@ TEST(ValuesTest, StaticEquals) {
|
| EXPECT_FALSE(Value::Equals(NULL, null1.get()));
|
| }
|
|
|
| +TEST(ValuesTest, Comparisons) {
|
| + // Test None Values.
|
| + Value null1;
|
| + Value null2;
|
| + EXPECT_EQ(null1, null2);
|
| + EXPECT_FALSE(null1 != null2);
|
| + EXPECT_FALSE(null1 < null2);
|
| + EXPECT_FALSE(null1 > null2);
|
| + EXPECT_LE(null1, null2);
|
| + EXPECT_GE(null1, null2);
|
| +
|
| + // Test Bool Values.
|
| + Value bool1(false);
|
| + Value bool2(true);
|
| + EXPECT_FALSE(bool1 == bool2);
|
| + EXPECT_NE(bool1, bool2);
|
| + EXPECT_LT(bool1, bool2);
|
| + EXPECT_FALSE(bool1 > bool2);
|
| + EXPECT_LE(bool1, bool2);
|
| + EXPECT_FALSE(bool1 >= bool2);
|
| +
|
| + // Test Int Values.
|
| + Value int1(1);
|
| + Value int2(2);
|
| + EXPECT_FALSE(int1 == int2);
|
| + EXPECT_NE(int1, int2);
|
| + EXPECT_LT(int1, int2);
|
| + EXPECT_FALSE(int1 > int2);
|
| + EXPECT_LE(int1, int2);
|
| + EXPECT_FALSE(int1 >= int2);
|
| +
|
| + // Test Double Values.
|
| + Value double1(1.0);
|
| + Value double2(2.0);
|
| + EXPECT_FALSE(double1 == double2);
|
| + EXPECT_NE(double1, double2);
|
| + EXPECT_LT(double1, double2);
|
| + EXPECT_FALSE(double1 > double2);
|
| + EXPECT_LE(double1, double2);
|
| + EXPECT_FALSE(double1 >= double2);
|
| +
|
| + // Test String Values.
|
| + Value string1("1");
|
| + Value string2("2");
|
| + EXPECT_FALSE(string1 == string2);
|
| + EXPECT_NE(string1, string2);
|
| + EXPECT_LT(string1, string2);
|
| + EXPECT_FALSE(string1 > string2);
|
| + EXPECT_LE(string1, string2);
|
| + EXPECT_FALSE(string1 >= string2);
|
| +
|
| + // Test Binary Values.
|
| + Value binary1(std::vector<char>{0x01});
|
| + Value binary2(std::vector<char>{0x02});
|
| + EXPECT_FALSE(binary1 == binary2);
|
| + EXPECT_NE(binary1, binary2);
|
| + EXPECT_LT(binary1, binary2);
|
| + EXPECT_FALSE(binary1 > binary2);
|
| + EXPECT_LE(binary1, binary2);
|
| + EXPECT_FALSE(binary1 >= binary2);
|
| +
|
| + // Test Empty List Values.
|
| + ListValue null_list1;
|
| + ListValue null_list2;
|
| + EXPECT_EQ(null_list1, null_list2);
|
| + EXPECT_FALSE(null_list1 != null_list2);
|
| + EXPECT_FALSE(null_list1 < null_list2);
|
| + EXPECT_FALSE(null_list1 > null_list2);
|
| + EXPECT_LE(null_list1, null_list2);
|
| + EXPECT_GE(null_list1, null_list2);
|
| +
|
| + // Test Non Empty List Values.
|
| + ListValue int_list1;
|
| + ListValue int_list2;
|
| + int_list1.AppendInteger(1);
|
| + int_list2.AppendInteger(2);
|
| + EXPECT_FALSE(int_list1 == int_list2);
|
| + EXPECT_NE(int_list1, int_list2);
|
| + EXPECT_LT(int_list1, int_list2);
|
| + EXPECT_FALSE(int_list1 > int_list2);
|
| + EXPECT_LE(int_list1, int_list2);
|
| + EXPECT_FALSE(int_list1 >= int_list2);
|
| +
|
| + // Test Empty Dict Values.
|
| + DictionaryValue null_dict1;
|
| + DictionaryValue null_dict2;
|
| + EXPECT_EQ(null_dict1, null_dict2);
|
| + EXPECT_FALSE(null_dict1 != null_dict2);
|
| + EXPECT_FALSE(null_dict1 < null_dict2);
|
| + EXPECT_FALSE(null_dict1 > null_dict2);
|
| + EXPECT_LE(null_dict1, null_dict2);
|
| + EXPECT_GE(null_dict1, null_dict2);
|
| +
|
| + // Test Non Empty Dict Values.
|
| + DictionaryValue int_dict1;
|
| + DictionaryValue int_dict2;
|
| + int_dict1.SetInteger("key", 1);
|
| + int_dict2.SetInteger("key", 2);
|
| + EXPECT_FALSE(int_dict1 == int_dict2);
|
| + EXPECT_NE(int_dict1, int_dict2);
|
| + EXPECT_LT(int_dict1, int_dict2);
|
| + EXPECT_FALSE(int_dict1 > int_dict2);
|
| + EXPECT_LE(int_dict1, int_dict2);
|
| + EXPECT_FALSE(int_dict1 >= int_dict2);
|
| +
|
| + // Test Values of different types.
|
| + std::vector<Value> values = {null1, bool1, int1, double1,
|
| + string1, binary1, int_dict1, int_list1};
|
| + for (size_t i = 0; i < values.size(); ++i) {
|
| + for (size_t j = i + 1; j < values.size(); ++j) {
|
| + EXPECT_FALSE(values[i] == values[j]);
|
| + EXPECT_NE(values[i], values[j]);
|
| + EXPECT_LT(values[i], values[j]);
|
| + EXPECT_FALSE(values[i] > values[j]);
|
| + EXPECT_LE(values[i], values[j]);
|
| + EXPECT_FALSE(values[i] >= values[j]);
|
| + }
|
| + }
|
| +}
|
| +
|
| TEST(ValuesTest, DeepCopyCovariantReturnTypes) {
|
| DictionaryValue original_dict;
|
| std::unique_ptr<Value> scoped_null(Value::CreateNullValue());
|
| @@ -895,15 +1015,15 @@ TEST(ValuesTest, DeepCopyCovariantReturnTypes) {
|
| std::unique_ptr<Value> copy_binary = original_binary->CreateDeepCopy();
|
| std::unique_ptr<Value> copy_list = original_list->CreateDeepCopy();
|
|
|
| - EXPECT_TRUE(original_dict.Equals(copy_dict.get()));
|
| - EXPECT_TRUE(original_null->Equals(copy_null.get()));
|
| - EXPECT_TRUE(original_bool->Equals(copy_bool.get()));
|
| - EXPECT_TRUE(original_int->Equals(copy_int.get()));
|
| - EXPECT_TRUE(original_double->Equals(copy_double.get()));
|
| - EXPECT_TRUE(original_string->Equals(copy_string.get()));
|
| - EXPECT_TRUE(original_string16->Equals(copy_string16.get()));
|
| - EXPECT_TRUE(original_binary->Equals(copy_binary.get()));
|
| - EXPECT_TRUE(original_list->Equals(copy_list.get()));
|
| + EXPECT_EQ(original_dict, *copy_dict);
|
| + EXPECT_EQ(*original_null, *copy_null);
|
| + EXPECT_EQ(*original_bool, *copy_bool);
|
| + EXPECT_EQ(*original_int, *copy_int);
|
| + EXPECT_EQ(*original_double, *copy_double);
|
| + EXPECT_EQ(*original_string, *copy_string);
|
| + EXPECT_EQ(*original_string16, *copy_string16);
|
| + EXPECT_EQ(*original_binary, *copy_binary);
|
| + EXPECT_EQ(*original_list, *copy_list);
|
| }
|
|
|
| TEST(ValuesTest, RemoveEmptyChildren) {
|
| @@ -1073,7 +1193,7 @@ TEST(ValuesTest, DictionaryIterator) {
|
| for (DictionaryValue::Iterator it(dict); !it.IsAtEnd(); it.Advance()) {
|
| EXPECT_FALSE(seen1);
|
| EXPECT_EQ("key1", it.key());
|
| - EXPECT_TRUE(value1.Equals(&it.value()));
|
| + EXPECT_EQ(value1, it.value());
|
| seen1 = true;
|
| }
|
| EXPECT_TRUE(seen1);
|
| @@ -1084,11 +1204,11 @@ TEST(ValuesTest, DictionaryIterator) {
|
| for (DictionaryValue::Iterator it(dict); !it.IsAtEnd(); it.Advance()) {
|
| if (it.key() == "key1") {
|
| EXPECT_FALSE(seen1);
|
| - EXPECT_TRUE(value1.Equals(&it.value()));
|
| + EXPECT_EQ(value1, it.value());
|
| seen1 = true;
|
| } else if (it.key() == "key2") {
|
| EXPECT_FALSE(seen2);
|
| - EXPECT_TRUE(value2.Equals(&it.value()));
|
| + EXPECT_EQ(value2, it.value());
|
| seen2 = true;
|
| } else {
|
| ADD_FAILURE();
|
|
|