Check more functions returing bool in tests.

Fallout from marking many bool functions [[nodiscard]] and resolving
subsequent warnings. It is straightforward to add expectations to
tests.

-- Asserts current behavior to avoid regressions.

Change-Id: Ib3c520d6c276c086c2f89d7334277d12ac2fe9d2
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/129510
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Thomas Sepez <tsepez@google.com>
Reviewed-by: Lei Zhang <thestig@chromium.org>
diff --git a/core/fpdfapi/edit/cpdf_pagecontentgenerator_unittest.cpp b/core/fpdfapi/edit/cpdf_pagecontentgenerator_unittest.cpp
index 75d7fe7..12be2da 100644
--- a/core/fpdfapi/edit/cpdf_pagecontentgenerator_unittest.cpp
+++ b/core/fpdfapi/edit/cpdf_pagecontentgenerator_unittest.cpp
@@ -418,7 +418,7 @@
   // The generated stream for the empty form should be an empty string.
   CPDF_PageContentGenerator generator(pTestForm.get());
   fxcrt::ostringstream buf;
-  generator.ProcessPageObjects(&buf);
+  EXPECT_FALSE(generator.ProcessPageObjects(&buf));
   EXPECT_EQ("", ByteString(buf));
 }
 
@@ -440,7 +440,7 @@
 
   CPDF_PageContentGenerator generator(pTestForm.get());
   fxcrt::ostringstream process_buf;
-  generator.ProcessPageObjects(&process_buf);
+  ASSERT_TRUE(generator.ProcessPageObjects(&process_buf));
   EXPECT_EQ(
       "q 3.102 4.6700001 m 5.4500012 .28999999 l 4.2399998 3.14"
       "99999 4.6500001 2.98 3.4560001 .23999999 c 3.102 4.6700001 l h f Q\n",
diff --git a/core/fpdfapi/parser/cpdf_array_unittest.cpp b/core/fpdfapi/parser/cpdf_array_unittest.cpp
index 1c3cf95..18745d5 100644
--- a/core/fpdfapi/parser/cpdf_array_unittest.cpp
+++ b/core/fpdfapi/parser/cpdf_array_unittest.cpp
@@ -148,8 +148,8 @@
         auto obj = pdfium::MakeRetain<CPDF_Number>(elems[i][j]);
         // Starts object number from 1.
         int obj_num = i * kNumOfColumns + j + 1;
-        obj_holder->ReplaceIndirectObjectIfHigherGeneration(obj_num,
-                                                            std::move(obj));
+        ASSERT_TRUE(obj_holder->ReplaceIndirectObjectIfHigherGeneration(
+            obj_num, std::move(obj)));
         arr_elem->InsertNewAt<CPDF_Reference>(j, obj_holder.get(), obj_num);
       }
       arr->InsertAt(i, std::move(arr_elem));
