Use ScopedFPDFStructTree in tests.

Change-Id: Ia457942238ca2a9f48210c080a93412c09ae932c
Reviewed-on: https://pdfium-review.googlesource.com/42570
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/fpdfsdk/fpdf_structtree_embeddertest.cpp b/fpdfsdk/fpdf_structtree_embeddertest.cpp
index b638cdc..016d29d 100644
--- a/fpdfsdk/fpdf_structtree_embeddertest.cpp
+++ b/fpdfsdk/fpdf_structtree_embeddertest.cpp
@@ -15,62 +15,64 @@
   FPDF_PAGE page = LoadPage(0);
   ASSERT_TRUE(page);
 
-  FPDF_STRUCTTREE struct_tree = FPDF_StructTree_GetForPage(page);
-  ASSERT_TRUE(struct_tree);
-  ASSERT_EQ(1, FPDF_StructTree_CountChildren(struct_tree));
+  {
+    ScopedFPDFStructTree struct_tree(FPDF_StructTree_GetForPage(page));
+    ASSERT_TRUE(struct_tree);
+    ASSERT_EQ(1, FPDF_StructTree_CountChildren(struct_tree.get()));
 
-  FPDF_STRUCTELEMENT element = FPDF_StructTree_GetChildAtIndex(struct_tree, -1);
-  EXPECT_EQ(nullptr, element);
-  element = FPDF_StructTree_GetChildAtIndex(struct_tree, 1);
-  EXPECT_EQ(nullptr, element);
-  element = FPDF_StructTree_GetChildAtIndex(struct_tree, 0);
-  ASSERT_NE(nullptr, element);
-  EXPECT_EQ(-1, FPDF_StructElement_GetMarkedContentID(element));
-  EXPECT_EQ(0U, FPDF_StructElement_GetAltText(element, nullptr, 0));
+    FPDF_STRUCTELEMENT element =
+        FPDF_StructTree_GetChildAtIndex(struct_tree.get(), -1);
+    EXPECT_EQ(nullptr, element);
+    element = FPDF_StructTree_GetChildAtIndex(struct_tree.get(), 1);
+    EXPECT_EQ(nullptr, element);
+    element = FPDF_StructTree_GetChildAtIndex(struct_tree.get(), 0);
+    ASSERT_NE(nullptr, element);
+    EXPECT_EQ(-1, FPDF_StructElement_GetMarkedContentID(element));
+    EXPECT_EQ(0U, FPDF_StructElement_GetAltText(element, nullptr, 0));
 
-  ASSERT_EQ(1, FPDF_StructElement_CountChildren(element));
-  FPDF_STRUCTELEMENT child_element =
-      FPDF_StructElement_GetChildAtIndex(element, -1);
-  EXPECT_EQ(nullptr, child_element);
-  child_element = FPDF_StructElement_GetChildAtIndex(element, 1);
-  EXPECT_EQ(nullptr, child_element);
-  child_element = FPDF_StructElement_GetChildAtIndex(element, 0);
-  ASSERT_NE(nullptr, child_element);
-  EXPECT_EQ(-1, FPDF_StructElement_GetMarkedContentID(child_element));
-  EXPECT_EQ(0U, FPDF_StructElement_GetAltText(child_element, nullptr, 0));
+    ASSERT_EQ(1, FPDF_StructElement_CountChildren(element));
+    FPDF_STRUCTELEMENT child_element =
+        FPDF_StructElement_GetChildAtIndex(element, -1);
+    EXPECT_EQ(nullptr, child_element);
+    child_element = FPDF_StructElement_GetChildAtIndex(element, 1);
+    EXPECT_EQ(nullptr, child_element);
+    child_element = FPDF_StructElement_GetChildAtIndex(element, 0);
+    ASSERT_NE(nullptr, child_element);
+    EXPECT_EQ(-1, FPDF_StructElement_GetMarkedContentID(child_element));
+    EXPECT_EQ(0U, FPDF_StructElement_GetAltText(child_element, nullptr, 0));
 
-  ASSERT_EQ(1, FPDF_StructElement_CountChildren(child_element));
-  FPDF_STRUCTELEMENT gchild_element =
-      FPDF_StructElement_GetChildAtIndex(child_element, -1);
-  EXPECT_EQ(nullptr, gchild_element);
-  gchild_element = FPDF_StructElement_GetChildAtIndex(child_element, 1);
-  EXPECT_EQ(nullptr, gchild_element);
-  gchild_element = FPDF_StructElement_GetChildAtIndex(child_element, 0);
-  ASSERT_NE(nullptr, gchild_element);
-  EXPECT_EQ(-1, FPDF_StructElement_GetMarkedContentID(gchild_element));
-  ASSERT_EQ(24U, FPDF_StructElement_GetAltText(gchild_element, nullptr, 0));
+    ASSERT_EQ(1, FPDF_StructElement_CountChildren(child_element));
+    FPDF_STRUCTELEMENT gchild_element =
+        FPDF_StructElement_GetChildAtIndex(child_element, -1);
+    EXPECT_EQ(nullptr, gchild_element);
+    gchild_element = FPDF_StructElement_GetChildAtIndex(child_element, 1);
+    EXPECT_EQ(nullptr, gchild_element);
+    gchild_element = FPDF_StructElement_GetChildAtIndex(child_element, 0);
+    ASSERT_NE(nullptr, gchild_element);
+    EXPECT_EQ(-1, FPDF_StructElement_GetMarkedContentID(gchild_element));
+    ASSERT_EQ(24U, FPDF_StructElement_GetAltText(gchild_element, nullptr, 0));
 
-  unsigned short buffer[12];
-  memset(buffer, 0, sizeof(buffer));
-  // Deliberately pass in a small buffer size to make sure |buffer| remains
-  // untouched.
-  ASSERT_EQ(24U, FPDF_StructElement_GetAltText(gchild_element, buffer, 1));
-  for (size_t i = 0; i < FX_ArraySize(buffer); ++i)
-    EXPECT_EQ(0U, buffer[i]);
+    unsigned short buffer[12];
+    memset(buffer, 0, sizeof(buffer));
+    // Deliberately pass in a small buffer size to make sure |buffer| remains
+    // untouched.
+    ASSERT_EQ(24U, FPDF_StructElement_GetAltText(gchild_element, buffer, 1));
+    for (size_t i = 0; i < FX_ArraySize(buffer); ++i)
+      EXPECT_EQ(0U, buffer[i]);
 
-  EXPECT_EQ(-1, FPDF_StructElement_GetMarkedContentID(gchild_element));
-  ASSERT_EQ(24U, FPDF_StructElement_GetAltText(gchild_element, buffer,
-                                               sizeof(buffer)));
-  const wchar_t kExpected[] = L"Black Image";
-  EXPECT_EQ(WideString(kExpected),
-            WideString::FromUTF16LE(buffer, FXSYS_len(kExpected)));
+    EXPECT_EQ(-1, FPDF_StructElement_GetMarkedContentID(gchild_element));
+    ASSERT_EQ(24U, FPDF_StructElement_GetAltText(gchild_element, buffer,
+                                                 sizeof(buffer)));
+    const wchar_t kExpected[] = L"Black Image";
+    EXPECT_EQ(WideString(kExpected),
+              WideString::FromUTF16LE(buffer, FXSYS_len(kExpected)));
 
-  ASSERT_EQ(1, FPDF_StructElement_CountChildren(gchild_element));
-  FPDF_STRUCTELEMENT ggchild_element =
-      FPDF_StructElement_GetChildAtIndex(gchild_element, 0);
-  EXPECT_EQ(nullptr, ggchild_element);
+    ASSERT_EQ(1, FPDF_StructElement_CountChildren(gchild_element));
+    FPDF_STRUCTELEMENT ggchild_element =
+        FPDF_StructElement_GetChildAtIndex(gchild_element, 0);
+    EXPECT_EQ(nullptr, ggchild_element);
+  }
 
