| Index: base/memory/ptr_util_unittest.cc | 
| diff --git a/base/memory/ptr_util_unittest.cc b/base/memory/ptr_util_unittest.cc | 
| index 5a90b8e7ffd7db68967669d18134169a24ca0da7..b0593bf8a8365f58147e7546e6f1e8a3e9ea96e1 100644 | 
| --- a/base/memory/ptr_util_unittest.cc | 
| +++ b/base/memory/ptr_util_unittest.cc | 
| @@ -23,6 +23,19 @@ class DeleteCounter { | 
| static size_t count_; | 
| }; | 
|  | 
| +struct SumUpDeleter { | 
| +  explicit SumUpDeleter(int* value) : value_(value) { | 
| +  } | 
| + | 
| +  void operator()(int* x) { | 
| +    if (x) | 
| +      *value_ += *x; | 
| +    delete x; | 
| +  } | 
| + | 
| +  int* value_; | 
| +}; | 
| + | 
| size_t DeleteCounter::count_ = 0; | 
|  | 
| }  // namespace | 
| @@ -37,6 +50,14 @@ TEST(PtrUtilTest, WrapUnique) { | 
| EXPECT_EQ(0u, DeleteCounter::count()); | 
| } | 
|  | 
| +TEST(PtrUtilTest, WrapUniqueWithDeleter) { | 
| +  int sum = 0; | 
| +  auto p = WrapUnique(new int(42), SumUpDeleter(&sum)); | 
| +  EXPECT_EQ(0, sum); | 
| +  p = nullptr; | 
| +  EXPECT_EQ(42, sum); | 
| +} | 
| + | 
| TEST(PtrUtilTest, MakeUniqueScalar) { | 
| auto s = MakeUnique<std::string>(); | 
| EXPECT_EQ("", *s); | 
|  |