vcl/qa/cppunit/PDFiumLibraryTest.cxx | 42 +++++++++++ vcl/qa/cppunit/data/PangramWithMultipleTypeOfAnnotations.pdf |binary 2 files changed, 42 insertions(+)
New commits: commit e12ac66a15b61d25105dce8fac82ed80d918a511 Author: Tomaž Vajngerl <[email protected]> AuthorDate: Thu Sep 3 20:15:36 2020 +0200 Commit: Tomaž Vajngerl <[email protected]> CommitDate: Sun Sep 6 14:04:36 2020 +0200 vcl: add testcase for reading different type of annotations add "FreeText" and "Line" annotations Change-Id: I00e4ac3e446dbec4fcd29a103d6cf8014137179d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102094 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <[email protected]> diff --git a/vcl/qa/cppunit/PDFiumLibraryTest.cxx b/vcl/qa/cppunit/PDFiumLibraryTest.cxx index 7e60ab92ec2a..dd18d9809b8d 100644 --- a/vcl/qa/cppunit/PDFiumLibraryTest.cxx +++ b/vcl/qa/cppunit/PDFiumLibraryTest.cxx @@ -38,6 +38,7 @@ class PDFiumLibraryTest : public test::BootstrapFixtureBase void testPageObjects(); void testAnnotationsMadeInEvince(); void testAnnotationsMadeInAcrobat(); + void testAnnotationsDifferentTypes(); void testTools(); CPPUNIT_TEST_SUITE(PDFiumLibraryTest); @@ -46,6 +47,7 @@ class PDFiumLibraryTest : public test::BootstrapFixtureBase CPPUNIT_TEST(testPageObjects); CPPUNIT_TEST(testAnnotationsMadeInEvince); CPPUNIT_TEST(testAnnotationsMadeInAcrobat); + CPPUNIT_TEST(testAnnotationsDifferentTypes); CPPUNIT_TEST(testTools); CPPUNIT_TEST_SUITE_END(); }; @@ -289,6 +291,46 @@ void PDFiumLibraryTest::testAnnotationsMadeInAcrobat() } } +void PDFiumLibraryTest::testAnnotationsDifferentTypes() +{ + OUString aURL = getFullUrl("PangramWithMultipleTypeOfAnnotations.pdf"); + SvFileStream aStream(aURL, StreamMode::READ); + GraphicFilter& rGraphicFilter = GraphicFilter::GetGraphicFilter(); + Graphic aGraphic = rGraphicFilter.ImportUnloadedGraphic(aStream); + aGraphic.makeAvailable(); + + auto pVectorGraphicData = aGraphic.getVectorGraphicData(); + CPPUNIT_ASSERT(pVectorGraphicData); + CPPUNIT_ASSERT_EQUAL(VectorGraphicDataType::Pdf, + pVectorGraphicData->getVectorGraphicDataType()); + + const void* pData = pVectorGraphicData->getVectorGraphicDataArray().getConstArray(); + int nLength = pVectorGraphicData->getVectorGraphicDataArrayLength(); + + auto pPdfium = vcl::pdf::PDFiumLibrary::get(); + auto pDocument = pPdfium->openDocument(pData, nLength); + CPPUNIT_ASSERT(pDocument); + + CPPUNIT_ASSERT_EQUAL(1, pDocument->getPageCount()); + + auto pPage = pDocument->openPage(0); + CPPUNIT_ASSERT(pPage); + + CPPUNIT_ASSERT_EQUAL(2, pPage->getAnnotationCount()); + + { + auto pAnnotation = pPage->getAnnotation(0); + CPPUNIT_ASSERT(pAnnotation); + CPPUNIT_ASSERT_EQUAL(vcl::pdf::PDFAnnotationSubType::FreeText, pAnnotation->getSubType()); + } + + { + auto pAnnotation = pPage->getAnnotation(1); + CPPUNIT_ASSERT(pAnnotation); + CPPUNIT_ASSERT_EQUAL(vcl::pdf::PDFAnnotationSubType::Line, pAnnotation->getSubType()); + } +} + void PDFiumLibraryTest::testTools() { OUString sConverted = vcl::pdf::convertPdfDateToISO8601("D:20200612201322+02'00"); diff --git a/vcl/qa/cppunit/data/PangramWithMultipleTypeOfAnnotations.pdf b/vcl/qa/cppunit/data/PangramWithMultipleTypeOfAnnotations.pdf new file mode 100644 index 000000000000..281cf264a6ee Binary files /dev/null and b/vcl/qa/cppunit/data/PangramWithMultipleTypeOfAnnotations.pdf differ _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