diff --git a/core/fpdfapi/parser/cpdf_object_unittest.cpp b/core/fpdfapi/parser/cpdf_object_unittest.cpp
index 520e977..184d448 100644
--- a/core/fpdfapi/parser/cpdf_object_unittest.cpp
+++ b/core/fpdfapi/parser/cpdf_object_unittest.cpp
@@ -806,8 +806,8 @@
   auto arr1 = pdfium::MakeRetain<CPDF_Array>();
   // Create two arrays of references by different AddReference() APIs.
   for (size_t i = 0; i < std::size(indirect_objs); ++i) {
-    holder->ReplaceIndirectObjectIfHigherGeneration(obj_nums[i],
-                                                    indirect_objs[i]);
+    ASSERT_TRUE(holder->ReplaceIndirectObjectIfHigherGeneration(
+        obj_nums[i], indirect_objs[i]));
     arr->AppendNew<CPDF_Reference>(holder.get(), obj_nums[i]);
     arr1->AppendNew<CPDF_Reference>(holder.get(),
                                     indirect_objs[i]->GetObjNum());
diff --git a/core/fpdfapi/parser/cpdf_read_validator_unittest.cpp b/core/fpdfapi/parser/cpdf_read_validator_unittest.cpp
index bb3006a..dda0fa7 100644
--- a/core/fpdfapi/parser/cpdf_read_validator_unittest.cpp
+++ b/core/fpdfapi/parser/cpdf_read_validator_unittest.cpp
@@ -175,7 +175,8 @@
   ASSERT_FALSE(validator->has_read_problems());
 
   // Data is unavailable
-  validator->ReadBlockAtOffset(pdfium::make_span(test_data).first(100), 0);
+  ASSERT_FALSE(
+      validator->ReadBlockAtOffset(pdfium::make_span(test_data).first(100), 0));
   EXPECT_TRUE(validator->has_read_problems());
   EXPECT_TRUE(validator->has_unavailable_data());
   EXPECT_FALSE(validator->read_error());
@@ -187,7 +188,8 @@
 
     file_avail.SetAvailableRange(0, 100);
     // Read fail.
-    validator->ReadBlockAtOffset(pdfium::make_span(test_data).first(100), 0);
+    ASSERT_FALSE(validator->ReadBlockAtOffset(
+        pdfium::make_span(test_data).first(100), 0));
     EXPECT_TRUE(validator->has_read_problems());
     EXPECT_TRUE(validator->has_unavailable_data());
     EXPECT_TRUE(validator->read_error());
@@ -213,7 +215,8 @@
   ASSERT_FALSE(validator->has_read_problems());
 
   // Data is unavailable
-  validator->ReadBlockAtOffset(pdfium::make_span(test_data).first(100), 0);
+  ASSERT_FALSE(
+      validator->ReadBlockAtOffset(pdfium::make_span(test_data).first(100), 0));
   EXPECT_TRUE(validator->has_read_problems());
   EXPECT_TRUE(validator->has_unavailable_data());
   EXPECT_FALSE(validator->read_error());
@@ -225,7 +228,8 @@
 
     file_avail.SetAvailableRange(0, 100);
     // Read fail.
-    validator->ReadBlockAtOffset(pdfium::make_span(test_data).first(100), 0);
+    ASSERT_FALSE(validator->ReadBlockAtOffset(
+        pdfium::make_span(test_data).first(100), 0));
     EXPECT_TRUE(validator->has_read_problems());
     EXPECT_TRUE(validator->has_unavailable_data());
     EXPECT_TRUE(validator->read_error());
diff --git a/core/fxge/dib/cstretchengine_unittest.cpp b/core/fxge/dib/cstretchengine_unittest.cpp
index d85a577..dbfac83 100644
--- a/core/fxge/dib/cstretchengine_unittest.cpp
+++ b/core/fxge/dib/cstretchengine_unittest.cpp
@@ -76,7 +76,7 @@
   RetainPtr<CPDF_Stream> stream =
       pdfium::MakeRetain<CPDF_Stream>(std::move(dict_obj));
   auto dib_source = pdfium::MakeRetain<CPDF_DIB>(nullptr, stream);
-  dib_source->Load();
+  EXPECT_FALSE(dib_source->Load());  // Fail to load due to dimensions.
   CStretchEngine engine(nullptr, FXDIB_Format::k8bppRgb, 500, 500, clip_rect,
                         dib_source, FXDIB_ResampleOptions());
   EXPECT_TRUE(engine.GetResampleOptionsForTest().bInterpolateBilinear);
diff --git a/core/fxge/fx_font_unittest.cpp b/core/fxge/fx_font_unittest.cpp
index 324cca8..a505a4e 100644
--- a/core/fxge/fx_font_unittest.cpp
+++ b/core/fxge/fx_font_unittest.cpp
@@ -34,7 +34,7 @@
 
 TEST(FXFontTest, ReadFontNameFromMicrosoftEntries) {
   std::string test_data_dir;
-  PathService::GetTestDataDir(&test_data_dir);
+  ASSERT_TRUE(PathService::GetTestDataDir(&test_data_dir));
   DCHECK(!test_data_dir.empty());
 
   CFX_FontMapper font_mapper(nullptr);
diff --git a/fpdfsdk/fpdf_edit_embeddertest.cpp b/fpdfsdk/fpdf_edit_embeddertest.cpp
index fdec13a..2f27f48 100644
--- a/fpdfsdk/fpdf_edit_embeddertest.cpp
+++ b/fpdfsdk/fpdf_edit_embeddertest.cpp
@@ -5304,7 +5304,7 @@
   static constexpr int kExpectedWidth = 200;
   static constexpr int kExpectedHeight = 200;
 
-  OpenDocument("form_object_with_text.pdf");
+  ASSERT_TRUE(OpenDocument("form_object_with_text.pdf"));
   ScopedEmbedderTestPage page = LoadScopedPage(0);
   ASSERT_TRUE(page);
 
diff --git a/fpdfsdk/fpdf_editimg_embeddertest.cpp b/fpdfsdk/fpdf_editimg_embeddertest.cpp
index 67574ed..52f1eba 100644
--- a/fpdfsdk/fpdf_editimg_embeddertest.cpp
+++ b/fpdfsdk/fpdf_editimg_embeddertest.cpp
@@ -181,7 +181,7 @@
   static constexpr char kExpectedChecksum[] =
       "617b1d57c30c516beee86e0781ff7810";
 
-  OpenDocument("bug_2132.pdf");
+  ASSERT_TRUE(OpenDocument("bug_2132.pdf"));
   ScopedEmbedderTestPage page = LoadScopedPage(0);
   ASSERT_TRUE(page);
 
@@ -230,7 +230,7 @@
   static constexpr char kExpectedChecksum[] =
       "fcb9007fd901d2052e2bd1c147b82800";
 
-  OpenDocument("form_object_with_image.pdf");
+  ASSERT_TRUE(OpenDocument("form_object_with_image.pdf"));
   ScopedEmbedderTestPage page = LoadScopedPage(0);
   ASSERT_TRUE(page);
 
diff --git a/fpdfsdk/fpdf_editpath_embeddertest.cpp b/fpdfsdk/fpdf_editpath_embeddertest.cpp
index f295c23..fff2f8b 100644
--- a/fpdfsdk/fpdf_editpath_embeddertest.cpp
+++ b/fpdfsdk/fpdf_editpath_embeddertest.cpp
@@ -91,7 +91,7 @@
 }
 
 TEST_F(FPDFEditPathEmbedderTest, GetAndSetMatrixForPath) {
-  OpenDocument("rectangles_double_flipped.pdf");
+  ASSERT_TRUE(OpenDocument("rectangles_double_flipped.pdf"));
   ScopedEmbedderTestPage page = LoadScopedPage(0);
   ASSERT_TRUE(page);
 
@@ -136,7 +136,7 @@
 }
 
 TEST_F(FPDFEditPathEmbedderTest, GetAndSetMatrixForFormWithPath) {
-  OpenDocument("form_object_with_path.pdf");
+  ASSERT_TRUE(OpenDocument("form_object_with_path.pdf"));
   ScopedEmbedderTestPage page = LoadScopedPage(0);
   ASSERT_TRUE(page);
 
@@ -200,7 +200,7 @@
 }
 
 TEST_F(FPDFEditPathEmbedderTest, AddPathToRectangles) {
-  OpenDocument("rectangles.pdf");
+  ASSERT_TRUE(OpenDocument("rectangles.pdf"));
   ScopedEmbedderTestPage page = LoadScopedPage(0);
   ASSERT_TRUE(page);
 
@@ -235,7 +235,7 @@
 }
 
 TEST_F(FPDFEditPathEmbedderTest, AddPathToRectanglesWithLeakyCTM) {
-  OpenDocument("rectangles_with_leaky_ctm.pdf");
+  ASSERT_TRUE(OpenDocument("rectangles_with_leaky_ctm.pdf"));
   ScopedEmbedderTestPage page = LoadScopedPage(0);
   ASSERT_TRUE(page);
 
diff --git a/fxbarcode/oned/BC_OnedCodaBarWriter_unittest.cpp b/fxbarcode/oned/BC_OnedCodaBarWriter_unittest.cpp
index e767935..e2500c7 100644
--- a/fxbarcode/oned/BC_OnedCodaBarWriter_unittest.cpp
+++ b/fxbarcode/oned/BC_OnedCodaBarWriter_unittest.cpp
@@ -104,8 +104,8 @@
   EXPECT_FALSE(writer.SetEndChar('\0'));
   EXPECT_FALSE(writer.SetEndChar('@'));
 
-  writer.SetStartChar('N');
-  writer.SetEndChar('*');
+  EXPECT_TRUE(writer.SetStartChar('N'));
+  EXPECT_TRUE(writer.SetEndChar('*'));
 
   static const char kExpected[] =
       "#  #  # ## "  // N (same as B) Start
diff --git a/fxbarcode/oned/BC_OnedCode39Writer_unittest.cpp b/fxbarcode/oned/BC_OnedCode39Writer_unittest.cpp
index 65acb76..c29ae16 100644
--- a/fxbarcode/oned/BC_OnedCode39Writer_unittest.cpp
+++ b/fxbarcode/oned/BC_OnedCode39Writer_unittest.cpp
@@ -25,8 +25,7 @@
   EXPECT_TRUE(writer.SetWideNarrowRatio(3));
   EXPECT_FALSE(writer.SetWideNarrowRatio(4));
   EXPECT_FALSE(writer.SetWideNarrowRatio(100));
-
-  writer.SetWideNarrowRatio(3);
+  EXPECT_TRUE(writer.SetWideNarrowRatio(3));
 
   static const char kExpected1[] =
       "#   # ### ### # "  // * Start
@@ -42,7 +41,7 @@
   for (size_t i = 0; i < UNSAFE_TODO(strlen(kExpected1)); i++) {
     UNSAFE_TODO(EXPECT_EQ(kExpected1[i] != ' ', !!encoded[i])) << i;
   }
-  writer.SetWideNarrowRatio(2);
+  EXPECT_TRUE(writer.SetWideNarrowRatio(2));
 
   static const char kExpected2[] =
       "#  # ## ## # "  // * Start
diff --git a/fxjs/cfx_globaldata_unittest.cpp b/fxjs/cfx_globaldata_unittest.cpp
index 569d159..a3ab452 100644
--- a/fxjs/cfx_globaldata_unittest.cpp
+++ b/fxjs/cfx_globaldata_unittest.cpp
@@ -64,11 +64,11 @@
   pInstance->SetGlobalVariableBoolean("boolean", true);
   pInstance->SetGlobalVariableNull("null");
   pInstance->SetGlobalVariableObject("array", std::move(array));
-  pInstance->SetGlobalVariablePersistent("double", true);
-  pInstance->SetGlobalVariablePersistent("string", true);
-  pInstance->SetGlobalVariablePersistent("boolean", true);
-  pInstance->SetGlobalVariablePersistent("null", true);
-  pInstance->SetGlobalVariablePersistent("array", true);
+  EXPECT_TRUE(pInstance->SetGlobalVariablePersistent("double", true));
+  EXPECT_TRUE(pInstance->SetGlobalVariablePersistent("string", true));
+  EXPECT_TRUE(pInstance->SetGlobalVariablePersistent("boolean", true));
+  EXPECT_TRUE(pInstance->SetGlobalVariablePersistent("null", true));
+  EXPECT_TRUE(pInstance->SetGlobalVariablePersistent("array", true));
   ASSERT_TRUE(pInstance->Release());
 
   pInstance = CFX_GlobalData::GetRetainedInstance(&delegate);
@@ -148,19 +148,19 @@
   pInstance->SetGlobalVariableNull("null");
   EXPECT_EQ(4, pInstance->GetSize());
 
-  pInstance->DeleteGlobalVariable("nonesuch");
+  EXPECT_FALSE(pInstance->DeleteGlobalVariable("nonesuch"));
   EXPECT_EQ(4, pInstance->GetSize());
 
-  pInstance->DeleteGlobalVariable("boolean");
+  EXPECT_TRUE(pInstance->DeleteGlobalVariable("boolean"));
   EXPECT_EQ(3, pInstance->GetSize());
 
-  pInstance->DeleteGlobalVariable("string");
+  EXPECT_TRUE(pInstance->DeleteGlobalVariable("string"));
   EXPECT_EQ(2, pInstance->GetSize());
 
-  pInstance->DeleteGlobalVariable("double");
+  EXPECT_TRUE(pInstance->DeleteGlobalVariable("double"));
   EXPECT_EQ(1, pInstance->GetSize());
 
-  pInstance->DeleteGlobalVariable("null");
+  EXPECT_TRUE(pInstance->DeleteGlobalVariable("null"));
   EXPECT_EQ(0, pInstance->GetSize());
 
   ASSERT_TRUE(pInstance->Release());
diff --git a/fxjs/xfa/cfxjse_formcalc_context_embeddertest.cpp b/fxjs/xfa/cfxjse_formcalc_context_embeddertest.cpp
index 6edbfc6..a04d79c 100644
--- a/fxjs/xfa/cfxjse_formcalc_context_embeddertest.cpp
+++ b/fxjs/xfa/cfxjse_formcalc_context_embeddertest.cpp
@@ -762,7 +762,7 @@
   const uint8_t test_string[] = {
       0x4c, 0x6f, 0x77, 0x65, 0x72, 0x28, 0x22, 0xc3,
       0x85, 0xc3, 0x85, 0xc3, 0x85, 0x22, 0x29};  // Lower("ÅÅÅ")
-  Execute(ByteStringView(pdfium::make_span(test_string)));
+  EXPECT_TRUE(Execute(ByteStringView(pdfium::make_span(test_string))));
 }
 
 TEST_F(CFXJSEFormCalcContextEmbedderTest, Ltrim) {
diff --git a/xfa/fde/cfde_textout_unittest.cpp b/xfa/fde/cfde_textout_unittest.cpp
index b0a014d..adfd9dc 100644
--- a/xfa/fde/cfde_textout_unittest.cpp
+++ b/xfa/fde/cfde_textout_unittest.cpp
@@ -38,7 +38,7 @@
                                 FXDIB_Format::kBgra));
 
     device_ = std::make_unique<CFX_DefaultRenderDevice>();
