starmath/qa/cppunit/test_cursor.cxx             |   10 +++++-----
 starmath/qa/cppunit/test_nodetotextvisitors.cxx |    4 ++--
 starmath/source/visitors.cxx                    |    4 ++--
 3 files changed, 9 insertions(+), 9 deletions(-)

New commits:
commit 8c982bf86ff9ca5a4ed86505ec1133cc183f1b58
Author:     Khaled Hosny <kha...@libreoffice.org>
AuthorDate: Thu Sep 7 10:21:24 2023 +0300
Commit:     خالد حسني <kha...@libreoffice.org>
CommitDate: Thu Sep 7 16:18:28 2023 +0200

    tdf#130741: Insert brackets around horizontal binary nodes more generously
    
    When converting node tree creating with visual editor back to text for
    the command editor, try to always insert brackets around binary
    expressions. It might look redundant at times but it is safer, and the
    code is not supposed to be edited by hand anymore so doesn’t have to
    look pretty.
    
    Change-Id: Ifff574494c9e8f8b948e432f6832d88c334aba00
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156640
    Tested-by: Jenkins
    Reviewed-by: خالد حسني <kha...@libreoffice.org>

diff --git a/starmath/qa/cppunit/test_cursor.cxx 
b/starmath/qa/cppunit/test_cursor.cxx
index 5f4c551675a1..bbdebf503153 100644
--- a/starmath/qa/cppunit/test_cursor.cxx
+++ b/starmath/qa/cppunit/test_cursor.cxx
@@ -87,7 +87,7 @@ void Test::testCopyPaste()
     aCursor.Move(pOutputDevice, MoveRight);
     aCursor.Paste();
 
-    CPPUNIT_ASSERT_EQUAL(OUString("{ a * b + c * b }"), xDocShRef->GetText());
+    CPPUNIT_ASSERT_EQUAL(OUString("{ { a * b } + { c * b } }"), 
xDocShRef->GetText());
 }
 
 void Test::testCopySelectPaste()
@@ -113,7 +113,7 @@ void Test::testCopySelectPaste()
     aCursor.Move(pOutputDevice, MoveRight, false);
     aCursor.Paste();
 
-    CPPUNIT_ASSERT_EQUAL(OUString("{ b + c * b + c }"), xDocShRef->GetText());
+    CPPUNIT_ASSERT_EQUAL(OUString("{ { b + { c * b } } + c }"), 
xDocShRef->GetText());
 }
 
 void Test::testCutPaste()
@@ -130,12 +130,12 @@ void Test::testCutPaste()
     aCursor.Move(pOutputDevice, MoveRight, false);
     aCursor.Move(pOutputDevice, MoveRight, false);
     aCursor.Cut();
-    // go to the left end and then paste
+    // go to the right end and then paste
     aCursor.Move(pOutputDevice, MoveRight);
     aCursor.Move(pOutputDevice, MoveRight);
     aCursor.Paste();
 
-    CPPUNIT_ASSERT_EQUAL(OUString("{ a + c * b }"), xDocShRef->GetText());
+    CPPUNIT_ASSERT_EQUAL(OUString("{ a + { c * b } }"), xDocShRef->GetText());
 }
 
 void Test::testCutSelectPaste()
@@ -161,7 +161,7 @@ void Test::testCutSelectPaste()
     aCursor.Move(pOutputDevice, MoveRight, false);
     aCursor.Paste();
 
-    CPPUNIT_ASSERT_EQUAL(OUString("{ b + c * }"), xDocShRef->GetText());
+    CPPUNIT_ASSERT_EQUAL(OUString("{ b + { c * } }"), xDocShRef->GetText());
 }
 
 CPPUNIT_TEST_SUITE_REGISTRATION(Test);
diff --git a/starmath/qa/cppunit/test_nodetotextvisitors.cxx 
b/starmath/qa/cppunit/test_nodetotextvisitors.cxx
index 11ef5affcc4c..aba582e281d3 100644
--- a/starmath/qa/cppunit/test_nodetotextvisitors.cxx
+++ b/starmath/qa/cppunit/test_nodetotextvisitors.cxx
@@ -528,7 +528,7 @@ void Test::testBinomInBinHor()
     aCursor.InsertElement(PlusElement);
     aCursor.InsertText("d");
 
-    sExpected += "{ { binom a b + c } + d }";
+    sExpected += "{ { binom a { b + c } } + d }";
     CPPUNIT_ASSERT_EQUAL_MESSAGE("Binom Node in BinHor Node", sExpected, 
xDocShRef->GetText());
 }
 
@@ -623,7 +623,7 @@ void Test::testUnaryInMixedNumberAsNumerator()
     aCursor.InsertText("4");
 
     CPPUNIT_ASSERT_EQUAL_MESSAGE("Unary in mixed number as Numerator",
-                                 OUString("{ 2 { - 1 over 2 } + 4 }"), 
xDocShRef->GetText());
+                                 OUString("{ 2 { { - 1 over 2 } + 4 } }"), 
xDocShRef->GetText());
 }
 
 void Test::testMiscEquivalent()
diff --git a/starmath/source/visitors.cxx b/starmath/source/visitors.cxx
index 732c27f9840f..b205e710b72f 100644
--- a/starmath/source/visitors.cxx
+++ b/starmath/source/visitors.cxx
@@ -2189,7 +2189,7 @@ void SmNodeToTextVisitor::Visit( SmUnHorNode* pNode )
 void SmNodeToTextVisitor::Visit( SmBinHorNode* pNode )
 {
     const SmNode *pParent = pNode->GetParent();
-    bool bBraceNeeded = pParent && pParent->GetType() == SmNodeType::Font;
+    bool bBraceNeeded = pParent;
     SmNode *pLeft  = pNode->LeftOperand(),
            *pOper  = pNode->Symbol(),
            *pRight = pNode->RightOperand();
@@ -2598,7 +2598,7 @@ void SmNodeToTextVisitor::Visit( SmLineNode* pNode )
 
 void SmNodeToTextVisitor::Visit( SmExpressionNode* pNode )
 {
-    bool bracketsNeeded = pNode->GetNumSubNodes() != 1 || 
pNode->GetSubNode(0)->GetType() == SmNodeType::BinHor;
+    bool bracketsNeeded = pNode->GetNumSubNodes() != 1;
     if (!bracketsNeeded)
     {
         const SmNode *pParent = pNode->GetParent();

Reply via email to