vcl/qa/cppunit/svm/data/mapmode.svm |binary vcl/qa/cppunit/svm/svmtest.cxx | 56 ++++++++++++++++++++++++++++++++++-- 2 files changed, 54 insertions(+), 2 deletions(-)
New commits: commit 4550170f7bfb115876e1ac9758864040aba5cd21 Author: panoskorovesis <[email protected]> AuthorDate: Tue Jun 15 11:35:52 2021 +0300 Commit: Tomaž Vajngerl <[email protected]> CommitDate: Wed Jun 16 08:25:03 2021 +0200 Add MapMode cppunit test to vcl. The test creates multiple MapModes (relative and non-relative) with custom and default attributes, which then checks. Change-Id: Iaed461ece9cc044b5b271456a6bac10b1533062a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117232 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <[email protected]> diff --git a/vcl/qa/cppunit/svm/data/mapmode.svm b/vcl/qa/cppunit/svm/data/mapmode.svm new file mode 100644 index 000000000000..4f74a336e6ef Binary files /dev/null and b/vcl/qa/cppunit/svm/data/mapmode.svm differ diff --git a/vcl/qa/cppunit/svm/svmtest.cxx b/vcl/qa/cppunit/svm/svmtest.cxx index 02fbcdb5c04f..76725de14603 100644 --- a/vcl/qa/cppunit/svm/svmtest.cxx +++ b/vcl/qa/cppunit/svm/svmtest.cxx @@ -20,6 +20,7 @@ #include <vcl/lineinfo.hxx> #include <vcl/virdev.hxx> #include <vcl/pngwrite.hxx> +#include <tools/fract.hxx> #include <bitmap/BitmapWriteAccess.hxx> @@ -160,7 +161,7 @@ class SvmTest : public test::BootstrapFixture, public XmlTestTools void checkTextAlign(const GDIMetaFile& rMetaFile); void testTextAlign(); - //void checkMapMode(const GDIMetaFile& rMetaFile); + void checkMapMode(const GDIMetaFile& rMetaFile); void testMapMode(); //void checkFont(const GDIMetaFile& rMetaFile); @@ -1834,8 +1835,59 @@ void SvmTest::testTextAlign() checkTextAlign(readFile(u"textalign.svm")); } +void SvmTest::checkMapMode(const GDIMetaFile& rMetafile) +{ + xmlDocUniquePtr pDoc = dumpMeta(rMetafile); + + assertXPathAttrs(pDoc, "/metafile/mapmode[1]", { + {"mapunit", "MapPixel"}, + {"x", "0"}, + {"y", "0"}, + {"scalex", "(1/1)"}, + {"scaley", "(1/1)"} + }); + + assertXPathAttrs(pDoc, "/metafile/mapmode[2]", { + {"mapunit", "Map100thInch"}, + {"x", "0"}, + {"y", "1"}, + {"scalex", "(1/2)"}, + {"scaley", "(2/3)"} + }); + + assertXPathAttrs(pDoc, "/metafile/mapmode[3]", { + {"mapunit", "MapRelative"}, + {"x", "0"}, + {"y", "-1"}, + {"scalex", "(25/12)"}, + {"scaley", "(25/16)"} + }); +} + void SvmTest::testMapMode() -{} +{ + GDIMetaFile aGDIMetafile; + ScopedVclPtrInstance<VirtualDevice> pVirtualDev; + setupBaseVirtualDevice(*pVirtualDev, aGDIMetafile); + + MapMode aMapMode; + + pVirtualDev->SetMapMode(aMapMode); + + MapMode aMapMode1(MapUnit::Map100thInch); + aMapMode1.SetOrigin(Point(0, 1)); + aMapMode1.SetScaleX(Fraction(1, 2)); + aMapMode1.SetScaleY(Fraction(2, 3)); + + pVirtualDev->SetMetafileMapMode(aMapMode1, false); + + MapMode aMapMode2; + pVirtualDev->SetMetafileMapMode(aMapMode2, true); + + checkMapMode(writeAndReadStream(aGDIMetafile)); + checkMapMode(readFile(u"mapmode.svm")); +} + void SvmTest::testFont() {} _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