-    device_->Attach(bitmap_);
+    ASSERT_TRUE(device_->Attach(bitmap_));
 
     font_ = LoadFont();
     ASSERT_TRUE(font_);
diff --git a/xfa/fxfa/formcalc/cxfa_fmexpression_unittest.cpp b/xfa/fxfa/formcalc/cxfa_fmexpression_unittest.cpp
index 5d3e137..33614b5 100644
--- a/xfa/fxfa/formcalc/cxfa_fmexpression_unittest.cpp
+++ b/xfa/fxfa/formcalc/cxfa_fmexpression_unittest.cpp
@@ -33,7 +33,8 @@
       heap()->GetAllocationHandle(), exp, std::move(args), true);
 
   WideTextBuffer js;
-  callExp->ToJavaScript(&js, CXFA_FMAssignExpression::ReturnType::kInferred);
+  EXPECT_TRUE(callExp->ToJavaScript(
+      &js, CXFA_FMAssignExpression::ReturnType::kInferred));
 
   // Generate the result javascript string.
   WideString result = L"sign(";
@@ -58,8 +59,8 @@
   WideTextBuffer accumulator;
   auto* exp = cppgc::MakeGarbageCollected<CXFA_FMStringExpression>(
       heap()->GetAllocationHandle(), L"");
