Index: base/values_unittest.cc |
diff --git a/base/values_unittest.cc b/base/values_unittest.cc |
index 97807efe6eade5365d58dd36902a73a52087a5a9..de6cb8aedf99d0efc55ee8b9e99ef27faee27229 100644 |
--- a/base/values_unittest.cc |
+++ b/base/values_unittest.cc |
@@ -30,6 +30,9 @@ TEST(ValuesTest, TestNothrow) { |
static_assert( |
std::is_nothrow_constructible<Value, Value::BlobStorage&&>::value, |
"IsNothrowMoveConstructibleFromBlob"); |
+ static_assert( |
+ std::is_nothrow_constructible<Value, Value::ListStorage&&>::value, |
+ "IsNothrowMoveConstructibleFromList"); |
static_assert(std::is_nothrow_move_assignable<Value>::value, |
"IsNothrowMoveAssignable"); |
} |
@@ -216,25 +219,14 @@ TEST(ValuesTest, CopyDictionary) { |
} |
TEST(ValuesTest, CopyList) { |
- // TODO(crbug.com/646113): Clean this up once ListValue switched to |
- // value semantics. |
- int copy; |
- ListValue value; |
- value.AppendInteger(123); |
- |
- ListValue copied_value(value); |
- copied_value.GetInteger(0, ©); |
+ Value value(Value::ListStorage{Value(123)}); |
- EXPECT_EQ(value.type(), copied_value.type()); |
- EXPECT_EQ(123, copy); |
- |
- auto blank = MakeUnique<Value>(); |
- |
- *blank = value; |
- EXPECT_EQ(Value::Type::LIST, blank->type()); |
+ Value copied_value(value); |
+ EXPECT_EQ(value, copied_value); |
- static_cast<ListValue*>(blank.get())->GetInteger(0, ©); |
- EXPECT_EQ(123, copy); |
+ Value blank; |
+ blank = value; |
+ EXPECT_EQ(value, blank); |
} |
// Group of tests for the move constructors and move-assigmnent. |
@@ -333,22 +325,17 @@ TEST(ValuesTest, MoveDictionary) { |
} |
TEST(ValuesTest, MoveList) { |
- // TODO(crbug.com/646113): Clean this up once ListValue switched to |
- // value semantics. |
- int move; |
- ListValue value; |
- value.AppendInteger(123); |
- |
- ListValue moved_value(std::move(value)); |
- moved_value.GetInteger(0, &move); |
- |
+ const Value::ListStorage list = {Value(123)}; |
+ Value value(list); |
+ Value moved_value(std::move(value)); |
EXPECT_EQ(Value::Type::LIST, moved_value.type()); |
- EXPECT_EQ(123, move); |
+ EXPECT_EQ(123, moved_value.GetList().back().GetInt()); |
Value blank; |
- blank = ListValue(); |
+ blank = Value(list); |
EXPECT_EQ(Value::Type::LIST, blank.type()); |
+ EXPECT_EQ(123, blank.GetList().back().GetInt()); |
} |
TEST(ValuesTest, Basic) { |