From 6efd3dab0ba25e7ac1265dff6ebf4680fed6d37c Mon Sep 17 00:00:00 2001 From: Andreas Hocevar Date: Thu, 7 Apr 2016 18:03:57 +0200 Subject: [PATCH] Add rendering tests to ensure correct circle and polygon rendering (#5189) --- .../spec/ol/layer/expected/vector-canvas.png | Bin 0 -> 2193 bytes test_rendering/spec/ol/layer/vector.test.js | 77 ++++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100644 test_rendering/spec/ol/layer/expected/vector-canvas.png create mode 100644 test_rendering/spec/ol/layer/vector.test.js diff --git a/test_rendering/spec/ol/layer/expected/vector-canvas.png b/test_rendering/spec/ol/layer/expected/vector-canvas.png new file mode 100644 index 0000000000000000000000000000000000000000..cd2d1e86cecc1989e8c97a1c5b3af0b8f51907a3 GIT binary patch literal 2193 zcmV;C2yXX@P) zOHUig7J%~`vYOQ_?qA5vB7f-aBh4b3{bVuwxe`)#kwUVWM4A~pTmuOqJjNITvB42d zw`n_mwB23R)!pTKSKS5ih;V~#Y-8-uEqyD5RQ;){>u~Cv;?AA)nauO!Z~5$GLP6Yrym|K@f%g^)-``s(n5RYW*R5*!bIRpB zEqcFx7Ww`E2`n_ChsKzHr(8~<5j{)=rUK_kU^AjWIe`3p8)-)Lr?CWfy7a-LbyxlJ z_SD=)9<95o)1?na7U+iL;V*AbO}UMiS}}WZn<%&O(l2jMjT@4OV+(9!_Pa6W$!(&I z+3%^qRA4G_Xb6|jn=yT51>Mb}mmKUhqNCk;RIp0j@x@HunO#GK={}WM{2F zl{{P@W{HlAkS1U9a6M}UI{yjTT&a;}euK(yij5@1ohZgCg!F)yt+fUH(v z7*Y9Rt^{@x_E*jh$YvEmuJz8e<@MlN?`&2P%-I3yVD{%+2=u$+kEIj93-zd@wf_62 z(vxcF;vsyqrmaT&cxX2Si)7 z2wcZ5JBgXNSw-QB1JN)W%hUz_U5}g<2M{iA?wdCVF7?ie1ISJzI+-bf6-d^yR-kWU zx4kMp=B2C^=xRt`&xAm(%wo;~xa8q_zkwsl%QZy2X@Dp%_Zv&Gl{9iT!2Oo;)C3m2 zk&2eh?+*kbSvQuQ3-|8wMhsRQs;9vq(^PMdt(AuY!H9+yVXI19VAdH zT@8qc8!^*u%sHYG6QPh$1_)&U5egwHv6nE>h?x!ukJTkJb6A1KnC)^0*H#@6-H5G9yOuf%qfo@}wnYzID z&G_)08=_$bdYM2fRlN~W4TvCG8-I|z9$Fh85J4Id)fXjRMW8We`<)x2{Z?F>y1+LT z2+AE?8&#lGy4s4F1VoTw#a#ptL0SnD=a=(U1(rLww&sTZR0R?)pJ%N=cM^U$s=$Eo z*h`q`%{(p@>T*SfflGyYGtoyaIlj6KUV@$_Om_Ss(Q3M)ewsSV5C!o7AHGxGhIk?IOa#3I_ zW*kw8CnXS3iCYP0qY8ZIhUkNr9868%UNb)0sv$6{z(&M05fV*GAQ1{RBBnV;+B}`08;M|2V&6vH)9Q$VEKw5ncq~-X5G!YVw6-bM-K>A`r z;aUYUsh(xhKjm&VnV__GTW2pnMlwOpXEMPU^JKr3lx{YiB`1>3T0e!+jij@hF`ZyS zm7XP3<=})W5fYsxRO#3W)%c%;Dw}>n)fn?+)q&9@Qu<137Z4FOVy4e_)cz@bKtwdL zlzs)Guf5w;1Rk~V?nDojl&&EvU@PJ5>xW8WVuwm{77mq|RL_Ly z;+s1O$gGz5<{W@yCWm^Ln=LZ8&Wg-uVJ1qc^Z8H6pNk^%9v#g7oP{WbNSAGZ2gP}FC9pReKX}Q( z(g|QW8`5$I*Cx^K8Z-62+`+Y+4e8PeU_~$4m&!aHcf2zvum_Xs*-;zst~wyfT7h2w z+;HtB{BW2coJ+maPS{bogKO)jXHDCy4v3E0c=wxbxc>SeMP|Phm)6|S|FY#j47bj; z{BP9|*l@!yTK?DE(BE&xrLQGJZ;il??X0 T^Jr2b00000NkvXXu0mjfK7S(7 literal 0 HcmV?d00001 diff --git a/test_rendering/spec/ol/layer/vector.test.js b/test_rendering/spec/ol/layer/vector.test.js new file mode 100644 index 0000000000..eaea34aac5 --- /dev/null +++ b/test_rendering/spec/ol/layer/vector.test.js @@ -0,0 +1,77 @@ +goog.provide('ol.test.rendering.layer.Vector'); + +describe('ol.rendering.layer.Vector', function() { + + var center, target, map; + + function createMap(renderer) { + target = createMapDiv(80, 80); + center = [1825927.7316762917, 6143091.089223046]; + + map = new ol.Map({ + target: target, + renderer: renderer, + view: new ol.View({ + center: center, + zoom: 13 + }) + }); + return map; + } + + var source; + + function addCircle(r) { + source.addFeature(new ol.Feature(new ol.geom.Circle(center, r))); + } + + function addPolygon(r) { + source.addFeature(new ol.Feature(new ol.geom.Polygon([ + [ + [center[0] - r, center[1] - r], + [center[0] + r, center[1] - r], + [center[0] + r, center[1] + r], + [center[0] - r, center[1] + r], + [center[0] - r, center[1] - r] + ] + ]))) + } + + describe('vector layer', function() { + + beforeEach(function() { + source = new ol.source.Vector(); + }); + + afterEach(function() { + disposeMap(map); + }); + + it('renders correctly with the canvas renderer', function(done) { + map = createMap('canvas'); + addPolygon(100); + addCircle(200); + addPolygon(250); + addCircle(500); + addPolygon(600); + addPolygon(720); + map.addLayer(new ol.layer.Vector({ + source: source + })); + map.once('postrender', function() { + expectResemble(map, 'spec/ol/layer/expected/vector-canvas.png', + 17, done); + }) + }); + + }); + +}); + +goog.require('ol.Map'); +goog.require('ol.View'); +goog.require('ol.Feature'); +goog.require('ol.geom.Circle'); +goog.require('ol.geom.Polygon'); +goog.require('ol.layer.Vector'); +goog.require('ol.source.Vector');