-  exp->ToJavaScript(&accumulator,
-                    CXFA_FMAssignExpression::ReturnType::kInferred);
+  EXPECT_TRUE(exp->ToJavaScript(
+      &accumulator, CXFA_FMAssignExpression::ReturnType::kInferred));
   EXPECT_EQ(L"", accumulator.AsStringView());
 }
 
@@ -68,8 +69,8 @@
   WideTextBuffer accumulator;
   auto* exp = cppgc::MakeGarbageCollected<CXFA_FMStringExpression>(
       heap()->GetAllocationHandle(), L"a");
-  exp->ToJavaScript(&accumulator,
-                    CXFA_FMAssignExpression::ReturnType::kInferred);
+  EXPECT_TRUE(exp->ToJavaScript(
+      &accumulator, CXFA_FMAssignExpression::ReturnType::kInferred));
   EXPECT_EQ(L"a", accumulator.AsStringView());
 }
 
@@ -78,8 +79,8 @@
   WideTextBuffer accumulator;
   auto* exp = cppgc::MakeGarbageCollected<CXFA_FMStringExpression>(
       heap()->GetAllocationHandle(), L".abcd.");
-  exp->ToJavaScript(&accumulator,
-                    CXFA_FMAssignExpression::ReturnType::kInferred);
+  EXPECT_TRUE(exp->ToJavaScript(
+      &accumulator, CXFA_FMAssignExpression::ReturnType::kInferred));
   EXPECT_EQ(L"\"abcd\"", accumulator.AsStringView());
 }
 
