tdf#137091: sc_subsequent_filters_test: Add unittest

Change-Id: I435ffbdd82b5a40e56dd5f6ef55c032802184767
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103604
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
(cherry picked from commit 7672ac2e8764d9e4fcb5a896ef6210077907dcd0)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103657
diff --git a/sc/qa/unit/data/xlsx/tdf137091.xlsx b/sc/qa/unit/data/xlsx/tdf137091.xlsx
new file mode 100644
index 0000000..abcdf8f
--- /dev/null
+++ b/sc/qa/unit/data/xlsx/tdf137091.xlsx
Binary files differ
diff --git a/sc/qa/unit/subsequent_filters-test.cxx b/sc/qa/unit/subsequent_filters-test.cxx
index 3292058..a8229d2 100644
--- a/sc/qa/unit/subsequent_filters-test.cxx
+++ b/sc/qa/unit/subsequent_filters-test.cxx
@@ -75,6 +75,8 @@
#include <com/sun/star/container/XIndexAccess.hpp>
#include <com/sun/star/text/textfield/Type.hpp>

#include <comphelper/scopeguard.hxx>
#include <unotools/syslocaleoptions.hxx>
#include "helper/qahelper.hxx"
#include "helper/shared_test_impl.hxx"
#include <cellsuno.hxx>
@@ -253,6 +255,7 @@ public:
    void testHiddenRowsColumnsXLSXML();
    void testColumnWidthRowHeightXLSXML();
    void testCharacterSetXLSXML();
    void testTdf137091();
    void testTdf62268();
    void testVBAMacroFunctionODS();
    void testAutoheight2Rows();
@@ -402,6 +405,7 @@ public:
    CPPUNIT_TEST(testColumnWidthRowHeightXLSXML);
    CPPUNIT_TEST(testCharacterSetXLSXML);
    CPPUNIT_TEST(testCondFormatFormulaListenerXLSX);
    CPPUNIT_TEST(testTdf137091);
    CPPUNIT_TEST(testTdf62268);
    CPPUNIT_TEST(testVBAMacroFunctionODS);
    CPPUNIT_TEST(testAutoheight2Rows);
@@ -4369,6 +4373,28 @@ void ScFiltersTest::testCondFormatFormulaListenerXLSX()
    xDocSh->DoClose();
}

void ScFiltersTest::testTdf137091()
{
    // Set the system locale to Turkish
    SvtSysLocaleOptions aOptions;
    OUString sLocaleConfigString = aOptions.GetLanguageTag().getBcp47();
    aOptions.SetLocaleConfigString("tr-TR");
    aOptions.Commit();
    comphelper::ScopeGuard g([&aOptions, &sLocaleConfigString] {
        aOptions.SetLocaleConfigString(sLocaleConfigString);
        aOptions.Commit();
    });

    ScDocShellRef xDocSh = loadDoc("tdf137091.", FORMAT_XLSX);
    ScDocument& rDoc = xDocSh->GetDocument();

    // Without the fix in place, this test would have failed with
    // - Expected: 28/4
    // - Actual  : Err:507
    CPPUNIT_ASSERT_EQUAL(OUString("28/4"), rDoc.GetString(ScAddress(2,1,0)));
    xDocSh->DoClose();
}

void ScFiltersTest::testTdf62268()
{
    ScDocShellRef xDocSh = loadDoc("tdf62268.", FORMAT_ODS);