summaryrefslogtreecommitdiff
path: root/svgio/qa
diff options
context:
space:
mode:
authorXisco Fauli <xiscofauli@libreoffice.org>2024-04-22 16:38:35 +0200
committerXisco Fauli <xiscofauli@libreoffice.org>2024-04-22 18:43:08 +0200
commit851f60697d32849454528e5f14ed80446b330e0c (patch)
treefbd47f29a305ea632b2e281676c78a74d956a524 /svgio/qa
parentfcc5770dd1e33dcb4f4f0c28683569af5d1d8368 (diff)
tdf#159660: also add normal blend filter
Change-Id: I3edc7495975618357f002536857a11dcc72cc0b9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166460 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Diffstat (limited to 'svgio/qa')
-rw-r--r--svgio/qa/cppunit/SvgImportTest.cxx60
-rw-r--r--svgio/qa/cppunit/data/normalBlend.svg (renamed from svgio/qa/cppunit/data/filterFeBlend.svg)0
2 files changed, 42 insertions, 18 deletions
diff --git a/svgio/qa/cppunit/SvgImportTest.cxx b/svgio/qa/cppunit/SvgImportTest.cxx
index 31eb63c6075b..817980d00421 100644
--- a/svgio/qa/cppunit/SvgImportTest.cxx
+++ b/svgio/qa/cppunit/SvgImportTest.cxx
@@ -176,24 +176,48 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf155819)
assertXPath(pDocument, "/primitive2D/transform/transform"_ostr, 4);
}
-CPPUNIT_TEST_FIXTURE(Test, testFilterFeBlend)
-{
- xmlDocUniquePtr pDocument = dumpAndParseSvg(u"/svgio/qa/cppunit/data/filterFeBlend.svg");
-
- assertXPath(pDocument, "/primitive2D/transform/transform/polypolygoncolor[1]"_ostr, "color"_ostr, "#8a2be2");
- assertXPath(pDocument, "/primitive2D/transform/transform/polypolygoncolor[1]/polypolygon"_ostr, "height"_ostr, "100");
- assertXPath(pDocument, "/primitive2D/transform/transform/polypolygoncolor[1]/polypolygon"_ostr, "width"_ostr, "100");
- assertXPath(pDocument, "/primitive2D/transform/transform/polypolygoncolor[1]/polypolygon"_ostr, "minx"_ostr, "70");
- assertXPath(pDocument, "/primitive2D/transform/transform/polypolygoncolor[1]/polypolygon"_ostr, "miny"_ostr, "70");
- assertXPath(pDocument, "/primitive2D/transform/transform/polypolygoncolor[1]/polypolygon"_ostr, "maxx"_ostr, "170");
- assertXPath(pDocument, "/primitive2D/transform/transform/polypolygoncolor[1]/polypolygon"_ostr, "maxy"_ostr, "170");
- assertXPath(pDocument, "/primitive2D/transform/transform/polypolygoncolor[2]"_ostr, "color"_ostr, "#ffd700");
- assertXPath(pDocument, "/primitive2D/transform/transform/polypolygoncolor[2]/polypolygon"_ostr, "height"_ostr, "100");
- assertXPath(pDocument, "/primitive2D/transform/transform/polypolygoncolor[2]/polypolygon"_ostr, "width"_ostr, "100");
- assertXPath(pDocument, "/primitive2D/transform/transform/polypolygoncolor[2]/polypolygon"_ostr, "minx"_ostr, "30");
- assertXPath(pDocument, "/primitive2D/transform/transform/polypolygoncolor[2]/polypolygon"_ostr, "miny"_ostr, "30");
- assertXPath(pDocument, "/primitive2D/transform/transform/polypolygoncolor[2]/polypolygon"_ostr, "maxx"_ostr, "130");
- assertXPath(pDocument, "/primitive2D/transform/transform/polypolygoncolor[2]/polypolygon"_ostr, "maxy"_ostr, "130");
+CPPUNIT_TEST_FIXTURE(Test, testNormalBlend)
+{
+ xmlDocUniquePtr pDocument = dumpAndParseSvg(u"/svgio/qa/cppunit/data/normalBlend.svg");
+
+ assertXPath(pDocument,
+ "/primitive2D/transform/transform/bitmap"_ostr, "height"_ostr, "170");
+ assertXPath(pDocument,
+ "/primitive2D/transform/transform/bitmap"_ostr, "width"_ostr, "170");
+ assertXPath(pDocument,
+ "/primitive2D/transform/transform/bitmap/data"_ostr, 170);
+
+ assertXPath(pDocument,
+ "/primitive2D/transform/transform/bitmap"_ostr, "xy11"_ostr, "170");
+ assertXPath(pDocument,
+ "/primitive2D/transform/transform/bitmap"_ostr, "xy12"_ostr, "0");
+ assertXPath(pDocument,
+ "/primitive2D/transform/transform/bitmap"_ostr, "xy13"_ostr, "0");
+ assertXPath(pDocument,
+ "/primitive2D/transform/transform/bitmap"_ostr, "xy21"_ostr, "0");
+ assertXPath(pDocument,
+ "/primitive2D/transform/transform/bitmap"_ostr, "xy22"_ostr, "170");
+ assertXPath(pDocument,
+ "/primitive2D/transform/transform/bitmap"_ostr, "xy23"_ostr, "0");
+ assertXPath(pDocument,
+ "/primitive2D/transform/transform/bitmap"_ostr, "xy31"_ostr, "0");
+ assertXPath(pDocument,
+ "/primitive2D/transform/transform/bitmap"_ostr, "xy32"_ostr, "0");
+ assertXPath(pDocument,
+ "/primitive2D/transform/transform/bitmap"_ostr, "xy33"_ostr, "1");
+
+ // Check the colors in the diagonal
+ OUString sDataRow = getXPath(pDocument, "/primitive2D/transform/transform/bitmap/data[40]"_ostr, "row"_ostr);
+ std::vector<OUString> aPixels = comphelper::string::split(sDataRow, ',');
+ CPPUNIT_ASSERT_EQUAL(OUString("ffd700"), aPixels[40]);
+
+ sDataRow = getXPath(pDocument, "/primitive2D/transform/transform/bitmap/data[85]"_ostr, "row"_ostr);
+ aPixels = comphelper::string::split(sDataRow, ',');
+ CPPUNIT_ASSERT_EQUAL(OUString("ffd700"), aPixels[85]);
+
+ sDataRow = getXPath(pDocument, "/primitive2D/transform/transform/bitmap/data[130]"_ostr, "row"_ostr);
+ aPixels = comphelper::string::split(sDataRow, ',');
+ CPPUNIT_ASSERT_EQUAL(OUString("8a2be2"), aPixels[130]);
}
CPPUNIT_TEST_FIXTURE(Test, testFeColorMatrix)
diff --git a/svgio/qa/cppunit/data/filterFeBlend.svg b/svgio/qa/cppunit/data/normalBlend.svg
index 339653b6a150..339653b6a150 100644
--- a/svgio/qa/cppunit/data/filterFeBlend.svg
+++ b/svgio/qa/cppunit/data/normalBlend.svg