-  FPDF_StructTree_Close(struct_tree);
   UnloadPage(page);
 }
 
@@ -79,14 +81,16 @@
   FPDF_PAGE page = LoadPage(0);
   ASSERT_TRUE(page);
 
-  FPDF_STRUCTTREE struct_tree = FPDF_StructTree_GetForPage(page);
-  ASSERT_TRUE(struct_tree);
-  ASSERT_EQ(1, FPDF_StructTree_CountChildren(struct_tree));
+  {
+    ScopedFPDFStructTree struct_tree(FPDF_StructTree_GetForPage(page));
+    ASSERT_TRUE(struct_tree);
+    ASSERT_EQ(1, FPDF_StructTree_CountChildren(struct_tree.get()));
 
-  FPDF_STRUCTELEMENT element = FPDF_StructTree_GetChildAtIndex(struct_tree, 0);
-  EXPECT_EQ(0, FPDF_StructElement_GetMarkedContentID(element));
+    FPDF_STRUCTELEMENT element =
+        FPDF_StructTree_GetChildAtIndex(struct_tree.get(), 0);
+    EXPECT_EQ(0, FPDF_StructElement_GetMarkedContentID(element));
+  }
 
-  FPDF_StructTree_Close(struct_tree);
   UnloadPage(page);
 }
 