@@ -89,8 +90,8 @@
   std::vector<WideStringView::UnsignedType> vec(140000, L'A');
   auto* exp = cppgc::MakeGarbageCollected<CXFA_FMStringExpression>(
       heap()->GetAllocationHandle(), WideString(WideStringView(vec)));
-  exp->ToJavaScript(&accumulator,
-                    CXFA_FMAssignExpression::ReturnType::kInferred);
+  EXPECT_TRUE(exp->ToJavaScript(
+      &accumulator, CXFA_FMAssignExpression::ReturnType::kInferred));
   EXPECT_EQ(140000u, accumulator.GetLength());
 }
 
@@ -99,8 +100,8 @@
   WideTextBuffer accumulator;
   auto* exp = cppgc::MakeGarbageCollected<CXFA_FMStringExpression>(
       heap()->GetAllocationHandle(), L".Simon says \"\"run\"\".");
-  exp->ToJavaScript(&accumulator,
-                    CXFA_FMAssignExpression::ReturnType::kInferred);
+  EXPECT_TRUE(exp->ToJavaScript(
+      &accumulator, CXFA_FMAssignExpression::ReturnType::kInferred));
   EXPECT_EQ(L"\"Simon says \\\"run\\\"\"", accumulator.AsStringView());
 }
 
