diff options
author | Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk> | 2020-06-04 18:26:58 +0200 |
---|---|---|
committer | Tomaž Vajngerl <quikee@gmail.com> | 2020-06-10 08:11:41 +0200 |
commit | 456116d97b66703e23055b83ded5d87ed85c728d (patch) | |
tree | 54c5247f4921a6c82db38229fafdab495114cf0a /vcl/qa/cppunit/VectorGraphicSearchTest.cxx | |
parent | 3e20ddab50de57f8a4f915791bbb56710c4936e3 (diff) |
sd: support match case, match whole word for PDF search
THis adds support for match case and match whole word to the
VectorGraphicSearch + tests.
It uses the new options in PDF seearch in Draw/Impress.
Change-Id: I20a6382c22bf01a5a021c8bae1ff78861419c0ef
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95530
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit 112d8113388513d9c6b317e828f5d373b4a54330)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95950
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Diffstat (limited to 'vcl/qa/cppunit/VectorGraphicSearchTest.cxx')
-rw-r--r-- | vcl/qa/cppunit/VectorGraphicSearchTest.cxx | 88 |
1 files changed, 87 insertions, 1 deletions
diff --git a/vcl/qa/cppunit/VectorGraphicSearchTest.cxx b/vcl/qa/cppunit/VectorGraphicSearchTest.cxx index 00febce16e71..0659e4e62dcf 100644 --- a/vcl/qa/cppunit/VectorGraphicSearchTest.cxx +++ b/vcl/qa/cppunit/VectorGraphicSearchTest.cxx @@ -32,11 +32,15 @@ class VectorGraphicSearchTest : public test::BootstrapFixtureBase void test(); void testNextPrevious(); void testSearchStringChange(); + void testSearchMatchWholeWord(); + void testSearchMatchCase(); CPPUNIT_TEST_SUITE(VectorGraphicSearchTest); CPPUNIT_TEST(test); CPPUNIT_TEST(testNextPrevious); CPPUNIT_TEST(testSearchStringChange); + CPPUNIT_TEST(testSearchMatchWholeWord); + CPPUNIT_TEST(testSearchMatchCase); CPPUNIT_TEST_SUITE_END(); }; @@ -134,7 +138,8 @@ void VectorGraphicSearchTest::testNextPrevious() { // Start from the end of the page VectorGraphicSearch aSearch(aGraphic); - CPPUNIT_ASSERT_EQUAL(true, aSearch.search("lazy", SearchStartPosition::End)); + CPPUNIT_ASSERT_EQUAL(true, + aSearch.search("lazy", { SearchStartPosition::End, false, false })); // no next - we are at the end CPPUNIT_ASSERT_EQUAL(false, aSearch.next()); @@ -197,6 +202,87 @@ void VectorGraphicSearchTest::testSearchStringChange() CPPUNIT_ASSERT_EQUAL(784, aSearch.index()); } +void VectorGraphicSearchTest::testSearchMatchWholeWord() +{ + OUString aURL = getFullUrl("Pangram.pdf"); + SvFileStream aStream(aURL, StreamMode::READ); + GraphicFilter& rGraphicFilter = GraphicFilter::GetGraphicFilter(); + Graphic aGraphic = rGraphicFilter.ImportUnloadedGraphic(aStream); + aGraphic.makeAvailable(); + + { + VectorGraphicSearch aSearch(aGraphic); + // Search, whole word disabled - "Flummoxed" - found + CPPUNIT_ASSERT_EQUAL(true, aSearch.search("Flummoxed")); + CPPUNIT_ASSERT_EQUAL(true, aSearch.next()); + CPPUNIT_ASSERT_EQUAL(618, aSearch.index()); + } + { + VectorGraphicSearch aSearch(aGraphic); + // Search, whole word disabled - "Flummo" - found + CPPUNIT_ASSERT_EQUAL(true, aSearch.search("Flummo")); + CPPUNIT_ASSERT_EQUAL(true, aSearch.next()); + CPPUNIT_ASSERT_EQUAL(618, aSearch.index()); + } + { + VectorGraphicSearch aSearch(aGraphic); + // Search, whole word enabled - "Flummoxed" - found + CPPUNIT_ASSERT_EQUAL( + true, aSearch.search("Flummoxed", { SearchStartPosition::Begin, false, true })); + CPPUNIT_ASSERT_EQUAL(true, aSearch.next()); + CPPUNIT_ASSERT_EQUAL(618, aSearch.index()); + } + { + VectorGraphicSearch aSearch(aGraphic); + // Search, whole word enabled - "Flummo" - not found + CPPUNIT_ASSERT_EQUAL(true, + aSearch.search("Flummo", { SearchStartPosition::Begin, false, true })); + CPPUNIT_ASSERT_EQUAL(false, aSearch.next()); + } +} + +void VectorGraphicSearchTest::testSearchMatchCase() +{ + OUString aURL = getFullUrl("Pangram.pdf"); + SvFileStream aStream(aURL, StreamMode::READ); + GraphicFilter& rGraphicFilter = GraphicFilter::GetGraphicFilter(); + Graphic aGraphic = rGraphicFilter.ImportUnloadedGraphic(aStream); + aGraphic.makeAvailable(); + + { + VectorGraphicSearch aSearch(aGraphic); + // Search "Flummoxed" - case insensitive - found + CPPUNIT_ASSERT_EQUAL(true, aSearch.search("Flummoxed")); + CPPUNIT_ASSERT_EQUAL(true, aSearch.next()); + CPPUNIT_ASSERT_EQUAL(618, aSearch.index()); + } + + { + VectorGraphicSearch aSearch(aGraphic); + // Search "FLUMMOXED" - case insensitive - found + CPPUNIT_ASSERT_EQUAL(true, aSearch.search("FLUMMOXED")); + CPPUNIT_ASSERT_EQUAL(true, aSearch.next()); + CPPUNIT_ASSERT_EQUAL(618, aSearch.index()); + } + + { + VectorGraphicSearch aSearch(aGraphic); + // Search "Flummoxed" - case sensitive - found + CPPUNIT_ASSERT_EQUAL( + true, aSearch.search("Flummoxed", { SearchStartPosition::Begin, true, false })); + CPPUNIT_ASSERT_EQUAL(true, aSearch.next()); + CPPUNIT_ASSERT_EQUAL(618, aSearch.index()); + } + + { + VectorGraphicSearch aSearch(aGraphic); + // Search to "FLUMMOXED" - case sensitive - not found + CPPUNIT_ASSERT_EQUAL( + true, aSearch.search("FLUMMOXED", { SearchStartPosition::Begin, true, false })); + CPPUNIT_ASSERT_EQUAL(false, aSearch.next()); + } +} + CPPUNIT_TEST_SUITE_REGISTRATION(VectorGraphicSearchTest); #endif |