summaryrefslogtreecommitdiff
path: root/emfio
diff options
context:
space:
mode:
authorBartosz Kosiorek <gang65@poczta.onet.pl>2020-03-15 18:09:47 +0100
committerBartosz Kosiorek <gang65@poczta.onet.pl>2020-03-15 19:20:33 +0100
commit1f540cc7613cdbc0048f4013efe43886d256f86b (patch)
tree37516b6ce8e43ffb63bfc03ea9d2d89ec73ba117 /emfio
parent8c3af6240d5765fb8954025226477670e1d2a7c7 (diff)
tdf#124424 EMF+ Add tests for LinearGradient
Change-Id: I85dadb067c4e77b47504dee8bb11b4c15b6ead8d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90536 Tested-by: Jenkins Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
Diffstat (limited to 'emfio')
-rw-r--r--emfio/qa/cppunit/emf/EmfImportTest.cxx26
-rw-r--r--emfio/qa/cppunit/emf/data/TestLinearGradient.emfbin0 -> 132852 bytes
2 files changed, 26 insertions, 0 deletions
diff --git a/emfio/qa/cppunit/emf/EmfImportTest.cxx b/emfio/qa/cppunit/emf/EmfImportTest.cxx
index 2601e0e69f8f..9ce4e15f4965 100644
--- a/emfio/qa/cppunit/emf/EmfImportTest.cxx
+++ b/emfio/qa/cppunit/emf/EmfImportTest.cxx
@@ -40,6 +40,7 @@ class Test : public test::BootstrapFixture, public XmlTestTools
void TestDrawString();
void TestDrawStringTransparent();
void TestDrawLine();
+ void TestLinearGradient();
Primitive2DSequence parseEmf(const OUString& aSource);
@@ -49,6 +50,7 @@ public:
CPPUNIT_TEST(TestDrawString);
CPPUNIT_TEST(TestDrawStringTransparent);
CPPUNIT_TEST(TestDrawLine);
+ CPPUNIT_TEST(TestLinearGradient);
CPPUNIT_TEST_SUITE_END();
};
@@ -155,6 +157,30 @@ void Test::TestDrawLine()
assertXPath(pDocument, "/primitive2D/metafile/transform/polypolygonstroke/line", "width", "33");
}
+void Test::TestLinearGradient()
+{
+ // This unit checks for a correct import of an EMF+ file with LinearGradient brush
+ Primitive2DSequence aSequence = parseEmf("/emfio/qa/cppunit/emf/data/TestLinearGradient.emf");
+ CPPUNIT_ASSERT_EQUAL(1, static_cast<int>(aSequence.getLength()));
+ drawinglayer::tools::Primitive2dXmlDump dumper;
+ xmlDocPtr pDocument = dumper.dumpAndParse(comphelper::sequenceToContainer<Primitive2DContainer>(aSequence));
+ CPPUNIT_ASSERT (pDocument);
+
+ assertXPath(pDocument, "/primitive2D/metafile/transform", "xy11", "1.0000656512605");
+ assertXPath(pDocument, "/primitive2D/metafile/transform", "xy12", "0");
+ assertXPath(pDocument, "/primitive2D/metafile/transform", "xy13", "0");
+ assertXPath(pDocument, "/primitive2D/metafile/transform", "xy21", "0");
+ assertXPath(pDocument, "/primitive2D/metafile/transform", "xy22", "1.00013140604468");
+ assertXPath(pDocument, "/primitive2D/metafile/transform", "xy23", "0");
+ assertXPath(pDocument, "/primitive2D/metafile/transform/mask/polypolygon", "height", "7610");
+ assertXPath(pDocument, "/primitive2D/metafile/transform/mask/polypolygon", "width", "15232");
+ assertXPath(pDocument, "/primitive2D/metafile/transform/mask/polypolygon", "path", "m0 0h15232v7610h-15232z");
+ assertXPath(pDocument, "/primitive2D/metafile/transform/mask/svglineargradient[1]", "endx", "0");
+ assertXPath(pDocument, "/primitive2D/metafile/transform/mask/svglineargradient[1]", "endy", "-1");
+ assertXPath(pDocument, "/primitive2D/metafile/transform/mask/svglineargradient[2]", "endx", "0");
+ assertXPath(pDocument, "/primitive2D/metafile/transform/mask/svglineargradient[2]", "endy", "-1");
+}
+
CPPUNIT_TEST_SUITE_REGISTRATION(Test);
}
diff --git a/emfio/qa/cppunit/emf/data/TestLinearGradient.emf b/emfio/qa/cppunit/emf/data/TestLinearGradient.emf
new file mode 100644
index 000000000000..fb6e953dc55d
--- /dev/null
+++ b/emfio/qa/cppunit/emf/data/TestLinearGradient.emf
Binary files differ