diff options
Diffstat (limited to 'fpdfsdk/fpdfformfill_embeddertest.cpp')
-rw-r--r-- | fpdfsdk/fpdfformfill_embeddertest.cpp | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/fpdfsdk/fpdfformfill_embeddertest.cpp b/fpdfsdk/fpdfformfill_embeddertest.cpp new file mode 100644 index 0000000000..c73dc008f7 --- /dev/null +++ b/fpdfsdk/fpdfformfill_embeddertest.cpp @@ -0,0 +1,87 @@ +// Copyright 2015 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "public/fpdf_formfill.h" +#include "testing/embedder_test.h" +#include "testing/embedder_test_mock_delegate.h" +#include "testing/embedder_test_timer_handling_delegate.h" +#include "testing/gmock/include/gmock/gmock.h" +#include "testing/gtest/include/gtest/gtest.h" + +using testing::_; +using testing::Return; + +class FPDFFormFillEmbeddertest : public EmbedderTest {}; + +TEST_F(FPDFFormFillEmbeddertest, FirstTest) { + EmbedderTestMockDelegate mock; + EXPECT_CALL(mock, Alert(_, _, _, _)).Times(0); + EXPECT_CALL(mock, UnsupportedHandler(_)).Times(0); + EXPECT_CALL(mock, SetTimer(_, _)).Times(0); + EXPECT_CALL(mock, KillTimer(_)).Times(0); + SetDelegate(&mock); + + EXPECT_TRUE(OpenDocument("hello_world.pdf")); + FPDF_PAGE page = LoadPage(0); + EXPECT_NE(nullptr, page); + UnloadPage(page); +} + +TEST_F(FPDFFormFillEmbeddertest, BUG_487928) { + EmbedderTestTimerHandlingDelegate delegate; + SetDelegate(&delegate); + + EXPECT_TRUE(OpenDocument("bug_487928.pdf")); + FPDF_PAGE page = LoadPage(0); + EXPECT_NE(nullptr, page); + DoOpenActions(); + delegate.AdvanceTime(5000); + UnloadPage(page); +} + +TEST_F(FPDFFormFillEmbeddertest, BUG_507316) { + EmbedderTestTimerHandlingDelegate delegate; + SetDelegate(&delegate); + + EXPECT_TRUE(OpenDocument("bug_507316.pdf")); + FPDF_PAGE page = LoadAndCachePage(2); + EXPECT_NE(nullptr, page); + DoOpenActions(); + delegate.AdvanceTime(4000); + UnloadPage(page); +} + +TEST_F(FPDFFormFillEmbeddertest, BUG_514690) { + EXPECT_TRUE(OpenDocument("hello_world.pdf")); + FPDF_PAGE page = LoadPage(0); + EXPECT_NE(nullptr, page); + + // Test that FORM_OnMouseMove() etc. permit null HANDLES and PAGES. + FORM_OnMouseMove(nullptr, page, 0, 10.0, 10.0); + FORM_OnMouseMove(form_handle(), nullptr, 0, 10.0, 10.0); + + UnloadPage(page); +} + +#ifdef PDF_ENABLE_V8 +TEST_F(FPDFFormFillEmbeddertest, BUG_551248) { + EmbedderTestTimerHandlingDelegate delegate; + SetDelegate(&delegate); + + EXPECT_TRUE(OpenDocument("bug_551248.pdf")); + FPDF_PAGE page = LoadPage(0); + EXPECT_NE(nullptr, page); + DoOpenActions(); + delegate.AdvanceTime(5000); + UnloadPage(page); + + const auto& alerts = delegate.GetAlerts(); + ASSERT_EQ(1U, alerts.size()); + + EXPECT_STREQ(L"hello world", alerts[0].message.c_str()); + EXPECT_STREQ(L"Alert", alerts[0].title.c_str()); + EXPECT_EQ(0, alerts[0].type); + EXPECT_EQ(0, alerts[0].icon); +} +#endif // PDF_ENABLE_V8 |