diff --git a/dbus/values_util_unittest.cc b/dbus/values_util_unittest.cc
index 2156c15..8d04bca 100644
--- a/dbus/values_util_unittest.cc
+++ b/dbus/values_util_unittest.cc
@@ -204,7 +204,7 @@
   // Create the expected value.
   std::unique_ptr<base::ListValue> list_value(new base::ListValue);
   for (size_t i = 0; i != data.size(); ++i)
-    list_value->Append(new base::FundamentalValue(data[i]));
+    list_value->AppendInteger(data[i]);
 
   // Pop an int32_t array.
   MessageReader reader(response.get());
@@ -227,7 +227,7 @@
   // Create the expected value.
   std::unique_ptr<base::ListValue> list_value(new base::ListValue);
   for (size_t i = 0; i != data.size(); ++i)
-    list_value->Append(new base::StringValue(data[i]));
+    list_value->AppendString(data[i]);
 
   // Pop a string array.
   MessageReader reader(response.get());
@@ -254,10 +254,10 @@
 
   // Create the expected value.
   base::ListValue list_value;
-  list_value.Append(new base::FundamentalValue(kBoolValue));
-  list_value.Append(new base::FundamentalValue(kInt32Value));
-  list_value.Append(new base::FundamentalValue(kDoubleValue));
-  list_value.Append(new base::StringValue(kStringValue));
+  list_value.AppendBoolean(kBoolValue);
+  list_value.AppendInteger(kInt32Value);
+  list_value.AppendDouble(kDoubleValue);
+  list_value.AppendString(kStringValue);
 
   // Pop a struct.
   MessageReader reader(response.get());