@@ -110,8 +111,8 @@
 
   auto* expr = cppgc::MakeGarbageCollected<CXFA_FMVarExpression>(
       heap()->GetAllocationHandle(), L"s", nullptr);
-  expr->ToJavaScript(&accumulator,
-                     CXFA_FMAssignExpression::ReturnType::kInferred);
+  EXPECT_TRUE(expr->ToJavaScript(
+      &accumulator, CXFA_FMAssignExpression::ReturnType::kInferred));
   EXPECT_EQ(
       LR"***(var s = "";
 )***",
@@ -126,8 +127,8 @@
       heap()->GetAllocationHandle(), LR"("")");
   auto* expr = cppgc::MakeGarbageCollected<CXFA_FMVarExpression>(
       heap()->GetAllocationHandle(), L"s", init);
-  expr->ToJavaScript(&accumulator,
-                     CXFA_FMAssignExpression::ReturnType::kInferred);
+  EXPECT_TRUE(expr->ToJavaScript(
+      &accumulator, CXFA_FMAssignExpression::ReturnType::kInferred));
   EXPECT_EQ(
       LR"***(var s = "";
 s = pfm_rt.var_filter(s);
@@ -143,8 +144,8 @@
       heap()->GetAllocationHandle(), LR"("foo")");
   auto* expr = cppgc::MakeGarbageCollected<CXFA_FMVarExpression>(
       heap()->GetAllocationHandle(), L"s", init);
-  expr->ToJavaScript(&accumulator,
-                     CXFA_FMAssignExpression::ReturnType::kInferred);
+  EXPECT_TRUE(expr->ToJavaScript(
+      &accumulator, CXFA_FMAssignExpression::ReturnType::kInferred));
   EXPECT_EQ(
       LR"***(var s = "foo";
 s = pfm_rt.var_filter(s);
@@ -160,8 +161,8 @@
       heap()->GetAllocationHandle(), L"112");
   auto* expr = cppgc::MakeGarbageCollected<CXFA_FMVarExpression>(
       heap()->GetAllocationHandle(), L"s", init);
