[Libreoffice-commits] core.git: vcl/qa
panoskorovesis (via logerrit)
logerrit at kemper.freedesktop.org
Fri Jun 11 01:08:26 UTC 2021
vcl/qa/cppunit/svm/data/intersectrectclipregion.svm |binary
vcl/qa/cppunit/svm/data/intersectregionclipregion.svm |binary
vcl/qa/cppunit/svm/svmtest.cxx | 96 +++++++++++++++++-
3 files changed, 92 insertions(+), 4 deletions(-)
New commits:
commit 794eda02133699830913b37e094a07edeaeff22d
Author: panoskorovesis <panoskorovesis at outlook.com>
AuthorDate: Thu Jun 10 11:51:32 2021 +0300
Commit: Tomaž Vajngerl <quikee at gmail.com>
CommitDate: Fri Jun 11 03:07:42 2021 +0200
Add IntersectClipRegion cppunit tests to vcl
Two tests where added, IntersectRectClipRegion and
IntersectRegionClipRegion, along with their .svm files.
The tests create mutliple IntersectClipRegions and test
their attributes.
Change-Id: I33b7b13b4f3eef1de07cc063ef22fea034d65cfc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116967
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee at gmail.com>
diff --git a/vcl/qa/cppunit/svm/data/intersectrectclipregion.svm b/vcl/qa/cppunit/svm/data/intersectrectclipregion.svm
new file mode 100644
index 000000000000..23179cbe8a27
Binary files /dev/null and b/vcl/qa/cppunit/svm/data/intersectrectclipregion.svm differ
diff --git a/vcl/qa/cppunit/svm/data/intersectregionclipregion.svm b/vcl/qa/cppunit/svm/data/intersectregionclipregion.svm
new file mode 100644
index 000000000000..6f8571863282
Binary files /dev/null and b/vcl/qa/cppunit/svm/data/intersectregionclipregion.svm differ
diff --git a/vcl/qa/cppunit/svm/svmtest.cxx b/vcl/qa/cppunit/svm/svmtest.cxx
index 844a12bd1214..ec9c80614e22 100644
--- a/vcl/qa/cppunit/svm/svmtest.cxx
+++ b/vcl/qa/cppunit/svm/svmtest.cxx
@@ -128,10 +128,10 @@ class SvmTest : public test::BootstrapFixture, public XmlTestTools
void checkClipRegion(const GDIMetaFile& rMetaFile);
void testClipRegion();
- //void checkIntersectRectClipRegion(const GDIMetaFile& rMetaFile);
+ void checkIntersectRectClipRegion(const GDIMetaFile& rMetaFile);
void testIntersectRectClipRegion();
- //void checkIntersectRegionClipRegion(const GDIMetaFile& rMetaFile);
+ void checkIntersectRegionClipRegion(const GDIMetaFile& rMetaFile);
void testIntersectRegionClipRegion();
//void checkMoveClipRegion(const GDIMetaFile& rMetaFile);
@@ -1467,10 +1467,98 @@ void SvmTest::testClipRegion()
checkClipRegion(readFile(u"clipregion.svm"));
}
+void SvmTest::checkIntersectRectClipRegion(const GDIMetaFile& rMetaFile)
+{
+ xmlDocUniquePtr pDoc = dumpMeta(rMetaFile);
+
+ assertXPathAttrs(pDoc, "/metafile/sectregionclipregion[1]", {
+ {"left", "1"},
+ {"top", "2"},
+ {"right", "4"},
+ {"bottom", "9"}
+ });
+}
+
void SvmTest::testIntersectRectClipRegion()
-{}
+{
+ GDIMetaFile aGDIMetaFile;
+ ScopedVclPtrInstance<VirtualDevice> pVirtualDev;
+ setupBaseVirtualDevice(*pVirtualDev, aGDIMetaFile);
+
+ tools::Rectangle aRectangle(Point(1, 2), Size(4, 8));
+
+ vcl::Region aRegion(aRectangle);
+
+ pVirtualDev->IntersectClipRegion(aRegion);
+ checkIntersectRectClipRegion(writeAndReadStream(aGDIMetaFile));
+ checkIntersectRectClipRegion(readFile(u"intersectrectclipregion.svm"));
+}
+
+void SvmTest::checkIntersectRegionClipRegion(const GDIMetaFile& rMetaFile)
+{
+ xmlDocUniquePtr pDoc = dumpMeta(rMetaFile);
+
+ assertXPathAttrs(pDoc, "/metafile/sectregionclipregion[1]", {
+ {"left", "1"},
+ {"top", "2"},
+ {"right", "5"},
+ {"bottom", "6"}
+ });
+
+ assertXPathAttrs(pDoc, "/metafile/sectregionclipregion[2]", {
+ {"left", "1"},
+ {"top", "2"},
+ {"right", "7"},
+ {"bottom", "8"}
+ });
+
+ assertXPathAttrs(pDoc, "/metafile/sectregionclipregion[3]", {
+ {"left", "0"},
+ {"top", "3"},
+ {"right", "2"},
+ {"bottom", "6"}
+ });
+}
+
void SvmTest::testIntersectRegionClipRegion()
-{}
+{
+ GDIMetaFile aGDIMetaFile;
+ ScopedVclPtrInstance<VirtualDevice> pVirtualDev;
+ setupBaseVirtualDevice(*pVirtualDev, aGDIMetaFile);
+
+ tools::Polygon aPolygon(3);
+ aPolygon.SetPoint(Point(1, 2), 0);
+ aPolygon.SetPoint(Point(3, 4), 1);
+ aPolygon.SetPoint(Point(5, 6), 2);
+
+ vcl::Region aRegion(aPolygon);
+ pVirtualDev->IntersectClipRegion(aRegion);
+
+ tools::Polygon aPolygon1(2);
+ aPolygon1.SetPoint(Point(5, 6), 0);
+ aPolygon1.SetPoint(Point(7, 8), 1);
+
+ tools::PolyPolygon aPolyPolygon(2);
+ aPolyPolygon.Insert(aPolygon);
+ aPolyPolygon.Insert(aPolygon1);
+
+ vcl::Region aRegion1(aPolyPolygon);
+ pVirtualDev->IntersectClipRegion(aRegion1);
+
+ basegfx::B2DPolygon aB2DPolygon;
+ aB2DPolygon.append(basegfx::B2DPoint(0.0, 3.3));
+ aB2DPolygon.append(basegfx::B2DPoint(1.1, 4.4));
+ aB2DPolygon.append(basegfx::B2DPoint(2.2, 5.5));
+
+ basegfx::B2DPolyPolygon aB2DPolyPolygon(aB2DPolygon);
+
+ vcl::Region aRegion2(aB2DPolyPolygon);
+ pVirtualDev->IntersectClipRegion(aRegion2);
+
+ checkIntersectRegionClipRegion(writeAndReadStream(aGDIMetaFile));
+ checkIntersectRegionClipRegion(readFile(u"intersectregionclipregion.svm"));
+}
+
void SvmTest::testMoveClipRegion()
{}
More information about the Libreoffice-commits
mailing list