From 0fa54b80d488571f10d8a94f6740006f0bf4957c Mon Sep 17 00:00:00 2001 From: tsepez Date: Thu, 4 Aug 2016 12:07:28 -0700 Subject: Beef up timer cancellation tests Adds more questionable invocations of ClearTimeOut(). Also, checking that nothing happened is fragile. Log at least one thing to show that the code ran. Review-Url: https://codereview.chromium.org/2218473002 --- fpdfsdk/fpdfformfill_embeddertest.cpp | 3 ++- testing/resources/bug_620428.in | 14 ++++++++++++++ testing/resources/bug_620428.pdf | 16 +++++++++++++++- 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/fpdfsdk/fpdfformfill_embeddertest.cpp b/fpdfsdk/fpdfformfill_embeddertest.cpp index e2920e041b..27b889085c 100644 --- a/fpdfsdk/fpdfformfill_embeddertest.cpp +++ b/fpdfsdk/fpdfformfill_embeddertest.cpp @@ -130,7 +130,8 @@ TEST_F(FPDFFormFillEmbeddertest, BUG_620428) { UnloadPage(page); const auto& alerts = delegate.GetAlerts(); - EXPECT_EQ(0U, alerts.size()); + ASSERT_EQ(1U, alerts.size()); + EXPECT_STREQ(L"done", alerts[0].message.c_str()); } #endif // PDF_ENABLE_V8 diff --git a/testing/resources/bug_620428.in b/testing/resources/bug_620428.in index 1942305173..050488b1ee 100644 --- a/testing/resources/bug_620428.in +++ b/testing/resources/bug_620428.in @@ -73,8 +73,22 @@ function fireInterval() { } var timer = app.setTimeOut("fireTimeOut()", 3000); var interval = app.setInterval("fireInterval()", 1000); +// Clear timers before they fire. app.clearTimeOut(timer); app.clearInterval(interval); +// Check that clearing a cleared timer is ok. +app.clearTimeOut(timer); +app.clearInterval(interval); +// Check that invoking the wrong clear method is ok +var timer = app.setTimeOut("fireTimeOut()", 3000); +var interval = app.setInterval("fireInterval()", 1000); +app.clearTimeOut(interval); +app.clearInterval(timer); +// Check that clearing a non-timer is ok. +app.clearTimeOut({"size": 42}); +app.clearInterval({"size": 42}); +// Be sure all of this code ran to completion. +app.alert("done"); endstream endobj {{xref}} diff --git a/testing/resources/bug_620428.pdf b/testing/resources/bug_620428.pdf index ff625b7a2e..e53ed50e24 100644 --- a/testing/resources/bug_620428.pdf +++ b/testing/resources/bug_620428.pdf @@ -74,8 +74,22 @@ function fireInterval() { } var timer = app.setTimeOut("fireTimeOut()", 3000); var interval = app.setInterval("fireInterval()", 1000); +// Clear timers before they fire. app.clearTimeOut(timer); app.clearInterval(interval); +// Check that clearing a cleared timer is ok. +app.clearTimeOut(timer); +app.clearInterval(interval); +// Check that invoking the wrong clear method is ok +var timer = app.setTimeOut("fireTimeOut()", 3000); +var interval = app.setInterval("fireInterval()", 1000); +app.clearTimeOut(interval); +app.clearInterval(timer); +// Check that clearing a non-timer is ok. +app.clearTimeOut({"size": 42}); +app.clearInterval({"size": 42}); +// Be sure all of this code ran to completion. +app.alert("done"); endstream endobj xref @@ -135,5 +149,5 @@ trailer << /Root 1 0 R >> startxref -1135 +1655 %%EOF -- cgit v1.2.3