From 72362ecf882b6c74f4c0d731eff4bc19b2983888 Mon Sep 17 00:00:00 2001 From: Eddie Kohler Date: Thu, 8 Dec 2016 16:06:21 -0500 Subject: [PATCH] Correct spacing next to symbols when styles switch. Two nodes were sharing a list of classes, which led to the style change applying multiple times. Fix that. --- src/buildHTML.js | 2 +- .../screenshotter/images/StyleSpacing-chrome.png | Bin 0 -> 4351 bytes .../images/StyleSpacing-firefox.png | Bin 0 -> 4262 bytes test/screenshotter/ss_data.yaml | 1 + 4 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 test/screenshotter/images/StyleSpacing-chrome.png create mode 100644 test/screenshotter/images/StyleSpacing-firefox.png diff --git a/src/buildHTML.js b/src/buildHTML.js index dccf161a..534166d2 100644 --- a/src/buildHTML.js +++ b/src/buildHTML.js @@ -83,7 +83,7 @@ var buildExpression = function(expression, options, isRealGroup) { i--; } else if (spaces) { if (groups[i] instanceof domTree.symbolNode) { - groups[i] = makeSpan(groups[i].classes, [groups[i]]); + groups[i] = makeSpan([].concat(groups[i].classes), [groups[i]]); } buildCommon.prependChildren(groups[i], spaces); spaces = null; diff --git a/test/screenshotter/images/StyleSpacing-chrome.png b/test/screenshotter/images/StyleSpacing-chrome.png new file mode 100644 index 0000000000000000000000000000000000000000..dad5e8cd757c0526ffc8fecb3fd02ae4cf5f8489 GIT binary patch literal 4351 zcmeAS@N?(olHy`uVBq!ia0y~yU}0cjU}oT8U|?XFf6?nA1B1XZPZ!6KiaBrZW^Y*g zJmJ8{sl_gro+v1;6TEsX_rf(@sY|~UrfSK037by&wLru0%c7oDeHUl#QaL8#DLVI+ zM023*Wl5hiQ?y=PQ}&WDRC_ha(a7nE!t~9*?OxB>`|aLM^;vtruQI;;|GoL-6x;W^ zKdsqoXY+sWwcYp1-`?b!U}}BGo}u6e2SW=deNnC^LwL=HJL-3T?~s50Cvbno<(rKB zcYnql*mm~^!<_nOC*6BYs~-u;ea+`v_y1<_Gy};EvF26`_hVu=r|Ufo{Qq-H@H?CN zZ+N|D@Z4A@E!)ujO@`+{_Ovf2{3R#HZdr1&;q8r6h7GIZ%&xtu*Lyip-u!Io>c8Hz zcy9FR%Cgja-jbGIcz2TA&m)G^qP$f1BuC^Vy|i_}?f!l#>vZ}4sBI?#T8-}l05xevQuum4*3 z>R$eun%7tPZxnyIJHP(rf1~%U`Zj-C?yBE;Um1U6!&mqBHn02K?>(FNKK|!H-(@HN z<*3_RY$%@1T<~zcPj>P3bvNH!$*=#~^Z0yJ^~}22nZHk;-+i-Do2jqzwEwKHP3-I9 ztV*85ug~54j(5A=j<5Q9694P|f11a(L3TD%!8zab&Bp)UzLMYfx@`0BKaaL}-QT|J zaq;Ku#`N9)6W(8quRQ0!XTtkW$NhG{|Fz0Le%JRqnMe0$mVRE!KkIDYzt8%A65bz9 z-~8L>`;L=Sz3a^mOpDQH_&wij?HT)d_y7F4_&NUC{Mfr+Z~gqhH-8TQxmnlVKhH}z z<$t&ER^_=ybAfu(*>`_Fc*ec_tooVtD!aa2e-=D<(~;$jImf>;eOU9+?*9YTDt(F7 zUv6ZFm(MkAE8q3xz=K-zn$QFL{qlwKe%rZC)tt@s_JT5Q0TlVCEF*|#_{Bh2Gg)2C}%UQqub(?wneT)CT z_V#fVKhOJbpSQnid3*oc_mS6%8Mb9QGuYYhTlN0V)r$k6}aYYi0v` z+wYOx4_6>?*vTo;UB^#N^+*&2#JC-}rO7`(bPHk8^YX zJ~(i0E%$-t$2RS`d29Q>{>^3cwp;zUbZqM1D~2@(m)+EpyZ%G=^I_lH=OxPjpFUdf zZ|#How@UOMEYFE$m}fujX|nj?pMm@9BW3p{?rHmfF6p`L@pGTe&wjhK@u%Qyv-n;=dsQs z=bDT6tB*aKeC^m{;iJpne^F;I%h6@HE@L_E<*k>s`>lK5?Uv|`|LGsybI-PZd%@SQ z>bL99-1v9Wm;ckEjX$@GAO2Z-H2?0;^L%eEL@_*j|EWK2&X4Uy%QJt>xq9$lVcUUQ zU+vG!eXl*V?4;gY|BXMp9xl(bVKIn{KC^Gz=lQZX7H(yzsnI#juG2QX=i%;U(!Y-< z9@IXbQ5bpPRP3=2&9l{Jn?LzC+ibl}*5QXOKeM}kiZcDv;gE^TX8iFcVyS;D&;P`) z9)BMnm#n`pyZGqEzyGBcv**uylb!tgv3b6{yvDhG`y~1%v)1STdhcq!^SjYJrVX*# zj1tSgpO4!r(N|pVKkwh~!^vsY;bH46lgzBkHoo^i{_$Xc?z}g*7B7=c&%aZ4_A2{5 zrZKnb|lsOJuV!6%+jV@;_=Jv-_C}8kFEQ& z<^9g~S#K4k<6L;cZQop})qd_bJAd~LlXC`hVr}kPlzv^L_~1i?c*FfU*PeRw-P`v~ zFnQ{}s?<5>|MzT6tT}%CRp!CRvmOT5?21#W!&*CZu8BF z|84VPE3ds-@$q=|{cW2*y}G&b^W5Gl zo4WR2)@9C|S9g`Y&-T$__OiO1s;B=t&cFNpWyihmU-IuisCiuTsCv)eP1$e698-M?pl+54#5L<3H;jw;Z^< z{QigZe&@fh&)xs|!E-aSU&Y(f+0P>@{vKSUKi zS%$<*)Q}TmC&PxP9tA8_U1> xf(#tOqi8e)MnhmU1V%$(Gz3ONU}T5DZ}~k51yu%pYmGr88=kIyF6*2UngAK4Ai@9u literal 0 HcmV?d00001 diff --git a/test/screenshotter/images/StyleSpacing-firefox.png b/test/screenshotter/images/StyleSpacing-firefox.png new file mode 100644 index 0000000000000000000000000000000000000000..6599401abbb68147f9f1c6de30073aab17cdb140 GIT binary patch literal 4262 zcmeAS@N?(olHy`uVBq!ia0y~yU}0cjU}oT8U|?XFf6?nA1A{=Wr;B4q#hkZyYd5SZ zbv*F#Dbpu2@k+r74I2wMq_`#Gq_~>7j%{4wB5WkRRD8Ce>#1dIxyLTfIhi#{N8&T@ z!Hwea7iPtsxv1gRR^%nfbxdJ`Ow$E67H-CehhA2GyR-TGoNB!zmg$erefeASui^Rk zH}~$p`}gtpyPJ2@=g-w)h@3pPmc3!FJA;A`eNm1tW5tip@2&q&sa=2b$J&2qQZ6oA zZEh#NAnd{6f`+0Q#4&OW|VZ|?b+ z1Hab1^gVF7?sdN6w_nfxJj1%?aum~t$%hyHJ!pCN-NwT)_6Ey$Hk3wrGw{iZ zy^Vfey!m^+)U&G3AVafx8GlT-+?VtJh{g5$XVUc&_Lhk>Wb6Mp_xGFS%S-OtZ~y&$ zc-GzT7uo-RX#M@Z?ndSRAN$W#AC}%<|KFE=-UsdYn2q13na|x*xjy+`!Tm$h?K{ir z3zW-cZtS?qxZ~sRWA9(`)i0|59{#@K;J@cKHoG6p`8fIa>iN6BT05?<+*Ho||JReH z>wmxfw=K6izxv{}x$bxV{du_mzVY#P#x=)RF~n>-o>KJ8wBP2-M`yMBrGGZ~{4Xjy z>3I0Xg;=%p*sV{qr@ytGx#!DA^;w_qP3O68^X$>{mRUFE#F%_%XI^u*jIrWRQ)24BM@PmJxZSOJD*~@}!llu6XBl_PmefX7_xG&*#@Nd`0 zT6eR*`5mxc{`&u_qX(OvWxxGC#+SaQ>hp*8|LV(U_y7IzBmdppy#JSeNItrj{Qtak z`TJjAE$w&`Y{S?R{&d~j{O+FBjJogdx7-o3I z{`tS^<013)vvR5~9S{zG`|r@Hnfp!n><#j4A71ZlSblUH!=KMP^x{pW{q8^ie`>?W zPbcO1|J&C6d|nZKOrP!D@A<3MX1hI3U0wG7@~N4}&BfLJo8|0Dn%;lzsUgGbExHVs zuUcF4RXlv&esSXA|MK^$e=Yj=^K|?j|MSl`Hy2msOY-yYN_e`@UH)d>vyW$6m5KIY&6X}b-53?x3&Jf zboA`;iD|Nhnek_~ zZl5{4>3-FLj|QJtofm9eesvRrP1&22O}}LyU#tIrB&Gjj`T@Hw8wyTdV%-1SSMB$G z)4V$sM^ZMOUp_x!SAU;7hyL7`kG=PAxc%hzx@g1C&CmV5S>zNx^Dh5T$@pPQ)W6gP zv-xNF`0c2B`0w=o(xLG|Dds6&8Eqfd#gXEoSgUk-iD-Scf-#8S@yrVoq5gCQ^8HPf9750 zzqjT6&2IT0@s-CMciTN@KCSn6v$*W8+l|Zjzg?$3|Kq*w^MAg%TYmTbk?{Ht|5B^N z&(|D1_TFZLVfL@ef(QS_85;~n(P#*ahQMeDjE2By2#kin$PR%G{~7nW7W{g-K+^>@ O0O9HC=d#Wzp$P!Seu)kM literal 0 HcmV?d00001 diff --git a/test/screenshotter/ss_data.yaml b/test/screenshotter/ss_data.yaml index a37a6920..d5e9135e 100644 --- a/test/screenshotter/ss_data.yaml +++ b/test/screenshotter/ss_data.yaml @@ -117,6 +117,7 @@ Sqrt: | SqrtRoot: | 1+\sqrt[3]{2}+\sqrt[1923^234]{2^{2^{2^{2^{2^{2^{2^{2^{2^{2^{2^2}}}}}}}}}}} StackRel: a \stackrel{?}{=} b \stackrel{\text{def}}{=} c +StyleSpacing: \scriptstyle ab\;cd StyleSwitching: a\cdot b\scriptstyle a\cdot ba\textstyle\cdot ba\scriptstyle\cdot b SupSubCharacterBox: a_2f_2{f}_2{aa}_2{af}_2\mathbf{y}_Ay_A SupSubHorizSpacing: |