From 919e50b9fcbcadfceac6e85d5b0d1347a2e6fbb7 Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Mon, 29 Jun 2020 04:52:28 -0700 Subject: [PATCH] Generate ticks from small to large (#7559) * Generate ticks from small to large * Add note to migration guide --- docs/docs/getting-started/v3-migration.md | 2 ++ src/scales/scale.linear.js | 9 ----- src/scales/scale.linearbase.js | 11 +----- test/fixtures/core.layouts/long-labels.png | Bin 13132 -> 13119 bytes test/specs/core.layouts.tests.js | 2 +- test/specs/core.ticks.tests.js | 2 +- test/specs/plugin.tooltip.tests.js | 2 +- test/specs/scale.linear.tests.js | 38 ++++++++++----------- 8 files changed, 25 insertions(+), 41 deletions(-) diff --git a/docs/docs/getting-started/v3-migration.md b/docs/docs/getting-started/v3-migration.md index a5974aea2..b2be1b28b 100644 --- a/docs/docs/getting-started/v3-migration.md +++ b/docs/docs/getting-started/v3-migration.md @@ -288,6 +288,7 @@ The following properties and methods were removed: #### Scales +* `LinearScaleBase.handleDirectionalChanges` * `LogarithmicScale.minNotZero` * `Scale.getRightValue` * `Scale.longestLabelWidth` @@ -410,6 +411,7 @@ The APIs listed in this section have changed in signature or behaviour from vers * `Scale.convertTicksToLabels` was renamed to `generateTickLabels`. It is now expected to set the label property on the ticks given as input * `Scale.ticks` now contains objects instead of strings * When the `autoSkip` option is enabled, `Scale.ticks` now contains only the non-skipped ticks instead of all ticks. +* Ticks are now always generated in monotonically increasing order ##### Time Scale diff --git a/src/scales/scale.linear.js b/src/scales/scale.linear.js index de3ec340a..c7f8e88ec 100644 --- a/src/scales/scale.linear.js +++ b/src/scales/scale.linear.js @@ -41,15 +41,6 @@ class LinearScale extends LinearScaleBase { return Math.ceil(me.height / tickFont.lineHeight); } - /** - * Called after the ticks are built - * @protected - */ - handleDirectionalChanges(ticks) { - // If we are in a vertical orientation the top value is the highest so reverse the array - return this.isHorizontal() ? ticks : ticks.reverse(); - } - // Utils getPixelForValue(value) { const me = this; diff --git a/src/scales/scale.linearbase.js b/src/scales/scale.linearbase.js index c0f3def69..621482910 100644 --- a/src/scales/scale.linearbase.js +++ b/src/scales/scale.linearbase.js @@ -217,13 +217,6 @@ export default class LinearScaleBase extends Scale { return Number.POSITIVE_INFINITY; } - /** - * @protected - */ - handleDirectionalChanges(ticks) { - return ticks; - } - buildTicks() { const me = this; const opts = me.options; @@ -243,9 +236,7 @@ export default class LinearScaleBase extends Scale { precision: tickOpts.precision, stepSize: valueOrDefault(tickOpts.fixedStepSize, tickOpts.stepSize) }; - let ticks = generateTicks(numericGeneratorOptions, me); - - ticks = me.handleDirectionalChanges(ticks); + const ticks = generateTicks(numericGeneratorOptions, me); // At this point, we need to update our max and min given the tick values since we have expanded the // range of the scale diff --git a/test/fixtures/core.layouts/long-labels.png b/test/fixtures/core.layouts/long-labels.png index 49d1637ba2ee454c178eef2872384c639ae2656b..ed33676753e1278d20fa5c518fd0b40f71245e3b 100644 GIT binary patch literal 13119 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 literal 13132 zcmZ8|Wk6J27w(yHfFT5iP^3#q5v98uhDJ~%q#LB9hwd%~1XPgjkOo1dB&0=BKqMTx z>z?s_zwdtc@&g7q=j^@L-fKP2de%CT8c2nkc$9bm0Nhkkl+^+NDEJXbgJXl=3#Ykb z0e~J*l9keVY4qm}Zi}w&Vb9cn4sq(i5yzw#wf*FKNtPdk@NHQI&2RmpD9jIF z#!)3mQBO)SEzxb^kfVT6wOF`n6~BVoJCBg!Ki1XUP{!30hL1%J>t8ge}*B)AWLt@@UK%TZdD6QJZ3Y5(W{l1Iec z(1cc@I*~^(0*FipF*i(^vGRF$)T~*&*gevFs?OE#72?xA1>+3-%5*~e2kd;pS*;%6 za+NTC(Ra7{`s%zn=RQ<}^O;oQ$y{c8;2As1~PscQgByR(a*LNBBDtyIIwCleTbr3*3 z^urC4p)4W7*Ka&#`h)@`Zry*vy#H(P$6~-FR)Uz^Bc{Ae?XEuOQHI>~M{k~llXLhr zF%}*yB(>VeuFxP1-aJTK5eay2wk~m+fvPsLexH-Aqg;$DDdcGd%cUMqy1c_9-E{ge zi-3g&>diJ*!m6^)T9V?(_KvtIAG7Xsl)`x z1MCy#Jd?t(n=CX)MLrR|kn_IN}<_fLDM%dv0ai9q@8+YQLt(^2tI&vV$1c-?(P!c1 z-s;$9EEMujGuMHkJRvErWA)_DLWOtFc?|faCuHZHN8j3j>+gR7qn}+KZvC0kMRj4F z$Swy663T^=-L5`6-o~^3qJu&J(SUUh2a6TPBRPsO!@Oku8F*S;y-{E zNlODlv?1eEBMc*|GHSrD;hYD@v##;y!WTPTt0~&Z#IpK#+S)6haOhG7xSGFS`u5#T z?*-%EwtqdDXX?f36P7WMt(Avt*ZdL}-mgI;5-?->Cw z$PdwY|9<;oxBE8!DqxlE^}*0{&i%!~H-&*xgPN7vF{EpNnQFGE!3X3UcAxFmj|dd6 zt!$*-P!ghe^?(8??1nk`29W^qi-O*G-Sz;@`0aryCQZXfgpftWJSeMh9tX-BXcHLF zK%hV*SqUSgVK31uOG3U87Ajb14+uD&?h(KD*x0Ym@a0k{Iv}R}S#$r%?(%97J{O3u zQuiMPmu2ew8yA$DkxS+-^(*J!C)0mQ@UIkkOp9?rFeef+KlG7S?>yt6#?V-a93ptS zlI$ul=a&5RGF%}?+|PWeGnD4q&c-HjzSU^T4dc=8DUF%6z=Q`<8I80+J zyvHQ}GVp5BOv#anab<6rusqf-j}{g5*>aj*u|(U61l@j)ZeGn#H%d}@(5iD!ErWR+ z3q0H#vNSYf$xy0z^e7Y#p@y)XEzZQeXN(HB=*#Q!RSisysgb{r|R=yCS4IW($fh;#chE)F2PO&Td+OFcJ zNh)-T3efS&?t|brCn?oho`E8O96}-P`_gfy*5)55Q#=Xi3MWc`>e$$A3mgo4*fNh< zhEQUaf}jXG(NYRO6h*o^aC}0FwpulwOsn>e$TGhRLk*Kw(K{?HkSDB`gO7YA7<9V|KnXZ6O1>8NYszxV=yCdc2L6c3(zJG(^ z=sWF|Q3Iv(iCUtf&F$Jpeag5%5zs__@kMr=qqKZ0iR9dd9HL+KTn;^BSCI;uRh@s% zO2%0gunVUxgPp&bh@iqz?!z1_8`NoTa_7w=e@TUOF6*^7zS7&mh$DsA(h%D zlUfjV=tyCt{kT^wKqfC9DPO4Rt+mw>mh7kpA}dlU2GCdIAdm$f35( z67n&zlnL<0Pw5;~d_HGL9-3@kTJrL#u0+aGUN|qCzC$)qw7@$IQqePAaTzJ0+stIfm&kjd5X(3Ti?E+znH=gCbXMrClobrB5X zke18^u7*S!BJV$uX}o`jBz*n9Lyi=g#J3X#3RGj3cpqHiF>{0`?Br(9#%|n=!PcJC zf95&F+X?S(>Ii{TA)6w(!3FX$LM1~bI0D)~5t-+H!vri_H6S9wp7b{!JtdS)dHF9y zr_E>l&tQk+Y@L@Y7k=>)$oN|gyj$VMcF>NPQ$l$A+{14u-Ve~fp!j>j?Mo3iA<#GL`+IV%gX)!Ez%nQx^Hkr~l zJ_^q#h9>LhT#^f9X~N1ndO*QPPx)IhX2<0Cw6v(qXCAajh z$lH8D@@&GC$$J2Dpy$c7^OKLa16i2yB){dw1I&KG^r^_!T`gxIeacC9w7eKO{+MDLg7o$;69N9+Ir6e!_`Y1~tdv}z;$*G~l!gYElhMvYU z1BN;3Sc?~zcEQO_@j+1lm_v;qQ1?I1YN6ZC9R+X{s9i$rutblh%`Cpe+}WG}2xx?L z9NRBFN+2WFcKzn;e9~;qbJY)~oJXa=xa?e<0*n;PN7I%0Ut~@G9pWBf$V3HuScsFG zPx2_?^IJv$%qXpTjEEIz+*6w4MYdbC<3#rq8~@b*SUFjaPX`nK@0Wf(G@dD$PHhJA zF%+gS`bZw5B|gxPAlCl|sMQUfhMt^_gS@p5hlTd6uVH`5vt=Nh*`W|Fx$_KIBI~HO z7%<1k2Oy?;I{9o>h1=n8eS05{K;;d3ke3%2GUhcm?cn27-m6&ZGVe#njp08(DFPeE9Fv#!JL#HegBpQfBLe0o13^&*ZqyAWlX z2PM~FyyXFXz&T0<_`SQP+h(tunUAr75(8k!Q3OO#IN>wzjkY~SzL2+v60eQM0-vQg zXsSW3zHk2T!k)Z|+Ss+S62=?NFlCMeP8xTfa_|tznkGGp0c5|*`s4)1vchWR3%`Hk z$#SDK!K5h4!Q_ordRM+I$Lh=|Xf0>mX{t1*5)5T`xcxYn5XB1kkc|W;hJc1wY8df0 z3Pzwht?gno#Mao0*1%kf#|(T3$kAV1+RHBEk5o^CaK>Q+-X4}B^+gejIC9B{Bn(6I zKaa}rOba*s%esnRAwzvG)D}i>;7Y+J88{l&k&!y&(aq z=`fVOy?agH{z+Y7yZ(yobpm(~pbvU6AxfuX6qX153oM5tnPy}E#Uf2%xloCcfNjI- zdCbg;z?rd-S8BEq(&H9^&LR)+4(o)+2=V_nqaq(Kvi!3c z{Rm2ofA?9p$5$Ckt=Whq|0iO4An#~-c~9w&#aVN4n|Ts0;5o2)5HY=Y;m4k<`3&R` zV5;H`1%u||qrX8@n2rCy)Tb^q@TR}@zM0&2RZQ?tLIOcWzykS5#MEt98q7V`*=(S} zr280wCk-*IGKv>B7~?P!GHZ*v@LI2m^VEfxoLi^?fR@ z_;2v4q%_n5?;yKZ}qNyUg_TmoRu46*A1PNaIzm&M9%Bw;Bb`(rBUyFE_BTyR~ z?u>DkacTlLK^0;Ju@gtzGpro1D;`JpsH02 z)lpaB0&fHKjxkAPmfNV(&=OA&tmE1dfqH^`W)>IQsS#=aUJz=-FMXKxgL7H-)k4Ki zRZ{7h!RoH3(OC2{%Xo#K#Ww#bw90!(opLzUGK)Ss0dNaa%cc*j+rrZj3urV%tC200 zH=~pGheXt|iD;vM8*G$}HBLYzZL??Q^CgMA_V)E!=y ztaWFz0cSARcgAI}2-pDT`xI`lLd&`}6ae@-o$J?!qo5YtcsThq-?-f$?ac|*h_+Ee zKg2l87iU|pEawA3zbvs5!SIJF>R??oOXMn`C8|ebC9gZz$P&>N)fo9J3-41 z1rs!)6+*#9ApKb4>SWnsOilCr$mNH_$Hw;7i@gE#F_<4}I<}o!-g)>u1c9<0)`P}b zfrH_OX?wWrf!nGszOZ&ChP#OMK=8^o+~GeX={Za1OdsH`sSBezJ8U;oqJS7`p+^E1 z{bYA|trP6)$Uj9MNvQ$PAZ9&rso!g?n%lq8Dn2!drxl9de1{nh6enXJI)q;iz4Y_e!IxC#*0*KR#9YWZYO?X{AKcG^Ph z{0Bz8TbPP>wLVShwcs*52hY05 zJU&5|=Mc9qbQH|Ap1bU_-pkSL(Nl{N)Jt=jc~ns`f4bk9t30ZS0WmVaE9V2c;p4ZA zCq<%=j+a+F?R`oo05OW2O;QQ}vTO#M9=FFX#7w2ructN4dkL0!D0291==PyBE#7(Y zoE6P&Q147-O0$3xt72&oN%EpRu~S4a5YJjH67uHkSJxHmLar}E|1ZWpZ}A6|Mwbe5 zunV8T_sClpE!RR(oG(c<%d4mMT@PQ_AGQ=c$tsx?T-y4kt9L3sHEg@ko`6#@{P^Kz zX}4dx>sL;Z`WHK_2d_()$&gr*K)-_wAI3T>H3IZGc0c9ru@X2HFhVQ2opf;DC#kQB z7>8mf2IkiE{0_UmbrJA(*%~*P1##D@5*u3QVb9mF5=LFECpfVYDtZ&b7BE^WQg3Ve zgFw(BQT=Hm-VPNkH5s#u;PYL3Y$MCwIG^PZBk+Jz_FCKL`B;cWp9BiBv&=B=msUn> zrmVLNc0RvjroRhoSQ7_}BJA5Uy6f(DclRfl0nOI)(xb~StFgc5D(?LnT%0Zre9W`B zq77M;dki$)yc6-)UK*POaj}%Zi|YyMZ0-}dbkTM`TxO)tr;}KYURjQ!)}7!=a27`v zw?Jlqkcin!IO?8*ER)7fDDgz|w!n@lVe7KGkBcpjV7;v<%U}?xJLglJCTPDBsHTAe z`Q~dG)3ncLvWKB!QX?ec&qLm7v`SaLf2(8OF?Da`T~`>5Q*}S^R+5$?f(&%Zd| zlu6(|nF*seH~MXUZxVO5GKL_}?9V;zkCM4FcS?&sks3GhRV z@eEob&XGUaEIL?4zy3RB5n9h=>AVbx{{&{3f{8gwUR~HcBM|ruWtODi7Ol#WN<#&hJCY-E1MN^ zkk9gE2iAxXBOjpSu*E)>oD??g4-GB_Gx=vOu1`AJ(<;##2W$ zp=AGlvYRSQ;Vq*AohjS{Nv5I@daMffPz;Ht# z^v@y1nxCI}^mQDy}ojmyEw+Sbm_6}Fh=I`j}q{8&Vr%Lyha z5E#oVt%()attiXTNnCCa@#5;rDO4k}*k_Ta#W=|K?zT{m{x`lQC7{u7p?TZ5{pn4{ z{LID`Wj?Kfr0D*z$CF<{6bFXMiU3iMhm7Tn04SE&p+j#QB^Z{AB}|WwGGf#d(d&zS zd0_OwTxaP?Ebv=WH5pM%Zpx~25D~ncZM?gDf~&hHuyOC!%FQ&-i`a6_kwFi?ywN=E zLn-Dn&cV235M9bq&oM&rPIsLY6gap5SwO7L;aSc(5AHNh?v*FabqrW!(F}R3-y=&Q zcBDdIp`M+TV^Fr^)iy0wr8E8L%HDjL)L^p6c1WXU8H@!c%F40h@R61y03gM|^a4D2 z3(_%%48Ldd2ZRd>V5rv7wit8eboim?jV|PWY%5sS#b;R1VH?og@}7mHV<>6mKJNK` zlnvE4_$%Z(Z zo;71bDf9A$=G29&2-t*a+hk4i1U^KIYheq_GgKC(T9PtzohNZNl}h7}M{j9G<#V zD~<%!P#eJ5?)^O=H1{LFTuM-2o%I`g=NUw?5@XHZCc|+ln0zYLwg$X12&3CD0b$9sf!0b# z%Nbeow} zI{fVfF@fh1L8Pz5ZdA-#3JewOox^s{_N2E76c^s;Id|WJRKg{(HkQS0IiCJAkukO| zrFcnGrTLFiH?Gf5TO@pL>^!39$M>G_ShmL*!c;ev>G(mu_qS{;4-l}3LA&otBpR;= zBs{=dc}6{s{k3QkchsNyp9-_-|9`2M0Js5d`{lrV_ik8(B-~yfWJ83YjxEOc-=>88 zu6}TxvN(W#>jzRNS}-dIFVb=lV9NW)00;n_B+6(syB%JNVJ0II(%+JfOxB4p#SX9_ zoOJ;IefQ5P4>Wh`R*BFbYsZ)CkV?wHELS*UO7C*?jJUqplk5LXhhfL(DZ{pdm{Kt(CV~V&lpX zUxZ`9d5=h>#E!6CPP{gsB#w{+#P<^88_okZ%RVaq%uQ@P{gt^2hE_Ij(LonwBh@!p zqb~=$>7UfurXHZ@o;G>>VaLDC#TjM!@VmhLOBw%*Wx4_Psb?&i4)w1uek({Mf$b%; zG!J6q?)U5GfCZ@+*O$iw!vR;Wr+ew`hGZqu)g~t(;~z+UY{d4UWhdxw;|`{#RAJPr z6{$@IIoZ#-<_xFxF7!pa<|KpFs0vmj<#!?1U%g&yZ&;|DT3mW|tKVs3qH)X7j2-g! zNZ@m(ID2XlUDc!R+r}w5ms?hQV>wqkNU=km(;?3`rXTh-YAY6Bgsk2SdVCto-_59- zCcg_*v|lyN`W??d1 ze&+_SfI_YtGkw{YGvn*CbWyNET@60I@92lq0|i>IJReJR%RchhwMtX*2vlejuFu=A zleLjT-9o)!r;!p^n_aosA5L%cJOA*aJ&wdAd{cgcyj6`~|t{#vCT6e#C!T-E5 zCpuQE+Nu4r{sOc$*#Umb#qMaa_VvY@#Hv91X)M8=N3!*^FH{7MiMPRW^2DW~Jy~*D zsMy-88#sh+c_j+*wAEl@E%H1bEg#D}^M%)_W^xU*6vYK7oG%F3gb7?_BgjRR9*zid zaa<2PXm4SD8{vxlqc-(~>kr=$Uy_T=lU6K@Csg(?DujMKX^-&ss`Aa4jY`-Y$#YY@|V}St_>kQ z--mtQf8vw#vgd&!03P&=uHQTt{SVm5f=rvhR-~-JCQLHlupH;Ql#@%!EL)4IolML> z?4e#>(Vrm3<|4bh^ARD+k{C?o*dWz*eYxEnfHQo%#X-F5+IJ=B8dQ|Nmld}_&kk-} zH-l2c>S8bvS};U{r3VOJ9Y}B9xy4D%>HCVRyZu*&9lxY#6aaH!cN2GJWbbSMB`KK9 zBF@zHv{`%~*efQ|`Kw!RIW;TZXGO|V5(XCw(*{I$+OG~PEWqkBx(RIJ+iq&?&ONt= zG>Cy1iQfL?Eb)b4`KU5m0bNWKw=Nu4QjV+^QU9ZrbajyVAfk+kFRpFLW)e zJ^2x?JlSZWcJo%X3fd{)Jd_`dT@RtRj_LXWD+iiZ)=q2Jy31n&UPI$eR; zTDDI)rW<0&QTIo7^2T#>hohFuzVZUGHQ&&SXHwA07pwi$VOdo#R+R-@OnbtT z?|^-9J}2T=yYV7&G+@nU;IX#>?F#5u{UEj8OmRzA<98{^1WPUs&MmBH5>XbRHjsVy z{_Kv%dem|1oMQGR#$fxspk)mF#k{HK_WZN9z0?Xp1%I#{(O~z9zDw_+qF{|wFm~he ziR&Ic$>gfI%X4+{(>&i_JUK2%hl|zHJ-mSwL`vssuKE0oWLbGn zcUibq*+q!NUh7;GWyyZ|t~u_mN?Px358d{a(eJk<2foBK1h^c8FXFRUUO^XW(T!`g zRxjb}H9=ife%n3^t}tQ)@#y9AEh`BQQWm6JfED_VY)ac(a*+ zMsGyGg3X-a^B9+_rAl!MNe>tE-vF}3YB;<6R_DN;^Sfv;I+bDSWN0tb+!A8d?ECL5 zz!C`#A#W;dao%Tp5W(=>D#vd&>w5J;fWZSS)V>v8WV!2b9v;{wz>@yV z)rlL|07H@Qfz3DUL}CXC+QKQK)a+{~6hxiT6b8nxm9Jit3r_v4__0=l8|xxU;K&Vj zUPLSXG^Duy4o{X8)NN;7TC`v&+b1ZN*Un~*8qY8vhy$3-;B2$#^KpxTVCfzK6UkL-51Z~U;uxd zDZ4zteNrhc?X{%gS42e=9Gp}Y zr=@*u%_;ZG!>IufkkvjWnT4tmj#lV{^X+sF5eSB%h-p`tl_8yLM9YSFAC-q6M*$iw zq5F(6Pa}YYTlArU`_IuuCM>0Wc(-NL$nH*$rs$bHV~2LMzUL5Mp&KW^Hh3|WhoJ8b zap^k_Usdc*5SRr$_0b)O3Ex05?HU4&w*y15MpiVNGDuESCB=^g=Hb{8(4X5(6luX0 zSCZ8|hHoKyogbsFIj?(=h@vjEe7>{F_t&gY;`%kwDX<2iKU}}tDE+N(QD`uG6E2y5 z)bgsmBmy`Y5oYitBeIN=HuT-?rYQ~6rR$IAI=|cwSV***;?Aiguz}$LYeR1~^;Aox zZM3@@!f=*c^$zox3Wex()Fy<2ckVD0FS_I4pS`2z6ykeTD?vN74bnI_rL<^(IZ|oS zmtX@<&pJ+P4c4=~U0`{9QDWwQ4-9>VR4kU99feg4zA0G4RcPj}uefcZdlYSa(Me99 zxNJEAjr@7myN1n?F=kt;0-Aa%FIF)$F$~JY$Wm%}X{GeueRFa!)Q+KyEFg*T6H4Y) zM@*$a`|;Lyo@5v*gI1AWmd3tNhM_53ERf=KLd?5oe`sGuio3gr;0O;sNg*jYR;-;5 zmfYelGlboXw?MFau^5QcbVd@zcxmM|>H8#9j`-{`JC;VAn3Yr*O;~yma}p0q;RFxBTL5NFSPIV17o6RBfGSx zf69}-us2Lt&N|wdMtSr}DTTB2JUoOvuKWfy30`FI@mg1)CMwMIXiAMCS^_!l{z=ck z=A;VjypMaAp@jhANli_#OP=4G`xu$(&E053>xjp0dY%1}?D_Z9Y@*SlaEXgg&se(k zqzVXy7F$A2rUwE&ka`Y+{CZRrM(RLBrA9Zw&|;5O(Vjduv}Y$1KYv2M22bYWL*G2! z&JcieJt=oSu#gq93nhIST zV!y{35=$4ADlS)8BwRR@v*p~PeQ?awfkL9(;E=UIvy-^U!d56qX4NGwYng(`b_3;J z5%2iQK4QNHmg99;PgcDY-3sn^&DvoV#%(pBsBd3v z&ZV0RX^|<3BUHf?4@(@gZ1r!2f0CiyI-NKO!M1P~{p5$+z}1F#_=R!63zswupZM~+ zb82uqw0t1E+1Z1Fe!HP7$_UPqv%i)REcVm%v~ZZTdk2dtJA%xv)zqk8jIPH5jeE#b zVCeLc4loxCA3l_VHn4Ex_A{;t`24h@e(p?9gsWImb!4iFzF|dEM+6)bVE4WY_k9>{ zYVd2|BiUIi;M)qHez#`xIr7w~*~0-W+W5%k(4&_8fDtG25qC8C-2T#KE~nrN>dM_i z63uhGJOoD+a9PunW!C)e2(mLwJ52WSowf;On%s5=`CMtL7}3lq>r*P<`N8au?={tZ zhEDNLoAsYU6u!7+ti*?~MhX)5- p.id === 'tooltip'); const Tooltip = tooltipPlugin._element; -describe('Core.Tooltip', function() { +describe('Plugin.Tooltip', function() { describe('auto', jasmine.fixture.specs('core.tooltip')); describe('config', function() { diff --git a/test/specs/scale.linear.tests.js b/test/specs/scale.linear.tests.js index ba364710e..0d1eec7cd 100644 --- a/test/specs/scale.linear.tests.js +++ b/test/specs/scale.linear.tests.js @@ -543,8 +543,8 @@ describe('Linear Scale', function() { expect(chart.scales.y.min).toBe(-1010); expect(chart.scales.y.max).toBe(1010); var labels = getLabels(chart.scales.y); - expect(labels[0]).toBe('1,010'); - expect(labels[labels.length - 1]).toBe('-1,010'); + expect(labels[0]).toBe('-1,010'); + expect(labels[labels.length - 1]).toBe('1,010'); }); it('Should use min, max and stepSize to create fixed spaced ticks', function() { @@ -574,7 +574,7 @@ describe('Linear Scale', function() { expect(chart.scales.y).not.toEqual(undefined); // must construct expect(chart.scales.y.min).toBe(1); expect(chart.scales.y.max).toBe(11); - expect(getLabels(chart.scales.y)).toEqual(['11', '9', '7', '5', '3', '1']); + expect(getLabels(chart.scales.y)).toEqual(['1', '3', '5', '7', '9', '11']); }); it('Should create decimal steps if stepSize is a decimal number', function() { @@ -602,7 +602,7 @@ describe('Linear Scale', function() { expect(chart.scales.y).not.toEqual(undefined); // must construct expect(chart.scales.y.min).toBe(0); expect(chart.scales.y.max).toBe(10); - expect(getLabels(chart.scales.y)).toEqual(['10', '7.5', '5', '2.5', '0']); + expect(getLabels(chart.scales.y)).toEqual(['0', '2.5', '5', '7.5', '10']); }); describe('precision', function() { @@ -631,7 +631,7 @@ describe('Linear Scale', function() { expect(chart.scales.y).not.toEqual(undefined); // must construct expect(chart.scales.y.min).toBe(0); expect(chart.scales.y.max).toBe(2); - expect(getLabels(chart.scales.y)).toEqual(['2', '1', '0']); + expect(getLabels(chart.scales.y)).toEqual(['0', '1', '2']); }); it('Should round the step size to the given number of decimal places', function() { @@ -659,7 +659,7 @@ describe('Linear Scale', function() { expect(chart.scales.y).not.toEqual(undefined); // must construct expect(chart.scales.y.min).toBe(0); expect(chart.scales.y.max).toBe(0.01); - expect(getLabels(chart.scales.y)).toEqual(['0.01', '0']); + expect(getLabels(chart.scales.y)).toEqual(['0', '0.01']); }); }); @@ -685,19 +685,19 @@ describe('Linear Scale', function() { }); expect(chart.scales.y).not.toEqual(undefined); // must construct - expect(getLabels(chart.scales.y)).toEqual(['50', '45', '40', '35', '30', '25', '20']); + expect(getLabels(chart.scales.y)).toEqual(['20', '25', '30', '35', '40', '45', '50']); chart.scales.y.options.beginAtZero = true; chart.update(); - expect(getLabels(chart.scales.y)).toEqual(['50', '45', '40', '35', '30', '25', '20', '15', '10', '5', '0']); + expect(getLabels(chart.scales.y)).toEqual(['0', '5', '10', '15', '20', '25', '30', '35', '40', '45', '50']); chart.data.datasets[0].data = [-20, -30, -40, -50]; chart.update(); - expect(getLabels(chart.scales.y)).toEqual(['0', '-5', '-10', '-15', '-20', '-25', '-30', '-35', '-40', '-45', '-50']); + expect(getLabels(chart.scales.y)).toEqual(['-50', '-45', '-40', '-35', '-30', '-25', '-20', '-15', '-10', '-5', '0']); chart.scales.y.options.beginAtZero = false; chart.update(); - expect(getLabels(chart.scales.y)).toEqual(['-20', '-25', '-30', '-35', '-40', '-45', '-50']); + expect(getLabels(chart.scales.y)).toEqual(['-50', '-45', '-40', '-35', '-30', '-25', '-20']); }); it('Should generate tick marks in the correct order in reversed mode', function() { @@ -720,7 +720,7 @@ describe('Linear Scale', function() { } }); - expect(getLabels(chart.scales.y)).toEqual(['0', '10', '20', '30', '40', '50', '60', '70', '80']); + expect(getLabels(chart.scales.y)).toEqual(['80', '70', '60', '50', '40', '30', '20', '10', '0']); expect(chart.scales.y.start).toBe(80); expect(chart.scales.y.end).toBe(0); }); @@ -743,7 +743,7 @@ describe('Linear Scale', function() { } } }); - expect(getLabels(chart.scales.y)).toEqual(['0.06', '0.05', '0.04', '0.03', '0.02', '0.01', '0']); + expect(getLabels(chart.scales.y)).toEqual(['0', '0.01', '0.02', '0.03', '0.04', '0.05', '0.06']); }); it('Should correctly limit the maximum number of ticks', function() { @@ -764,33 +764,33 @@ describe('Linear Scale', function() { } }); - expect(getLabels(chart.scales.y)).toEqual(['2.5', '2.0', '1.5', '1.0', '0.5']); + expect(getLabels(chart.scales.y)).toEqual(['0.5', '1.0', '1.5', '2.0', '2.5']); chart.options.scales.y.ticks.maxTicksLimit = 11; chart.update(); - expect(getLabels(chart.scales.y)).toEqual(['2.5', '2.0', '1.5', '1.0', '0.5']); + expect(getLabels(chart.scales.y)).toEqual(['0.5', '1.0', '1.5', '2.0', '2.5']); chart.options.scales.y.ticks.maxTicksLimit = 21; chart.update(); expect(getLabels(chart.scales.y)).toEqual([ - '2.5', '2.4', '2.3', '2.2', '2.1', '2.0', '1.9', '1.8', '1.7', '1.6', - '1.5', '1.4', '1.3', '1.2', '1.1', '1.0', '0.9', '0.8', '0.7', '0.6', - '0.5' + '0.5', + '0.6', '0.7', '0.8', '0.9', '1.0', '1.1', '1.2', '1.3', '1.4', '1.5', + '1.6', '1.7', '1.8', '1.9', '2.0', '2.1', '2.2', '2.3', '2.4', '2.5' ]); chart.options.scales.y.ticks.maxTicksLimit = 11; chart.options.scales.y.ticks.stepSize = 0.01; chart.update(); - expect(getLabels(chart.scales.y)).toEqual(['2.5', '2.0', '1.5', '1.0', '0.5']); + expect(getLabels(chart.scales.y)).toEqual(['0.5', '1.0', '1.5', '2.0', '2.5']); chart.options.scales.y.min = 0.3; chart.options.scales.y.max = 2.8; chart.update(); - expect(getLabels(chart.scales.y)).toEqual(['2.8', '2.3', '1.8', '1.3', '0.8', '0.3']); + expect(getLabels(chart.scales.y)).toEqual(['0.3', '0.8', '1.3', '1.8', '2.3', '2.8']); }); it('Should build labels using the user supplied callback', function() {