From bcd14e4f77fb0e5ff056c452011a76655a0e1926 Mon Sep 17 00:00:00 2001 From: Eneko Lakasta Date: Wed, 10 Jan 2018 22:20:19 +0100 Subject: [PATCH] add test to check that labels are wrapped --- test/acceptance/label-wrap.js | 69 ++++++++++++++++++++++++++++++++ test/fixtures/text_wrap.png | Bin 0 -> 1234 bytes test/fixtures/text_wrap_bad.png | Bin 0 -> 1142 bytes 3 files changed, 69 insertions(+) create mode 100644 test/acceptance/label-wrap.js create mode 100644 test/fixtures/text_wrap.png create mode 100644 test/fixtures/text_wrap_bad.png diff --git a/test/acceptance/label-wrap.js b/test/acceptance/label-wrap.js new file mode 100644 index 00000000..e520953e --- /dev/null +++ b/test/acceptance/label-wrap.js @@ -0,0 +1,69 @@ +require('../support/test_helper'); +var TestClient = require('../support/test-client'); + +var assert = require('../support/assert'); +var IMAGE_TOLERANCE = 20; + +describe('CartoCSS wrap', function () { + const options = { + sql: ` + SELECT + 5 as cartodb_id, + ST_Transform(ST_SetSRID(ST_MakePoint(-57.65625,-15.6230368),4326),3857) as the_geom_webmercator, + ST_SetSRID(ST_MakePoint(-57.65625,-15.62303683),4326) as the_geom, + 'South America' as continent + `, + cartocss: ` + #continent_points::labels { + text-name: [continent]; + text-face-name: 'Open Sans Italic'; + text-size: 10; + text-fill: lighten(#000,40); + text-transform: uppercase; + text-wrap-width: 30; + text-character-spacing: 2; + text-placement: point; + text-placement-type: dummy; + [zoom >= 3]{ + text-character-spacing: 2; + text-size: 11; + } + } + `, + cartocss_version: '3.0.12' + }; + + const type = 'mapnik'; + + const mapConfig = { + version: '1.6.0', + layers: [ + { + type, + id: 'layerLabel', + options + } + ] + }; + + + var keysToDelete; + + beforeEach(function () { + keysToDelete = {}; + }); + + afterEach(function (done) { + if (this.testClient) { + this.testClient.drain(done); + } + }); + + it.only("Label should be text-wrapped", function (done) { + this.testClient = new TestClient(mapConfig); + this.testClient.getTile(1, 0, 1, { layers: [0] }, (err, res, body) => { + var textWrapPath = './test/fixtures/text_wrap.png'; + assert.imageIsSimilarToFile(body, textWrapPath, IMAGE_TOLERANCE, done); + }); + }); +}); diff --git a/test/fixtures/text_wrap.png b/test/fixtures/text_wrap.png new file mode 100644 index 0000000000000000000000000000000000000000..96774343346d122dc60fe76675f4ca37f3f62599 GIT binary patch literal 1234 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K5893O0R7}x|GzJEinVv3=Ar*7p-qFrUb{Ao| zu+;nZq7@5*61%ya%nG`drnZQ%tbO!HMkq6InrK@aYdb3&+bqepHofSOs4L}5t*<>v zo3re0&eE{w9{!(dY|gWN{eBSZk~OFHXEXbj|Gz#l{`KF<@0tGi z-eg>#TsCiA{;y3lekPmgSAMRmtS>7Qdmlf|>h!IP#a}n9_}(viaLWIce_VD{&dg`G zIeq128M|?z&j0P%aetQOznt+>dA+y2lz@?an3Q<)?_&){{f#Q@lke6wF#b~wKEAu( z@5ZIgH{Wcp3pNPj2wWcj?)bC#E7>pae6W_^BD=ctuH(Pv+C~YLU%XBaxI20G-`P+t zJ$IYl-sR{1#FqS6>Adf>I_t(Q|5F2=>si;Gxp#WkM2SUjE36Do#D8n{yDPx5Z$iwv z_fL~|%nh8IH(`c*y8P9dX&>Z^H1}U$&v$BX+uQ5E*Zr0O$IOBHNZU@1JsT>P*;{4H z_rFiud{h4K$^9HBX0E%R-I8E)`TU84uC~?_ma|9S4BdPF#l5$G9OOLXt~e~Puoswr z_9w#+o{J}=pRY-+l*owm`?vMnp2%10c(1*D%#c*@!vE*fg$vo4-Q)~*t=!1G^z3Sx z60_@98UHz1_swQBUwmLb|67TCH>S92ldCEXUToVYo0Sm2Blq{=LL1#559ZYKsQI6L zBdH_8eBk%RdO?Qs6Q2JN|M_dxf9Ae3yH85~vbucz=W#iHrs_??_qR`V>3n?u%%<)+ z8(;gkfBrY8ew)3F&#v!x-1f$3+WhKgd?2|g_+IMqzY*uZZ10={xY7(BT;2?JAJR~I-RhmKes$`jQAKlyZ?ZcDUbPL zhVa=9hQZrof7F%9w|;ete!I%JCf+_=V0E?2@7GGKp9>$S{jA(@G2d?8ZyR|28itGy b|39g>f3sgupt=)ORxxB_1) zqPO|c?@4|;LccH1TYi3J@X_7nK-1B|9}ahS_j(x_85^JZN5AZR|9kni$ZyA=zx(my z$MakEv(MJey_LT^TP*g!()#){``7P!9>4AJ%YXB;{%0@yoR?J7{B8ZmHS2QA>+Aoo z-@JKqeAMluN00hjF8fyZ{I2O~nfFS^B7ZL{tebOdJ^Oh({rk^j@7v#fe)@{t|9Rh= z|HrT#efjdGmd39K=N|0WJwCm*z%AkGw!?=H-@m3ZX|L3arGK^F1@|=N~K8)>oF_yOk1rUs)(6ggLf8#999K$CD>d{`PIWJ5QbQ!~Ti(UyeI={$9yH z!<6&ELbVBYic`L&t~S~AZFx}B@#mSBXB6Koxcn~q_o*EF?$1d%6IF^LKdfQu{C?W# zzpJX?`-xMJJk8)V@Zfm(TJ|>gr@3Lmug#9=oi1c~+ugf0 zZ%%b-r(p7$sjlaa?B3XOLh_&9?c`IQ2w6iK#On3LU=%=$J z?)%9WhltIbv(NQIuhs;fN2$|(OfQUk-R-qPum0EG347AE-_sX9m0UM{v($s;CsudV z8_lQA&e*-!v|5-^)^TUvS*e4f*NPqM^WJZr`#7%lRq^9GQ^h03uYV{zUMcL~*PWOAIWnl{{Yt&<=;?nL@*l*1 YHm^vt{g)8fup8t(Pgg&ebxsLQ0O!WlnE(I) literal 0 HcmV?d00001