@@ -95,26 +99,28 @@
   FPDF_PAGE page = LoadPage(0);
   ASSERT_TRUE(page);
 
-  FPDF_STRUCTTREE struct_tree = FPDF_StructTree_GetForPage(page);
-  ASSERT_TRUE(struct_tree);
-  ASSERT_EQ(1, FPDF_StructTree_CountChildren(struct_tree));
+  {
+    ScopedFPDFStructTree struct_tree(FPDF_StructTree_GetForPage(page));
+    ASSERT_TRUE(struct_tree);
+    ASSERT_EQ(1, FPDF_StructTree_CountChildren(struct_tree.get()));
 
-  FPDF_STRUCTELEMENT element = FPDF_StructTree_GetChildAtIndex(struct_tree, 0);
-  ASSERT_NE(nullptr, element);
+    FPDF_STRUCTELEMENT element =
+        FPDF_StructTree_GetChildAtIndex(struct_tree.get(), 0);
+    ASSERT_NE(nullptr, element);
 
-  unsigned short buffer[12];
-  memset(buffer, 0, sizeof(buffer));
-  // Deliberately pass in a small buffer size to make sure |buffer| remains
-  // untouched.
-  ASSERT_EQ(18U, FPDF_StructElement_GetType(element, buffer, 1));
-  for (size_t i = 0; i < FX_ArraySize(buffer); ++i)
-    EXPECT_EQ(0U, buffer[i]);
+    unsigned short buffer[12];
+    memset(buffer, 0, sizeof(buffer));
+    // Deliberately pass in a small buffer size to make sure |buffer| remains
+    // untouched.
+    ASSERT_EQ(18U, FPDF_StructElement_GetType(element, buffer, 1));
+    for (size_t i = 0; i < FX_ArraySize(buffer); ++i)
+      EXPECT_EQ(0U, buffer[i]);
 
-  ASSERT_EQ(18U, FPDF_StructElement_GetType(element, buffer, sizeof(buffer)));
-  const wchar_t kExpected[] = L"Document";
-  EXPECT_EQ(WideString(kExpected),
-            WideString::FromUTF16LE(buffer, FXSYS_len(kExpected)));
+    ASSERT_EQ(18U, FPDF_StructElement_GetType(element, buffer, sizeof(buffer)));
+    const wchar_t kExpected[] = L"Document";
+    EXPECT_EQ(WideString(kExpected),
+              WideString::FromUTF16LE(buffer, FXSYS_len(kExpected)));
+  }
 
-  FPDF_StructTree_Close(struct_tree);
   UnloadPage(page);
 }