-  expr->ToJavaScript(&accumulator,
-                     CXFA_FMAssignExpression::ReturnType::kInferred);
+  EXPECT_TRUE(expr->ToJavaScript(
+      &accumulator, CXFA_FMAssignExpression::ReturnType::kInferred));
   EXPECT_EQ(
       LR"***(var s = 112;
 s = pfm_rt.var_filter(s);
diff --git a/xfa/fxfa/parser/cxfa_nodeiteratortemplate_unittest.cpp b/xfa/fxfa/parser/cxfa_nodeiteratortemplate_unittest.cpp
index 807c772..b4740bf 100644
--- a/xfa/fxfa/parser/cxfa_nodeiteratortemplate_unittest.cpp
+++ b/xfa/fxfa/parser/cxfa_nodeiteratortemplate_unittest.cpp
@@ -109,14 +109,14 @@
 
 TEST_F(CXFANodeIteratorTemplateTest, Current) {
   Iterator iter(root());
-  iter.SetCurrent(child1());
+  EXPECT_TRUE(iter.SetCurrent(child1()));
   EXPECT_EQ(root(), iter.GetRoot());
   EXPECT_EQ(child1(), iter.GetCurrent());
 }
 
 TEST_F(CXFANodeIteratorTemplateTest, CurrentOutsideRootDisallowed) {
   Iterator iter(child1());
-  iter.SetCurrent(root());
+  EXPECT_FALSE(iter.SetCurrent(root()));
   EXPECT_EQ(child1(), iter.GetRoot());
   EXPECT_FALSE(iter.GetCurrent());
 }
@@ -125,7 +125,7 @@
   Iterator iter(root());
   EXPECT_EQ(child1(), iter.MoveToNext());
 
-  iter.SetCurrent(nullptr);
+  EXPECT_FALSE(iter.SetCurrent(nullptr));  // ???
   EXPECT_FALSE(iter.GetCurrent());
 
   EXPECT_FALSE(iter.MoveToNext());
@@ -134,7 +134,7 @@
 
 TEST_F(CXFANodeIteratorTemplateTest, MoveToPrev) {
   Iterator iter(root());
-  iter.SetCurrent(child9());
+  EXPECT_TRUE(iter.SetCurrent(child9()));
 
   EXPECT_EQ(child8(), iter.MoveToPrev());
   EXPECT_EQ(child8(), iter.GetCurrent());
@@ -172,7 +172,7 @@
 
 TEST_F(CXFANodeIteratorTemplateTest, MoveToNext) {
   Iterator iter(root());
-  iter.SetCurrent(child2());
+  EXPECT_TRUE(iter.SetCurrent(child2()));
 
   EXPECT_EQ(child3(), iter.MoveToNext());
   EXPECT_EQ(child3(), iter.GetCurrent());
@@ -204,7 +204,7 @@
 
 TEST_F(CXFANodeIteratorTemplateTest, SkipChildrenAndMoveToNext) {
   Iterator iter(root());
-  iter.SetCurrent(child3());
+  EXPECT_TRUE(iter.SetCurrent(child3()));
   EXPECT_EQ(child7(), iter.SkipChildrenAndMoveToNext());
   EXPECT_EQ(child9(), iter.SkipChildrenAndMoveToNext());
   EXPECT_FALSE(iter.SkipChildrenAndMoveToNext());
@@ -232,7 +232,7 @@
 
 TEST_F(CXFANodeIteratorTemplateTest, PrevFromAfterTheEnd) {
   Iterator iter(root());
-  iter.SetCurrent(child9());
+  EXPECT_TRUE(iter.SetCurrent(child9()));
   EXPECT_FALSE(iter.MoveToNext());
   EXPECT_EQ(child9(), iter.MoveToPrev());
 }
@@ -241,14 +241,14 @@
   Iterator iter(child3());
   EXPECT_FALSE(iter.MoveToPrev());
 
-  iter.SetCurrent(child4());
+  EXPECT_TRUE(iter.SetCurrent(child4()));
   EXPECT_EQ(child3(), iter.MoveToPrev());
   EXPECT_FALSE(iter.MoveToPrev());
 }
 
 TEST_F(CXFANodeIteratorTemplateTest, ChildAsRootNext) {
   Iterator iter(child3());
-  iter.SetCurrent(child4());
+  EXPECT_TRUE(iter.SetCurrent(child4()));
   EXPECT_EQ(child5(), iter.MoveToNext());
   EXPECT_EQ(child6(), iter.MoveToNext());
   EXPECT_FALSE(iter.MoveToNext());