Index: fpdfsdk/fpdfformfill_embeddertest.cpp |
diff --git a/fpdfsdk/fpdfformfill_embeddertest.cpp b/fpdfsdk/fpdfformfill_embeddertest.cpp |
index e2920e041bb9fdc9adfcb3f0821266ec1a116008..1a1f4b4d345d0a90dab52c858c28c59a74f2dd96 100644 |
--- a/fpdfsdk/fpdfformfill_embeddertest.cpp |
+++ b/fpdfsdk/fpdfformfill_embeddertest.cpp |
@@ -133,4 +133,27 @@ TEST_F(FPDFFormFillEmbeddertest, BUG_620428) { |
EXPECT_EQ(0U, alerts.size()); |
} |
+TEST_F(FPDFFormFillEmbeddertest, BUG_634394) { |
+ // Cancel timer inside timer callback. |
+ EmbedderTestTimerHandlingDelegate delegate; |
+ SetDelegate(&delegate); |
+ |
+ EXPECT_TRUE(OpenDocument("bug_634394.pdf")); |
+ FPDF_PAGE page = LoadPage(0); |
+ EXPECT_TRUE(page); |
+ DoOpenActions(); |
+ |
+ // Timers fire at most once per AdvanceTime(), allow intervals |
+ // to fire several times if possible. |
+ delegate.AdvanceTime(1000); |
+ delegate.AdvanceTime(1000); |
+ delegate.AdvanceTime(1000); |
+ delegate.AdvanceTime(1000); |
+ delegate.AdvanceTime(1000); |
+ UnloadPage(page); |
+ |
+ const auto& alerts = delegate.GetAlerts(); |
+ EXPECT_EQ(2U, alerts.size()); |
+} |
+ |
#endif // PDF_ENABLE_V8 |