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 dccf161..534166d 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 zcmeI0`BT#e7Qnv*D|n)%u84-nSfs5AqH+j?jEYh~$Xa)ehyj!;WdkIULXZT4C#_r_ z#UnsywS}(AB}kA!5=4{bN(3Y%Kn@6yLK41Q$u}X_(w+Sq_LpVm&6_uG=Dm6IdB+d$ z$G=8~Y*_2O765<^pG_@mKILNAI7Oe*VI1@oE0^!d_bQ=iJXix0Fpg-8cpB-*&S5 zr>~}kyTY8jc2D0wa^UFr&PVmeAXRCrPAYb%wL;Gi_FF;U2j3z==KRanpg?P@kSQf; z#B1+*2aKQqg5Dmux#oW>$zK8(%It`{#Mp!YO{dry{bCyjiQzn_QKAP*sgoTc`QGHQ zPhGV5jn!81>4*Eb)na}90oi$MeS*j6DXXF3^h{v6dPDf*^`h$S@SHr|j`bYe!^MB0 zw>`i%{MwPD5p{ayyom7;s;M4R_Yl54X)ny-wDqFGeehM3g@(&`qU64d;a%dZ5YI%9 zxah{ua@^54-M#Qkc}+gXQMotqz<-<%D!h$%+>o=;CxD>3<+RD-Fn|>(RP!D!a@eSz z*GigO#OkE3Gq71w*ZF$r@ouu{{v@n1VUJD5+lI^3tk5E38S$Im@JENX)gq(Ua5R

>(ro?>&yc#R2)rNq9s=^TI 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 E0LFfa4gdfE literal 0 HcmV?d00001 diff --git a/test/screenshotter/ss_data.yaml b/test/screenshotter/ss_data.yaml index a37a692..d5e9135 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: |