Remove some bare |delete| from tests in favor of unique_ptr<>.
Ideally, we'd like to remove all the bare |delete| from the
codebase over time.
Change-Id: Ia9b2338c12384e1705677ba295a5eeafec200ba7
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/54590
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fxcrt/observable_unittest.cpp b/core/fxcrt/observable_unittest.cpp
index 4f86aba..0c84c5d 100644
--- a/core/fxcrt/observable_unittest.cpp
+++ b/core/fxcrt/observable_unittest.cpp
@@ -8,6 +8,7 @@
#include <vector>
#include "testing/gtest/include/gtest/gtest.h"
+#include "third_party/base/ptr_util.h"
namespace fxcrt {
namespace {
@@ -31,11 +32,13 @@
}
TEST(ObservePtr, LivesLonger) {
- PseudoObservable* pObs = new PseudoObservable;
- PseudoObservable::ObservedPtr ptr(pObs);
- EXPECT_NE(nullptr, ptr.Get());
- EXPECT_EQ(1u, pObs->ActiveObservedPtrs());
- delete pObs;
+ PseudoObservable::ObservedPtr ptr;
+ {
+ auto pObs = pdfium::MakeUnique<PseudoObservable>();
+ ptr.Reset(pObs.get());
+ EXPECT_NE(nullptr, ptr.Get());
+ EXPECT_EQ(1u, pObs->ActiveObservedPtrs());
+ }
EXPECT_EQ(nullptr, ptr.Get());
}
diff --git a/core/fxcrt/unowned_ptr_unittest.cpp b/core/fxcrt/unowned_ptr_unittest.cpp
index 26dffd4..8d3c1b4 100644
--- a/core/fxcrt/unowned_ptr_unittest.cpp
+++ b/core/fxcrt/unowned_ptr_unittest.cpp
@@ -8,6 +8,7 @@
#include <vector>
#include "testing/gtest/include/gtest/gtest.h"
+#include "third_party/base/ptr_util.h"
namespace fxcrt {
namespace {
@@ -18,39 +19,39 @@
};
void DeleteDangling() {
- Clink* ptr1 = new Clink();
- Clink* ptr2 = new Clink();
- ptr2->next_ = ptr1;
- delete ptr1;
- delete ptr2;
+ auto ptr2 = pdfium::MakeUnique<Clink>();
+ {
+ auto ptr1 = pdfium::MakeUnique<Clink>();
+ ptr2->next_ = ptr1.get();
+ }
}
void AssignDangling() {
- Clink* ptr1 = new Clink();
- Clink* ptr2 = new Clink();
- ptr2->next_ = ptr1;
- delete ptr1;
+ auto ptr2 = pdfium::MakeUnique<Clink>();
+ {
+ auto ptr1 = pdfium::MakeUnique<Clink>();
+ ptr2->next_ = ptr1.get();
+ }
ptr2->next_ = nullptr;
- delete ptr2;
}
void ReleaseDangling() {
- Clink* ptr1 = new Clink();
- Clink* ptr2 = new Clink();
- ptr2->next_ = ptr1;
- delete ptr1;
+ auto ptr2 = pdfium::MakeUnique<Clink>();
+ {
+ auto ptr1 = pdfium::MakeUnique<Clink>();
+ ptr2->next_ = ptr1.get();
+ }
ptr2->next_.Release();
- delete ptr2;
}
} // namespace
TEST(UnownedPtr, PtrOk) {
- Clink* ptr1 = new Clink();
- Clink* ptr2 = new Clink();
- ptr2->next_ = ptr1;
- delete ptr2;
- delete ptr1;
+ auto ptr1 = pdfium::MakeUnique<Clink>();
+ {
+ auto ptr2 = pdfium::MakeUnique<Clink>();
+ ptr2->next_ = ptr1.get();
+ }
}
TEST(UnownedPtr, PtrNotOk) {
@@ -62,12 +63,12 @@
}
TEST(UnownedPtr, AssignOk) {
- Clink* ptr1 = new Clink();
- Clink* ptr2 = new Clink();
- ptr2->next_ = ptr1;
- ptr2->next_ = nullptr;
- delete ptr2;
- delete ptr1;
+ auto ptr1 = pdfium::MakeUnique<Clink>();
+ {
+ auto ptr2 = pdfium::MakeUnique<Clink>();
+ ptr2->next_ = ptr1.get();
+ ptr2->next_ = nullptr;
+ }
}
TEST(UnownedPtr, AssignNotOk) {
@@ -79,12 +80,12 @@
}
TEST(UnownedPtr, ReleaseOk) {
- Clink* ptr1 = new Clink();
- Clink* ptr2 = new Clink();
- ptr2->next_ = ptr1;
- ptr2->next_.Release();
- delete ptr1;
- delete ptr2;
+ auto ptr2 = pdfium::MakeUnique<Clink>();
+ {
+ auto ptr1 = pdfium::MakeUnique<Clink>();
+ ptr2->next_ = ptr1.get();
+ ptr2->next_.Release();
+ }
}
TEST(UnownedPtr, ReleaseNotOk) {