sc/qa/unit/uicalc/data/tdf150766.ods |binary
 sc/qa/unit/uicalc/uicalc.cxx         |   25 +++++++++++++++++++++++++
 2 files changed, 25 insertions(+)

New commits:
commit 907ba54b0d557b89e7e0e6f6eb25470e743c1918
Author:     Xisco Fauli <xiscofa...@libreoffice.org>
AuthorDate: Mon Sep 12 11:05:31 2022 +0200
Commit:     Xisco Fauli <xiscofa...@libreoffice.org>
CommitDate: Tue Sep 13 11:13:05 2022 +0200

    tdf#150766: sc_uicalc: Add unittest
    
    Change-Id: I4acff046167f05a576eb7320edc3c85d759f6776
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139790
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>

diff --git a/sc/qa/unit/uicalc/data/tdf150766.ods 
b/sc/qa/unit/uicalc/data/tdf150766.ods
new file mode 100644
index 000000000000..64088d19d040
Binary files /dev/null and b/sc/qa/unit/uicalc/data/tdf150766.ods differ
diff --git a/sc/qa/unit/uicalc/uicalc.cxx b/sc/qa/unit/uicalc/uicalc.cxx
index bd175ec1bde5..710ea1d1013f 100644
--- a/sc/qa/unit/uicalc/uicalc.cxx
+++ b/sc/qa/unit/uicalc/uicalc.cxx
@@ -3024,6 +3024,31 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf107952)
     lcl_AssertCurrentCursorPosition(*pDoc, "B1");
 }
 
+CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf150766)
+{
+    ScModelObj* pModelObj = createDoc("tdf150766.ods");
+    ScDocument* pDoc = pModelObj->GetDocument();
+    CPPUNIT_ASSERT(pDoc);
+
+    goToCell("A3:C6");
+
+    dispatchCommand(mxComponent, ".uno:SortDescending", {});
+
+    insertStringToCell(*pModelObj, "B3", "10");
+
+    CPPUNIT_ASSERT_EQUAL(12.0, pDoc->GetValue(ScAddress(2, 2, 0)));
+    CPPUNIT_ASSERT_EQUAL(13.0, pDoc->GetValue(ScAddress(2, 3, 0)));
+    CPPUNIT_ASSERT_EQUAL(14.0, pDoc->GetValue(ScAddress(2, 4, 0)));
+    CPPUNIT_ASSERT_EQUAL(15.0, pDoc->GetValue(ScAddress(2, 5, 0)));
+
+    // Without the fix in place, this test would have failed with
+    // - Expected: 16
+    // - Actual  : 7
+    CPPUNIT_ASSERT_EQUAL(16.0, pDoc->GetValue(ScAddress(2, 6, 0)));
+    CPPUNIT_ASSERT_EQUAL(17.0, pDoc->GetValue(ScAddress(2, 7, 0)));
+    CPPUNIT_ASSERT_EQUAL(18.0, pDoc->GetValue(ScAddress(2, 8, 0)));
+}
+
 CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf144022)
 {
     ScModelObj* pModelObj = createDoc("tdf144022.ods");

Reply via email to