tdf#143979: sc_subsequent_export-test2: Add unittest
Change-Id: I9051187dcb252d800ba4c2f062ff18f0ed022c03
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121028
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
diff --git a/sc/qa/unit/subsequent_export-test2.cxx b/sc/qa/unit/subsequent_export-test2.cxx
index 217b9fb..3640986 100644
--- a/sc/qa/unit/subsequent_export-test2.cxx
+++ b/sc/qa/unit/subsequent_export-test2.cxx
@@ -168,6 +168,7 @@ public:
void testXltxExport();
void testRotatedImageODS();
void testTdf128976();
void testTdf143979();
void testTdf120502();
void testTdf131372();
void testTdf81470();
@@ -273,6 +274,7 @@ public:
CPPUNIT_TEST(testXltxExport);
CPPUNIT_TEST(testRotatedImageODS);
CPPUNIT_TEST(testTdf128976);
CPPUNIT_TEST(testTdf143979);
CPPUNIT_TEST(testTdf120502);
CPPUNIT_TEST(testTdf131372);
CPPUNIT_TEST(testTdf81470);
@@ -1657,6 +1659,58 @@ void ScExportTest2::testTdf128976()
xDocSh->DoClose();
}
void ScExportTest2::testTdf143979()
{
// Create an empty worksheet
css::uno::Reference<css::frame::XDesktop2> xDesktop
= css::frame::Desktop::create(comphelper::getProcessComponentContext());
CPPUNIT_ASSERT(xDesktop);
css::uno::Sequence<css::beans::PropertyValue> args(1);
args[0].Name = "Hidden";
args[0].Value <<= true;
css::uno::Reference<css::lang::XComponent> xComponent
= xDesktop->loadComponentFromURL("private:factory/scalc", "_blank", 0, args);
CPPUNIT_ASSERT(xComponent);
// Get the document model
SfxObjectShell* pFoundShell = SfxObjectShell::GetShellFromComponent(xComponent);
CPPUNIT_ASSERT_MESSAGE("Failed to access document shell", pFoundShell);
ScDocShellRef xShell = dynamic_cast<ScDocShell*>(pFoundShell);
CPPUNIT_ASSERT(xShell);
ScDocument& rDoc = xShell->GetDocument();
OUString aCode = "YYYY-MM\"\"MMM-DDNN";
sal_Int32 nCheckPos;
SvNumFormatType nType;
sal_uInt32 nFormat;
SvNumberFormatter* pFormatter = rDoc.GetFormatTable();
pFormatter->PutEntry(aCode, nCheckPos, nType, nFormat);
ScPatternAttr aNewAttrs(rDoc.GetPool());
SfxItemSet& rSet = aNewAttrs.GetItemSet();
rSet.Put(SfxUInt32Item(ATTR_VALUE_FORMAT, nFormat));
rDoc.ApplyPattern(0, 0, 0, aNewAttrs);
rDoc.SetString(ScAddress(0, 0, 0), "08/30/2021");
CPPUNIT_ASSERT_EQUAL(OUString("2021-08Aug-30Mon"), rDoc.GetString(ScAddress(0, 0, 0)));
ScDocShellRef pDocSh = saveAndReload(&(*xShell), FORMAT_ODS);
CPPUNIT_ASSERT(pDocSh.is());
ScDocument& rDoc2 = pDocSh->GetDocument();
// Without the fix in place, this test would have failed with
// - Expected: 2021-08Aug-30Mon
// - Actual : 2021-A-30Mon
CPPUNIT_ASSERT_EQUAL(OUString("2021-08Aug-30Mon"), rDoc2.GetString(ScAddress(0, 0, 0)));
}
void ScExportTest2::testTdf120502()
{
// Create an empty worksheet; resize last column on its first sheet; export to XLSX, and check