From 478705801de883281f1d3a9bb15bb7f9a05af823 Mon Sep 17 00:00:00 2001 From: FoggyFinder Date: Sat, 2 Nov 2019 14:25:45 +0300 Subject: [PATCH 1/2] fix HandleScriptButton --- CSharpMath.Editor/Keyboards/MathKeyboard.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CSharpMath.Editor/Keyboards/MathKeyboard.cs b/CSharpMath.Editor/Keyboards/MathKeyboard.cs index 85ddefce9..b85532cc2 100644 --- a/CSharpMath.Editor/Keyboards/MathKeyboard.cs +++ b/CSharpMath.Editor/Keyboards/MathKeyboard.cs @@ -100,7 +100,7 @@ void HandleScriptButton(bool isSuperScript) { if (_insertionIndex.AtBeginningOfLine) { // Create an empty atom and move the insertion index up. var emptyAtom = MathAtoms.Placeholder; - emptyAtom.Superscript = MathAtoms.PlaceholderList; + SetScript(emptyAtom, MathAtoms.PlaceholderList); MathList.InsertAndAdvance(ref _insertionIndex, emptyAtom, subIndexType); } else { var prevAtom = MathList.AtomAt(_insertionIndex.Previous); From 0cccb7aba05aa5ca9ec03f98e6d642bfd6380ecc Mon Sep 17 00:00:00 2001 From: FoggyFinder Date: Sat, 2 Nov 2019 16:45:24 +0300 Subject: [PATCH 2/2] add test --- CSharpMath.Editor.Tests/MathKeyboardTests.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CSharpMath.Editor.Tests/MathKeyboardTests.cs b/CSharpMath.Editor.Tests/MathKeyboardTests.cs index d1580c51d..9c1c1ec3c 100644 --- a/CSharpMath.Editor.Tests/MathKeyboardTests.cs +++ b/CSharpMath.Editor.Tests/MathKeyboardTests.cs @@ -178,5 +178,8 @@ public void Return(params K[] inputs) => T(@"1^3_2", K.D1, K.D4, K.Power, K.D3, K.Left, K.Left, K.Subscript, K.D2, K.Left, K.Left, K.Left, K.Left, K.Backspace) ] public void LeftRightBackspace(string latex, params K[] inputs) => Test(latex, inputs); + + [Theory, T(@"□_■", K.Subscript)] + public void SubscriptWorksAtBeginningOfLine(string latex, params K[] inputs) => Test(latex, inputs); } } \ No newline at end of file