From 79fde58c0e1037e2494f5750eff861a51e70369e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Mon, 10 Feb 2014 20:02:08 +0100 Subject: [PATCH 1/4] Create tests for line-symbolizer, using expressions for parameters - there are two versions: - line-symbolizer-expressions: stroke, stroke-width, stroke-opacity, offset - line-symbolizer-expressions-all: additionally test stroke-dasharray, stroke-linecap, stroke-linejoin, comp-op which are not supported right now --- ...-expressions-256-256-1.0-agg-reference.png | Bin 0 -> 1844 bytes ...xpressions-256-256-1.0-cairo-reference.png | Bin 0 -> 1589 bytes ...-expressions-256-256-2.0-agg-reference.png | Bin 0 -> 3274 bytes ...xpressions-256-256-2.0-cairo-reference.png | Bin 0 -> 2713 bytes ...ressions-all-256-256-1.0-agg-reference.png | Bin 0 -> 2964 bytes ...ssions-all-256-256-1.0-cairo-reference.png | Bin 0 -> 2393 bytes ...ressions-all-256-256-2.0-agg-reference.png | Bin 0 -> 5277 bytes ...ssions-all-256-256-2.0-cairo-reference.png | Bin 0 -> 3840 bytes .../line-symbolizer-expressions-all.xml | 91 ++++++++++++++++++ .../styles/line-symbolizer-expressions.xml | 71 ++++++++++++++ tests/visual_tests/test.py | 4 +- 11 files changed, 165 insertions(+), 1 deletion(-) create mode 100644 tests/visual_tests/images/line-symbolizer-expressions-256-256-1.0-agg-reference.png create mode 100644 tests/visual_tests/images/line-symbolizer-expressions-256-256-1.0-cairo-reference.png create mode 100644 tests/visual_tests/images/line-symbolizer-expressions-256-256-2.0-agg-reference.png create mode 100644 tests/visual_tests/images/line-symbolizer-expressions-256-256-2.0-cairo-reference.png create mode 100644 tests/visual_tests/images/line-symbolizer-expressions-all-256-256-1.0-agg-reference.png create mode 100644 tests/visual_tests/images/line-symbolizer-expressions-all-256-256-1.0-cairo-reference.png create mode 100644 tests/visual_tests/images/line-symbolizer-expressions-all-256-256-2.0-agg-reference.png create mode 100644 tests/visual_tests/images/line-symbolizer-expressions-all-256-256-2.0-cairo-reference.png create mode 100644 tests/visual_tests/styles/line-symbolizer-expressions-all.xml create mode 100644 tests/visual_tests/styles/line-symbolizer-expressions.xml diff --git a/tests/visual_tests/images/line-symbolizer-expressions-256-256-1.0-agg-reference.png b/tests/visual_tests/images/line-symbolizer-expressions-256-256-1.0-agg-reference.png new file mode 100644 index 0000000000000000000000000000000000000000..ac14ea7da7da1d65ef3a47c2440ec4c2c5258447 GIT binary patch literal 1844 zcmb_dYc$k(82$}r2s1U6$r-n->%_<`}HJ6bjtetK5%YN7od+O8kp7%WGIq!Kd&wKTh!!e{ZRvG|+ zB->d#0{|0+Fd!u^g77;OR}qw-I_YWygTdf%xU{sitgI{=jmBUwSS(gqSy@$8RZ~+F zhr{9Vcm@E5hK9z*##I0i2!sXz%+1Y7B$A7nnT?GN4*)WmY;SMx?CiV^fV;c9hlhs{ zg_@O<^YQT!C@Q{EQ}g%tAHd^-f`URrL)(Z%Hjx++5y3ifqR!cwN~KnKd(&vN;(&m> zurNBEel0F8DJcnppv=t7g@uLiXX`HjK-iP5Nv`q5?~1diMYelwHI@&Gby~^mtFsjB z$Wj=-=HhnPxXm+)@|asSJTbE=xJs#4I-}!$n!tuPbT6H0B~!)+A+SS=01st|m%*P$ z0~WxdAPlhs_FOE)6nFxpB=P@~HoZ-CJWap0>es993za-vp?(z&$Aeu#yUGsKpvR3F z@24u>Zg34QLnTGIwj&lh<8ze4Xt2WD)x&%3wCXOEszlw)A^uTpQaI1E!JXg;!OA~9_~UKiUNGY^Mr zNjIqTGiVC*ntA8YnIkE!%-v(W8c?E@7Lm|_Pw|&$ zUi{Fg(HweG{XAFo*uooiVWrWq8BUjYUn6YjdTd?;{peUOYq-y=!fB;kSR)uYP%%=S zL9dNmrH_y*+}k|nsp>l^knP%oGjNIvfA=}%IwUDwS>mpXjT0TK7S~cEm~K8`dlXP* zjL({(n!<^vn@R}^5%C7yIYVNOZA)`4k+Zs7M!?(|#I0V&<9S_Z1i_(T>p>j8KmUD8 zUQ}Z1?7VmBXy3aFBzujU7Fl%xJb2~M%c7I!Zk(*QdV#YQ5VEf*^ZZ}YRxj~f^j{GZS3QxV^3BHOzb-;qn-7M;q?uI zWkxiP{qUYi-whcUL*W%c)b?m-O>C1Q@jeNfZ2#-bL`_~&_YnR(U3-0pk0mkrgK2#1 zH9uC*V1888l4Su2;_j*V>C;)PVzr|!LZM8GcCL*vK$*WCavC*tZN( zw5twhW)mZ7@&xt>BvIVe9cSH&9^&n@{YKV!N{L>Qm)lslwa-h~ptoi>m&MXg_2Uvp zW(rWxL8a4$4#&jt9Yxy9ap78Hm?KOL`!;Fq^+aU%mVsOu?5$gCBcpm~+8mA!t;;hG>x}(4 zv`c{;EH9klO>-W#gXYOX96VpkQO8i}k;}#J<_{ToCo~PX)fVcWEr|<>ESX?UBH?9s zFO|MtD1D+fU~(_0b*!e%%IMoJ3Gva0;9tKMs)dT}k-(Egsz<(2qBFV%xTIzflC9+dJPcTfIm znN`H!P;V$RJ3huu*ghS!7j#sDJ#{_?Drf4-+l{O~FN+bTKCQF*Ms3KQB)wvhYk!$F d|F`w6D|B+JxS_B0+(d5>kZl~S?^^k${s{*f1783D literal 0 HcmV?d00001 diff --git a/tests/visual_tests/images/line-symbolizer-expressions-256-256-1.0-cairo-reference.png b/tests/visual_tests/images/line-symbolizer-expressions-256-256-1.0-cairo-reference.png new file mode 100644 index 0000000000000000000000000000000000000000..7aec6f0a5f94ddcf8e3601ea5dd933a459776811 GIT binary patch literal 1589 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911MRQ8&P5Fj-nz$e6&jg5_$msdzgNK8yj zQc_YyQc_M%PEk=&O-)TpOUp!6RaaNn(9qD-)YQt#%GTD_(b3V>)z!<(%g@j669Yp~ zP*7-S=zj)=sHmtz`-FWCuggd*Sf&K!otGE zF)^j3rE`;#reqzdoN!-~cV}tK+ND8xzyJTg8)xD->1@~}%_kckS{mmXUw>Ut6xC7bJok@`rEpY( z8)F8e6zc-k43P%01%V6{3OqP|V&;sAiy5{s^fFywGU0OIzM#RN>o7zGdbAEax7WEp zZ~aHcE`@cAL%;3__+GYRzg^@$yZFbs|+uJhUtR`@km)cz^uN!Vt-IrmX(;tpB=hC9Y-Gv_hg$bOJFbN9FYU9-NH9SLW# z*rUFB_3GD$6SM3+9<9zcw{1E1_3E>NTG1~h2kdV%%WU5xy?y)te;>YuNAFJdU=$E> zVANy%QS<$w)1DXL9(%rh2gBJL<}=-9r-+N3HQB+rL9?&;LEGb&9h>;`-WCbG^EFnwccrto ztMq61{40|38htnNf z)Z0WJ9O~Gze=(oNfu(|(_3W|%4ci1WL9(|yw#c)IJm6Kn#3vcV(6Wuec5nI7f{KrN zQnNU~)(N|P5R)oDf8RCvQ}Pp^x;`1Im1NM;@R@w)p6eQ#`&Ru0)&mTlu6{1-oD!M< D2V#rL literal 0 HcmV?d00001 diff --git a/tests/visual_tests/images/line-symbolizer-expressions-256-256-2.0-agg-reference.png b/tests/visual_tests/images/line-symbolizer-expressions-256-256-2.0-agg-reference.png new file mode 100644 index 0000000000000000000000000000000000000000..caccf8b70dc3ffda98cfb2cc7e9d6bf690b06640 GIT binary patch literal 3274 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 literal 0 HcmV?d00001 diff --git a/tests/visual_tests/images/line-symbolizer-expressions-256-256-2.0-cairo-reference.png b/tests/visual_tests/images/line-symbolizer-expressions-256-256-2.0-cairo-reference.png new file mode 100644 index 0000000000000000000000000000000000000000..7b051945e8f79b7b5df7b9b2ae286670f3d68ecc GIT binary patch literal 2713 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 HtjvD`;yU%m literal 0 HcmV?d00001 diff --git a/tests/visual_tests/images/line-symbolizer-expressions-all-256-256-2.0-agg-reference.png b/tests/visual_tests/images/line-symbolizer-expressions-all-256-256-2.0-agg-reference.png new file mode 100644 index 0000000000000000000000000000000000000000..f3dd07afe4efcba62c68604ef5924503bf6f37a9 GIT binary patch literal 5277 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 Q%b^)C)HT+rxsH7HFNdga?EnA( literal 0 HcmV?d00001 diff --git a/tests/visual_tests/images/line-symbolizer-expressions-all-256-256-2.0-cairo-reference.png b/tests/visual_tests/images/line-symbolizer-expressions-all-256-256-2.0-cairo-reference.png new file mode 100644 index 0000000000000000000000000000000000000000..0536cb79a61195068c76dc5c068a7c09eb3564c4 GIT binary patch literal 3840 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 literal 0 HcmV?d00001 diff --git a/tests/visual_tests/styles/line-symbolizer-expressions-all.xml b/tests/visual_tests/styles/line-symbolizer-expressions-all.xml new file mode 100644 index 000000000..880cfe193 --- /dev/null +++ b/tests/visual_tests/styles/line-symbolizer-expressions-all.xml @@ -0,0 +1,91 @@ + + + + + + + + + + frame + + csv + +wkt|name +Polygon((-180.0 -125.0, -180.0 125.0, 180.0 125.0, 180.0 -125.0, -180.0 -125.0))|bounds + + + + + + + + bug + + csv + +id|value|wkt +stroke|#ff0000|LineString(-160 -120,160 -120,160 -100) +stroke-width|5|LineString(-160 -90,160 -90,160 -70) +stroke-opacity|0.5|LineString(-160 -60,160 -60,160 -40) +offset|3|LineString(-160 -30,160 -30,160 -10) +stroke-dasharray|3,3|LineString(-160 0,160 0,160 20) +stroke-linejoin|bevel|LineString(-160 30,160 30,160 50) +stroke-linecap|round|LineString(-160 60,160 60,160 80) +comp-op|minus|LineString(-160 90,160 90,160 110) + + + + + diff --git a/tests/visual_tests/styles/line-symbolizer-expressions.xml b/tests/visual_tests/styles/line-symbolizer-expressions.xml new file mode 100644 index 000000000..ff3cf7950 --- /dev/null +++ b/tests/visual_tests/styles/line-symbolizer-expressions.xml @@ -0,0 +1,71 @@ + + + + + + + + + + frame + + csv + +wkt|name +Polygon((-180.0 -125.0, -180.0 125.0, 180.0 125.0, 180.0 -125.0, -180.0 -125.0))|bounds + + + + + + + + bug + + csv + +id|value|wkt +stroke|#ff0000|LineString(-160 -120,160 -120,160 -100) +stroke-width|5|LineString(-160 -90,160 -90,160 -70) +stroke-opacity|0.5|LineString(-160 -60,160 -60,160 -40) +offset|3|LineString(-160 -30,160 -30,160 -10) + + + + + diff --git a/tests/visual_tests/test.py b/tests/visual_tests/test.py index 96c7b5cdf..f1c0b41d8 100755 --- a/tests/visual_tests/test.py +++ b/tests/visual_tests/test.py @@ -219,7 +219,9 @@ files = { 'tiff-nodata-rgba':{'sizes':[(512,512)]}, 'tiff-nodata-tolerance':{'sizes':[(512,512)]}, 'tiff-nodata-edge-rgba':{'sizes':[(512,512)]}, - 'marker-vs-point':{'sizes':[(512,512)]} + 'marker-vs-point':{'sizes':[(512,512)]}, + 'line-symbolizer-expressions':{'sizes':[(256,256)]}, + 'line-symbolizer-expressions-all':{'sizes':[(256,256)]} } class Reporting: From 676e1c7bfc754fd1097e76bd24ea29dffd702328 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Tue, 11 Feb 2014 03:49:53 +0100 Subject: [PATCH 2/4] Added grid-reference.json files missing in 79fde58c0e1037e2494f5750eff861a51e70369e --- ...xpressions-256-256-1.0-grid-reference.json | 73 +++++++++++++++++++ ...ssions-all-256-256-1.0-grid-reference.json | 73 +++++++++++++++++++ 2 files changed, 146 insertions(+) create mode 100644 tests/visual_tests/grids/line-symbolizer-expressions-256-256-1.0-grid-reference.json create mode 100644 tests/visual_tests/grids/line-symbolizer-expressions-all-256-256-1.0-grid-reference.json diff --git a/tests/visual_tests/grids/line-symbolizer-expressions-256-256-1.0-grid-reference.json b/tests/visual_tests/grids/line-symbolizer-expressions-256-256-1.0-grid-reference.json new file mode 100644 index 000000000..2f66b217f --- /dev/null +++ b/tests/visual_tests/grids/line-symbolizer-expressions-256-256-1.0-grid-reference.json @@ -0,0 +1,73 @@ +{ + "keys": [ + "", + "1" + ], + "data": {}, + "grid": [ + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + ] +} \ No newline at end of file diff --git a/tests/visual_tests/grids/line-symbolizer-expressions-all-256-256-1.0-grid-reference.json b/tests/visual_tests/grids/line-symbolizer-expressions-all-256-256-1.0-grid-reference.json new file mode 100644 index 000000000..2f66b217f --- /dev/null +++ b/tests/visual_tests/grids/line-symbolizer-expressions-all-256-256-1.0-grid-reference.json @@ -0,0 +1,73 @@ +{ + "keys": [ + "", + "1" + ], + "data": {}, + "grid": [ + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + ] +} \ No newline at end of file From 38827071232867783798cb5fc7e9e2fbd5e9ca8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Tue, 11 Feb 2014 03:50:50 +0100 Subject: [PATCH 3/4] Create tests for polygon-symbolizer, using expressions for parameters - there are two versions: - polygon-symbolizer-expressions: fill, fill-opacity, gamma - polygon-symbolizer-expressions-all: additionally test comp-op which is not supported right now --- ...xpressions-256-256-1.0-grid-reference.json | 73 ++++++++++++++++++ ...ssions-all-256-256-1.0-grid-reference.json | 73 ++++++++++++++++++ ...-expressions-256-256-1.0-agg-reference.png | Bin 0 -> 2330 bytes ...xpressions-256-256-1.0-cairo-reference.png | Bin 0 -> 2349 bytes ...-expressions-256-256-2.0-agg-reference.png | Bin 0 -> 3510 bytes ...xpressions-256-256-2.0-cairo-reference.png | Bin 0 -> 3543 bytes ...ressions-all-256-256-1.0-agg-reference.png | Bin 0 -> 2906 bytes ...ssions-all-256-256-1.0-cairo-reference.png | Bin 0 -> 2922 bytes ...ressions-all-256-256-2.0-agg-reference.png | Bin 0 -> 4529 bytes ...ssions-all-256-256-2.0-cairo-reference.png | Bin 0 -> 4407 bytes .../polygon-symbolizer-expressions-all.xml | 71 +++++++++++++++++ .../styles/polygon-symbolizer-expressions.xml | 66 ++++++++++++++++ tests/visual_tests/test.py | 4 +- 13 files changed, 286 insertions(+), 1 deletion(-) create mode 100644 tests/visual_tests/grids/polygon-symbolizer-expressions-256-256-1.0-grid-reference.json create mode 100644 tests/visual_tests/grids/polygon-symbolizer-expressions-all-256-256-1.0-grid-reference.json create mode 100644 tests/visual_tests/images/polygon-symbolizer-expressions-256-256-1.0-agg-reference.png create mode 100644 tests/visual_tests/images/polygon-symbolizer-expressions-256-256-1.0-cairo-reference.png create mode 100644 tests/visual_tests/images/polygon-symbolizer-expressions-256-256-2.0-agg-reference.png create mode 100644 tests/visual_tests/images/polygon-symbolizer-expressions-256-256-2.0-cairo-reference.png create mode 100644 tests/visual_tests/images/polygon-symbolizer-expressions-all-256-256-1.0-agg-reference.png create mode 100644 tests/visual_tests/images/polygon-symbolizer-expressions-all-256-256-1.0-cairo-reference.png create mode 100644 tests/visual_tests/images/polygon-symbolizer-expressions-all-256-256-2.0-agg-reference.png create mode 100644 tests/visual_tests/images/polygon-symbolizer-expressions-all-256-256-2.0-cairo-reference.png create mode 100644 tests/visual_tests/styles/polygon-symbolizer-expressions-all.xml create mode 100644 tests/visual_tests/styles/polygon-symbolizer-expressions.xml diff --git a/tests/visual_tests/grids/polygon-symbolizer-expressions-256-256-1.0-grid-reference.json b/tests/visual_tests/grids/polygon-symbolizer-expressions-256-256-1.0-grid-reference.json new file mode 100644 index 000000000..2f66b217f --- /dev/null +++ b/tests/visual_tests/grids/polygon-symbolizer-expressions-256-256-1.0-grid-reference.json @@ -0,0 +1,73 @@ +{ + "keys": [ + "", + "1" + ], + "data": {}, + "grid": [ + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + ] +} \ No newline at end of file diff --git a/tests/visual_tests/grids/polygon-symbolizer-expressions-all-256-256-1.0-grid-reference.json b/tests/visual_tests/grids/polygon-symbolizer-expressions-all-256-256-1.0-grid-reference.json new file mode 100644 index 000000000..2f66b217f --- /dev/null +++ b/tests/visual_tests/grids/polygon-symbolizer-expressions-all-256-256-1.0-grid-reference.json @@ -0,0 +1,73 @@ +{ + "keys": [ + "", + "1" + ], + "data": {}, + "grid": [ + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + ] +} \ No newline at end of file diff --git a/tests/visual_tests/images/polygon-symbolizer-expressions-256-256-1.0-agg-reference.png b/tests/visual_tests/images/polygon-symbolizer-expressions-256-256-1.0-agg-reference.png new file mode 100644 index 0000000000000000000000000000000000000000..073a5572086fcdef32ff73d0a479f7db519a4860 GIT binary patch literal 2330 zcmcJRc{r47AIG2P$sCN!L>Z?n9SM~+C7mce*>|$dWJ`D{EwYrv@JKpG3dwS0Y#~RO z!H95Xj5l+HNgP?SXG&!Z2APR?&iMQNxA*(cyMPIh**lEx}v0RWJ; zu{L)B08lgq0f}v*;ZhaRO|)=zws*6@BqZrn(Yi;MI0>>!bDBM9Q_`^wA=wYElsgS#(XV&A`ipGZU> zK78oogJx%EM@RPs2BIM$D49%7OdNRfL}ZKJyEl}Y`mVgZoJ10xd{7 z9T#`qJ!2zF7!A)E&$bvEt~WSUXR2drZ(*S$mnD{UM>Y)MZ=ms>=7VxGici=1LhpRn z2;XV;hW8lzuRRBHzB9v$w-ucSKLZztfDxb|kKmBIn4%xEB@;LG!gRaR5B2U{#d?CT^j8vt5~D;0477k+bim4xP6u@D1tOF2K2Q&Q`zYc z_L+J)KkFtr+YXeBquaADaRnvNQ!#^_czy1C%-~*+6Qs1#1+#4vsl$2&R$Z@8Um?Bs zbz|NEo(ne5hR)0lyUUuY-R;>3Q2msl`_rRi;?KWs#GC=mz}Xx|hF!F_ch2s##*Ucx zPTJYVJ+1cCF{QVIt&=I0NCHr;g+}MBoV_90sD_Ji7kfLHhjFe#C;(4!GOkqbOH}ea zkwS2QulQI1ZP?Eey)6st=7%%5&FQ!MJ8G8$ubxgOS1SjF;zGFlHQ$sFKnHMbv>^Im z7RiuwxV06%65-EV<|MtAoE#Ym+VG1mZlElkxP|YP@vGTBGi7UZlW3FrnSpTmR*nCBTlr^VqHRdF`h5AS+n$oMpcFJq-L%#>)J?MMynMK&RDDV%m#*D2 zmV*65{+jD%N#-%FR(#vdLk!P>+PE5hqh2;`PwyYyZ_#o+DokPE3xyrLlOG zyN{3kLvE2nM^7s(TB_DIBNhId^*+bD0!z*x*Rhz;NO4W#I1{^+1Sh1dq!Om@9ky)| zrDlw=^18FF&Fx7^xVm4!?19;nN=kZbY0H~(rr_B_0wJJ&T9`Ar_AxnroCbX9-B7!7vW`2DJBU6PG z0JPBpmVLNut}ctlzub@hV#$C;AojvqY)cD+6YMpzisgS)|LX z;7fYI4oCz?AiC=`z^bF1kYEYo(k7iKkTj%m?pIvA)$j7!Dx$8|`Ty)Yo7)y`>Qwa> SIKPPgJb;abqdCRY@Akhh{WUTG literal 0 HcmV?d00001 diff --git a/tests/visual_tests/images/polygon-symbolizer-expressions-256-256-1.0-cairo-reference.png b/tests/visual_tests/images/polygon-symbolizer-expressions-256-256-1.0-cairo-reference.png new file mode 100644 index 0000000000000000000000000000000000000000..07a6cb1a80bcd3a1d1412e890732229a3657b2b7 GIT binary patch literal 2349 zcmd5-`#;l*AKqtKn9FNu*4ar!5_9W?(sVN9I}+wTx0&jUB_xzv^N~2^TH@s3w9$%~ z%b^mvb=-0%w@4-=)Z8*Qi_cfzpUxlf{k~q`pPuLa{P=#J*Yn&V*%4)sSR@Pvld-ls z;|PNRyA*&)?Ae6?4%vD4uqB;ywv?8Z#$Yg5ELK@rSyfe4LqkJTQ&U%0_t>#xMn*<> zJl@RAj7TKf+SJFJ7GU@PINi zGpST4E$tDF2Ic1F=H%ojB#eZGL2NcVC1or+8Y(H_WM)pp$3r4t`e`ugU|%DLv|mhSHE#>T~=p`o6hrLnQGt}bX~WR=V1j*qXs ze-F*h@~5Yvg@yH{r6nG3htKD)uWt*5J0g(?f}qa)>fQH>=USgJbB@U4{TbjUAFx01 zG09P3;=T8aQqG$TQ-G0KJo}1TM7Oj2%H0chlFFl`oj; zM?MxcaNB*X6ZmbUp(WTcKa1;UfwhnBmxF=8#|{T5xsXpRqyV|_Iqun0JRJwX6Rw?Z z{}O&&?A?Cm6@<1_#fj4&kmP;T>oK+Hio>k9)ehIDn_yy_h9^J=hG#Zqe{b9f@TuR{ ztDk&5Y4UT{whjrf28{Z47JZLy=|pBAyJNk!gpqnHLPPoSmt%q=UT`YXO0q~N);uIQ z*fb?6g3)u|Wn7gz(NJ&2#hH}-lqC&m0Fu}p=ixT}CUnEq>fC4}p-F{twD)1wE zX`07irY+3!IGGz0L7AI=;fyp2LK>0H-O#=r_pmp=T*{|f9yfzyMqymrm>RA@$K{nf zMd3jR3D+h9q5f4v$f2PU<(Vhx0|{P;Foe~_dRlpqI>m#@q#(k?45RvjWuGI5B(7YG zi9#32Ppu0mS9ek0WWm@V+bngex_#gunNJ;r|6S#zpdhRK=un=5zNvvQXtuPm<>$^4 zb{=XaU>$iu_5j=6(2WqeKJe;4w)e_MCEc2eVYxGdrJxb;qP@@)z`?a<#7C=Mjge_5s_4dF zpY?9ub|p}nda9J`jHO#fH-E5cAIrvVP<%r7tg5ZBGAR8Y|Dwv;qy5$>%)|Xd_9W=qLKM-RV z+T;$7>IrJ-JZ5~=Qp2LBdK9`JLtTAns>9G7S^7}#SZQR^;X<$n`96_1&Bp3ywMaPD zJ+9y|%Qfy2Ae(Mq4j&GdIBexM^IzH?!tv?3%l#Z%Z+QxRG{hxrH;=~2QOL&hQ^%P!+G}K~E?zRxs2b`TB z!cpCtTBJG#p1L(X1po3IY18lmOyHa!1vG+48UKkHgy0}6PBQMu5!X(nr~|&Dnfs+6 z0%)7jVBEI3r{kq~4$8}+A=rrQQ=*yaYs3AHT`mMi&|S!6`j;ebbS-0YC0Xu(CNNjN zonTUucn)!w1Kt9o3LAFrTa4QMI(+vjECXGHBTRQQQDvo_8IqyEJ{*Y%4kg%oz*>>n z$h&n*T~ZO|kM}gv(w5bKPy>ZDgM^=kBpA^L olwh_(%viMT?&kgPHfSzZeI*F$@WEl)MQrWU^$r@R@t+}Zg zJ1JSlE;J~avLr+9M&4h2{)X@Qob&nVx~}JWUcX%DJkNPt_bts0cu*oJ0057Xq3$IB zUa3KzgXSKcc!H{ifYOQxLva_?JP$*trUI76CAt50Q27|?7B_$=LrKM$MWpOy1 zl9G~|nwo}&1|E;s(b3V@*Ecpcwy?0Uva$jIvbDA4;`+hP4)OACIyg8WkM_<3) z+`RVErRPRQ9X2+Vr%yux0Ri^*<&KWUii(iAd6$bzeo#=5iVEc6k#YHQcW7wn?c0e# zK@UPg;v5`$FI<2kBO@asqRC{ki_05N&w+%51Z!*P(W6J1nVHVc5Q#){bA$5o@}i^1 z3JMDR{h^|wqWkwJ%gV|U6Q@WdC@pQKs;Vj`=D;&oS67#q2)%gmB0U`{D_dx3X{oGS z%+H6YRBA^@M@b3P(D13U66)*gYiU`2^X3hO!f0rKhK7c^yT6W%j8Li2`1tt1z*ZO+fnkB&mKvs*JW(9+V*(h|gA?5?k`udV&Nxw*Nv25oO|Z*Bd8AZTOa zj5`3_(?+`5*1`E}`N`Ku4Mloo>qlvqv|PG z-`{zA0oqUdT+Z1v+mEq14)g;r+IcplRaSffNd`lPAJG+(pkZY(i(muN<8dTpz5ro* zr8A4r1CH4z;6jnsT=Wi`x6|wjQ4hdWl7b)78WcwF!m|!;lhGsG%qEB6Vw+0s+jtoe zuKvV}{`2MzEh|LndXEE_1AGGPF12UiNq263;$|_vjY|&=vr3Lre}3yPNnZWL&`Yx^ z@OoI$)_X-ZRT@Z$iRX+d9|D1@&tasN`cAu2v`E;9plrKlnvGpjy?i5~X4G2zG}zOS zJ1an=^PLlhO=uq0F}!*RPr2vxr*jJR>-dc^Z9_X0{;|_G?t@NMh$yQbF3wT)U{rWV zwJ|k>%vyhD>1OFKn_uMqr{66yO<~wPbYX>A*%d9cko&n#{xk@5ldy82DRqL< z;0y&pg~SQ7S!VlizOi79AH}MuP5DZO@1u&4WAE#MI2$tH7%x^#M+QNxD2ff@oO2b} z-(_=@;@W^>wCj<#s=mv!X>q)P2m5U+#q^)74z?vmBjTBjDy`QZaNEzYU5hkv(O;N9 zoh@1Q^uWsu)vYf-1ExYCr2#?gt8ZHD7d8-vE*ssySUl#ugxJ$^-iIRobU*&vOWQ`? zG?0e5>W3%qF0dxHM0!sFGxz1b#?dq6Xd(B_xWA-8$xh!L}%8BRW)mgyo@ zw2LX0Z5ymR^-=Y4L;rVG?MOPLNU^|6NWu(3(|m_m=wkIYey~^sUN{o@Ym#g9@yy!C zfl4Hq#7yuRbC$8WlmW|6@G+#LD@4eWBe4omvfw1faTl#F2u_da9i#hL>1>41Me zK_+!(a4W$|s91*oI$ssqh9!Je653mS`fm4lbMWPeE32BVnxawv{H3C*;87|_xM{aDE$My% zk7$4I`J=1$@}yU$H5&mGKKU>?7WOL^1Z-k)-d>cPq6^pZ!l{Z|0WL1?xqnCO-|}=} z6g?u{@b+B$q*6oP2QQV!5MMmx(94rY;BVhLr~h@1ES@-T9`KmJ+wQY-aqiuobL1^o zh34_zrhBa3(~(~j7xAlw(T9R`(40oU=<%LVifPWtwO%anS$coVObjv zMF~CVEWWE)(Y1~*6_WW$X@s=?I9k$@)yFdUJbfF@OzsXZP26vCb4wHBlGW8Y#WiuR zI%fdp)v4ZJxurtpt7S+IaumnVkFKW7o6|mu%da*T@%NPR+Z|GSLAWDWW+fq(^K^gU zI=4nHY){+p+~CNh#y!=vb0CP>eDam485kfh7f;`yMCnGsEoWs{N=hI4;9D;WOO)jV z{R~ycl$!=c>xV7zugHAmzptIL>t@AODEXL36K$X5Gv#D1G3z;(m#?gd={Ps?7sjr- zh9MNf6i*Ov;3{7q%!?*$#@SrlL2^tJvZ@;`?1k-GfY+6O-70v@;ivuwI7=!yU+`r2 z3STqE>6)nP-BC^V5G`zrT60q-XUaFmaHShZTue@K1!tY^OWHu$4NUin2J&lU3BDzmn(Kwl)&eeJn;Rq zTW2?=`YBT!;g?jpqSgmnrNQFXy@blSE{P3naq~`bPHYksj}(Nc~_8NG*rV_b&dbBP_wGSIQk*@ zMn|xve)(LPqGKVFyc%=&hWFa1sn_qynwrkF1}nc6ZaKH#6uU;D%w?T5I0VAN-Zzl8 z*Z1cqXnCsm%LQ}0wa^Wh_1uv_FCTaBJRaQ9$09L`ow*D)vgX-{x^fIJ@$Hvo1&P@& zrR;@^rK%%WHn`ce*HHEfD_pv*p^Sd*Y`8irQ6Qo&aQe$ck?93u2y5o+0MOZV4H*Bq zyr6rAilapqr1Ba5hiWYEh0oS>;bm>TVYB-~sg$ML5yANn*BnHl}%0 z`~*pQ|KWoZAni9F+yRG^fAhf+Ld$PH_ypwig(+;Z?0!qWEq+;Xakw3xYs_GdI95W> zU2Av->~$a3{+tSKubMQ7a|*YRwnUPnEh4jfCRK)~YZk17l)Q8ZW9VAGLUC%}7H9X& zVOmOyn8s_LXp1;}1e$qsa zb`MhW=VL1#sDf9(?B;dJ*KHmbRojkfK|>ps^ZM*kllNLJwh literal 0 HcmV?d00001 diff --git a/tests/visual_tests/images/polygon-symbolizer-expressions-256-256-2.0-cairo-reference.png b/tests/visual_tests/images/polygon-symbolizer-expressions-256-256-2.0-cairo-reference.png new file mode 100644 index 0000000000000000000000000000000000000000..c4a8da01ee52ec7290a9ea10b725882020aa8bf1 GIT binary patch literal 3543 zcmdUyc|6qn_s8F}7)vp@_BAv}*|N)M?8!DFAzWokOe$Np47rwT$(DVYYrUZ?SF(gr zLU!4=>^s9yi1>Vce~-uSzwe*lf4=9Rb6#h8oIlU=MB$C~7#VmN004~oH?(g706Pm| zfDUoy+{!G?&qM{@&|K$CqEIM$dU_@%CKeVJ4h{|;9v%S!0U;qFQBhF|2?AFNU|?cmVrps%0AyidK}&mxL_!P<`;3fx*4Ea{%sVVB6nc7y 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 R*$aDSU}NEE&NQX}`d?&NB`5#@ literal 0 HcmV?d00001 diff --git a/tests/visual_tests/images/polygon-symbolizer-expressions-all-256-256-1.0-cairo-reference.png b/tests/visual_tests/images/polygon-symbolizer-expressions-all-256-256-1.0-cairo-reference.png new file mode 100644 index 0000000000000000000000000000000000000000..07b33c7e565ed28d18e1f50b93fa09e11c5c49be GIT binary patch literal 2922 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 BIQ#$r literal 0 HcmV?d00001 diff --git a/tests/visual_tests/images/polygon-symbolizer-expressions-all-256-256-2.0-agg-reference.png b/tests/visual_tests/images/polygon-symbolizer-expressions-all-256-256-2.0-agg-reference.png new file mode 100644 index 0000000000000000000000000000000000000000..80d87428a2a0b431b104ee662215012d14761a94 GIT binary patch literal 4529 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 + + + + + + + + + frame + + csv + +wkt|name +Polygon((-180.0 -125.0, -180.0 125.0, 180.0 125.0, 180.0 -125.0, -180.0 -125.0))|bounds + + + + + + + + bug + + csv + +id|value|wkt +fill|#0000ff|Polygon((-160 -120,-20 -120,-40 -80,-100 -90,-160 -120)) +fill-opacity|0.5|Polygon((-160 -70,-20 -70,-40 -30,-100 -40,-160 -70)) +gamma|1.0|Polygon((-160 -20,-20 -20,-40 20,-100 10,-160 -20)) +comp-op|minus|Polygon((-160 30,-20 30,-40 70,-100 60,-160 30)) + + + + + diff --git a/tests/visual_tests/styles/polygon-symbolizer-expressions.xml b/tests/visual_tests/styles/polygon-symbolizer-expressions.xml new file mode 100644 index 000000000..916f30a37 --- /dev/null +++ b/tests/visual_tests/styles/polygon-symbolizer-expressions.xml @@ -0,0 +1,66 @@ + + + + + + + + + + frame + + csv + +wkt|name +Polygon((-180.0 -125.0, -180.0 125.0, 180.0 125.0, 180.0 -125.0, -180.0 -125.0))|bounds + + + + + + + + bug + + csv + +id|value|wkt +fill|#0000ff|Polygon((-160 -120,-20 -120,-40 -80,-100 -90,-160 -120)) +fill-opacity|0.5|Polygon((-160 -70,-20 -70,-40 -30,-100 -40,-160 -70)) +gamma|1.0|Polygon((-160 -20,-20 -20,-40 20,-100 10,-160 -20)) + + + + + diff --git a/tests/visual_tests/test.py b/tests/visual_tests/test.py index f1c0b41d8..5accc9bc6 100755 --- a/tests/visual_tests/test.py +++ b/tests/visual_tests/test.py @@ -221,7 +221,9 @@ files = { 'tiff-nodata-edge-rgba':{'sizes':[(512,512)]}, 'marker-vs-point':{'sizes':[(512,512)]}, 'line-symbolizer-expressions':{'sizes':[(256,256)]}, - 'line-symbolizer-expressions-all':{'sizes':[(256,256)]} + 'line-symbolizer-expressions-all':{'sizes':[(256,256)]}, + 'polygon-symbolizer-expressions':{'sizes':[(256,256)]}, + 'polygon-symbolizer-expressions-all':{'sizes':[(256,256)]}, } class Reporting: From 96e5129c9a8a8004fdf6d52ac900bd62e89b29ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Tue, 11 Feb 2014 04:19:53 +0100 Subject: [PATCH 4/4] Create tests for point-symbolizer, using expressions for parameters - there are two versions: - point-symbolizer-expressions: file - point-symbolizer-expressions-all: additionally test allow-overlap, opacity, transform, ignore-placement, comp-op which are not supported right now --- ...xpressions-256-256-1.0-grid-reference.json | 73 ++++++++++++++++ ...ssions-all-256-256-1.0-grid-reference.json | 73 ++++++++++++++++ ...-expressions-256-256-1.0-agg-reference.png | Bin 0 -> 806 bytes ...xpressions-256-256-1.0-cairo-reference.png | Bin 0 -> 884 bytes ...-expressions-256-256-2.0-agg-reference.png | Bin 0 -> 1168 bytes ...xpressions-256-256-2.0-cairo-reference.png | Bin 0 -> 1179 bytes ...ressions-all-256-256-1.0-agg-reference.png | Bin 0 -> 2849 bytes ...ssions-all-256-256-1.0-cairo-reference.png | Bin 0 -> 2918 bytes ...ressions-all-256-256-2.0-agg-reference.png | Bin 0 -> 4341 bytes ...ssions-all-256-256-2.0-cairo-reference.png | Bin 0 -> 4121 bytes .../point-symbolizer-expressions-all.xml | 81 ++++++++++++++++++ .../styles/point-symbolizer-expressions.xml | 56 ++++++++++++ tests/visual_tests/test.py | 2 + 13 files changed, 285 insertions(+) create mode 100644 tests/visual_tests/grids/point-symbolizer-expressions-256-256-1.0-grid-reference.json create mode 100644 tests/visual_tests/grids/point-symbolizer-expressions-all-256-256-1.0-grid-reference.json create mode 100644 tests/visual_tests/images/point-symbolizer-expressions-256-256-1.0-agg-reference.png create mode 100644 tests/visual_tests/images/point-symbolizer-expressions-256-256-1.0-cairo-reference.png create mode 100644 tests/visual_tests/images/point-symbolizer-expressions-256-256-2.0-agg-reference.png create mode 100644 tests/visual_tests/images/point-symbolizer-expressions-256-256-2.0-cairo-reference.png create mode 100644 tests/visual_tests/images/point-symbolizer-expressions-all-256-256-1.0-agg-reference.png create mode 100644 tests/visual_tests/images/point-symbolizer-expressions-all-256-256-1.0-cairo-reference.png create mode 100644 tests/visual_tests/images/point-symbolizer-expressions-all-256-256-2.0-agg-reference.png create mode 100644 tests/visual_tests/images/point-symbolizer-expressions-all-256-256-2.0-cairo-reference.png create mode 100644 tests/visual_tests/styles/point-symbolizer-expressions-all.xml create mode 100644 tests/visual_tests/styles/point-symbolizer-expressions.xml diff --git a/tests/visual_tests/grids/point-symbolizer-expressions-256-256-1.0-grid-reference.json b/tests/visual_tests/grids/point-symbolizer-expressions-256-256-1.0-grid-reference.json new file mode 100644 index 000000000..2f66b217f --- /dev/null +++ b/tests/visual_tests/grids/point-symbolizer-expressions-256-256-1.0-grid-reference.json @@ -0,0 +1,73 @@ +{ + "keys": [ + "", + "1" + ], + "data": {}, + "grid": [ + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + ] +} \ No newline at end of file diff --git a/tests/visual_tests/grids/point-symbolizer-expressions-all-256-256-1.0-grid-reference.json b/tests/visual_tests/grids/point-symbolizer-expressions-all-256-256-1.0-grid-reference.json new file mode 100644 index 000000000..2f66b217f --- /dev/null +++ b/tests/visual_tests/grids/point-symbolizer-expressions-all-256-256-1.0-grid-reference.json @@ -0,0 +1,73 @@ +{ + "keys": [ + "", + "1" + ], + "data": {}, + "grid": [ + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + ] +} \ No newline at end of file diff --git a/tests/visual_tests/images/point-symbolizer-expressions-256-256-1.0-agg-reference.png b/tests/visual_tests/images/point-symbolizer-expressions-256-256-1.0-agg-reference.png new file mode 100644 index 0000000000000000000000000000000000000000..4b778cba2a384ec4cd7e653e42b63865f0e861dc GIT binary patch literal 806 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911MRQ8&P5Flk7;1l91E-uc%@INszv8br1 zy1Kfdp`oXzXUdc*vu4d&ym;~2wQDzT-n@JF?xRPKUcGwt_U+s6-o5+axaleb1JgQB z7srr_IdAW7%)9L%zz{eqDC6X$Gr#|@?-g3&rMSURUg6x8=rg<(?Qbo5n~gIWeHphj zEMtgr2xib-pxGdHLBxSOgKGh+3F`%>Sxgy3OE)}y;Ip64k2;1?<`i1!KKq(s`g_A; z$+6St<}m0p>m<*U|NP_6uD44!+v_v;+_pKEJ4gTf@reE3f^JO@XViOba`y8d9)oF> z|LV@4e-PS`8slGIccyyZAFJN?nQzp#s_U;maQ*9-AJPd{`lr9l^M81Z;rj2tc6>4q zO5~DlABpa$w>xH|x4p2+uAQA{!bP0l+XkKK*}tL literal 0 HcmV?d00001 diff --git a/tests/visual_tests/images/point-symbolizer-expressions-256-256-1.0-cairo-reference.png b/tests/visual_tests/images/point-symbolizer-expressions-256-256-1.0-cairo-reference.png new file mode 100644 index 0000000000000000000000000000000000000000..c676e864c90f0c9b137cd69cdc3cf704d7be59db GIT binary patch literal 884 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911MRQ8&P5Fq6d;1l91E-tRFu5M~-%E0hn zM&_}l<#7*>9VI0tDJipyih3Iw8oIl?Cr_R{W5$em^X4sDv}nzmHJdhV+P!=C(W6Jt zo;`cz%9Y!lTFX^e%r|V$F54W|NUg;o28b`cyE5g*-dZe-($|1Kkcm% zP-u1kfzLN|9xEUCTo(E6`~Gy#vrqOg@ZbKvdb+%&_#E*ExxY7he%4vOa*p7GkAGzg zZoJ#>zj@BGP5byP=E=qRpMLqHLgx76$3O*JM6SW3?pY5*`S$Yr?+;oiA2|E&*Kb=1 z)*n?Kj9dW?@4qLkVcoI&@9D4aetmx8ey%N>F|X|ZXXX5ss|@??ZoakaH^00_?UMC_ z*NUtf4vhQmHwQMXZ@=^B%+L4owSt%6HjtP&?CSXTWtcraL`qu1AE)&U2d4czT|IAG R2QV8kc)I$ztaD0e0swI4UXB0& literal 0 HcmV?d00001 diff --git a/tests/visual_tests/images/point-symbolizer-expressions-256-256-2.0-agg-reference.png b/tests/visual_tests/images/point-symbolizer-expressions-256-256-2.0-agg-reference.png new file mode 100644 index 0000000000000000000000000000000000000000..8be7b84fd172bd6bc739382c4290b46d76bde59b GIT binary patch literal 1168 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911MRQ8&P5Fk|);1l8sq&Yb`&CSiNt*xD% zoqc?K7#RMCg@v)O{1Fm*D=YgbB_%~q@1m{kVQ1$(K|$+MQfBAnO)4qrt^tAOhK7co zo}S5*C(oKSYsr!&D_5>uw{G2*EnD{N*>m{t;WKB>T)%$(&Ye5&-o5+y@#FXJ-~a#r zFTug`m4Sizrl*TzNX4ADGj10xa*$wSzm~Dc^U97#oy`jWfA4?9r=}Lwnw>XeUDJB~ zj!8Q+qGl$RTs=^@g`t<}0+R`s1NQ|D23?263=|4D7!};9dO#JUsNozE%_w*;f6~r& zbL{)s&iOmV7i{1TEw*5p%5`!s!_vrYcSW}Oo_%%pU|-@|rb}`O>C10ePQUW5|3BA` ziBlW59=a&EV9V6#siCp%ljk$cuHALNWh=Ksbi~^Q?k_VxuOSEcP}aBvzU2w-M8?+d$}UY)+L0BM9ao(^1c<`c%EVRY6j!! z^VAP^YOf9deqe9v2F?jFtQ~hRFFAN$Y8&^P8=Cw14Sp?>NNbq*`=+c)qpbDQ?Tlf1 zKkE#**4)tD&l}(tShw#_&J4z^+wSi&x6X5&IG0Jg?DSrS%|B!m=FPk>ac<3;wKH7) zc@`ACxOr}at;5I4_4B{mpJkr-^!BSyo6=`Deq-wS^!1@4y}%ia(w{|tP(K|Pyfscmw)i}*%_rBsqI@>XY7x8yuSWVP4P2ZFuy|n z|NQL_rpYd1(0wkp{<_a!)%|zo%w*sGX2LcG`P13=W_f;icE-KnG~Y#|9|bK;8Vz9N zz#z)TT4CYDD3b7i@!92gTe~DWM4f+)mb_ literal 0 HcmV?d00001 diff --git a/tests/visual_tests/images/point-symbolizer-expressions-256-256-2.0-cairo-reference.png b/tests/visual_tests/images/point-symbolizer-expressions-256-256-2.0-cairo-reference.png new file mode 100644 index 0000000000000000000000000000000000000000..2c1b5ead11af1c8d5ec2353d8ae58651a91f7aac GIT binary patch literal 1179 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 literal 0 HcmV?d00001 diff --git a/tests/visual_tests/images/point-symbolizer-expressions-all-256-256-1.0-cairo-reference.png b/tests/visual_tests/images/point-symbolizer-expressions-all-256-256-1.0-cairo-reference.png new file mode 100644 index 0000000000000000000000000000000000000000..2a1bc14365c66be7958a1336157852c9f4d2951f GIT binary patch literal 2918 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 literal 0 HcmV?d00001 diff --git a/tests/visual_tests/images/point-symbolizer-expressions-all-256-256-2.0-cairo-reference.png b/tests/visual_tests/images/point-symbolizer-expressions-all-256-256-2.0-cairo-reference.png new file mode 100644 index 0000000000000000000000000000000000000000..c9969b0d2600e9cea2350d007211c5a759cffcf4 GIT binary patch literal 4121 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 literal 0 HcmV?d00001 diff --git a/tests/visual_tests/styles/point-symbolizer-expressions-all.xml b/tests/visual_tests/styles/point-symbolizer-expressions-all.xml new file mode 100644 index 000000000..17a0c891e --- /dev/null +++ b/tests/visual_tests/styles/point-symbolizer-expressions-all.xml @@ -0,0 +1,81 @@ + + + + + + + + + + frame + + csv + +wkt|name +Polygon((-180.0 -125.0, -180.0 125.0, 180.0 125.0, 180.0 -125.0, -180.0 -125.0))|bounds + + + + + + + + bug + + csv + +id|value|wkt +file|../../data/images/crosshair16x16.png|Point(-130 -70) +allow-overlap|../../data/images/crosshair16x16.png|Point(0 -70) +opacity|../../data/images/crosshair16x16.png|Point(130 -70) +transform|../../data/images/crosshair16x16.png|Point(-130 30) +ignore-placement|../../data/images/crosshair16x16.png|Point(0 30) +comp-op|../../data/images/crosshair16x16.png|Point(130 30) + + + + + diff --git a/tests/visual_tests/styles/point-symbolizer-expressions.xml b/tests/visual_tests/styles/point-symbolizer-expressions.xml new file mode 100644 index 000000000..bab6fb918 --- /dev/null +++ b/tests/visual_tests/styles/point-symbolizer-expressions.xml @@ -0,0 +1,56 @@ + + + + + + + + + + frame + + csv + +wkt|name +Polygon((-180.0 -125.0, -180.0 125.0, 180.0 125.0, 180.0 -125.0, -180.0 -125.0))|bounds + + + + + + + + bug + + csv + +id|value|wkt +file|../../data/images/crosshair16x16.png|Point(-130 -70) + + + + + diff --git a/tests/visual_tests/test.py b/tests/visual_tests/test.py index 5accc9bc6..7a984a463 100755 --- a/tests/visual_tests/test.py +++ b/tests/visual_tests/test.py @@ -222,6 +222,8 @@ files = { 'marker-vs-point':{'sizes':[(512,512)]}, 'line-symbolizer-expressions':{'sizes':[(256,256)]}, 'line-symbolizer-expressions-all':{'sizes':[(256,256)]}, + 'point-symbolizer-expressions':{'sizes':[(256,256)]}, + 'point-symbolizer-expressions-all':{'sizes':[(256,256)]}, 'polygon-symbolizer-expressions':{'sizes':[(256,256)]}, 'polygon-symbolizer-expressions-all':{'sizes':[(256,256)]}, }