summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorXisco Fauli <xiscofauli@libreoffice.org>2022-11-24 17:03:30 +0100
committerXisco Fauli <xiscofauli@libreoffice.org>2022-11-24 20:06:48 +0100
commit111ec417d2289b6231216650ccacbb1b7a35268e (patch)
tree0a2903b5ec96b3a889978a9349ce3bf35f247a13 /sc
parent5a6697313d2bcecc4f45626a66c85825a4430cc7 (diff)
sc: fix todo
When I change CppunitTest_sc_subsequent_export_test to inherit from UnoApiXmlTest in a865d042eff3cdd4d78badcc55c9d8fdf9ef52aa this test started to fail with * testTdf90299 fails now with - Expected: 'file:///tmp/lu23738863wthph.tmp/dummy.xls'#$Sheet1.A1 - Actual : 'file:///tmp/lu23738863wthph.tmp/lu23738863wthpg.tmp/dummy.xls'#$Sheet1.A1 For now, move it to filters-test.cxx to use the old way to load and save the documents so the test doesn't fail. Change-Id: Ibccbc4a422a7374be7c4b09fbec3985b52b8b140 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143239 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Diffstat (limited to 'sc')
-rw-r--r--sc/qa/unit/filters-test.cxx57
-rw-r--r--sc/qa/unit/subsequent_export_test.cxx52
2 files changed, 56 insertions, 53 deletions
diff --git a/sc/qa/unit/filters-test.cxx b/sc/qa/unit/filters-test.cxx
index d7b2197f1a29..c165869a1afb 100644
--- a/sc/qa/unit/filters-test.cxx
+++ b/sc/qa/unit/filters-test.cxx
@@ -25,9 +25,13 @@
#include <scopetools.hxx>
#include <undomanager.hxx>
+#include <osl/file.hxx>
+#include <sfx2/docfilt.hxx>
+#include <sfx2/docfile.hxx>
#include <svx/svdpage.hxx>
#include <tools/stream.hxx>
#include <tools/urlobj.hxx>
+#include <unotools/tempfile.hxx>
using namespace ::com::sun::star;
using namespace ::com::sun::star::uno;
@@ -50,12 +54,13 @@ public:
void testContentofz9704();
void testTooManyColsRows();
-
+ void testTdf90299();
CPPUNIT_TEST_SUITE(ScFiltersTest);
CPPUNIT_TEST(testCVEs);
CPPUNIT_TEST(testContentofz9704);
CPPUNIT_TEST(testTooManyColsRows);
+ CPPUNIT_TEST(testTdf90299);
CPPUNIT_TEST_SUITE_END();
@@ -151,6 +156,56 @@ void ScFiltersTest::testTooManyColsRows()
xDocSh->DoClose();
}
+void ScFiltersTest::testTdf90299()
+{
+ const OUString aTmpDirectory1URL = utl::CreateTempURL(nullptr, true);
+ const OUString aTmpDirectory2URL = utl::CreateTempURL(nullptr, true);
+ const OUString aSavedFileURL = utl::CreateTempURL(&aTmpDirectory1URL);
+
+ OUString aReferencedFileURL;
+ OUString aReferencingFileURL;
+ createFileURL(u"tdf90299.", u"xls", aReferencingFileURL);
+
+ auto eError = osl::File::copy(aReferencingFileURL, aTmpDirectory1URL + "/tdf90299.xls");
+ CPPUNIT_ASSERT_EQUAL(osl::File::E_None, eError);
+
+ aReferencingFileURL = aTmpDirectory1URL + "/tdf90299.xls";
+ aReferencedFileURL = aTmpDirectory1URL + "/dummy.xls";
+
+ ScDocShellRef xShell = loadDoc(aReferencingFileURL, "MS Excel 97", OUString(), OUString(),
+ XLS_FORMAT_TYPE, SotClipboardFormatId::STARCALC_8);
+
+ ScDocument& rDoc = xShell->GetDocument();
+ CPPUNIT_ASSERT_EQUAL(OUString("='" + aReferencedFileURL + "'#$Sheet1.A1"), rDoc.GetFormula(0, 0, 0));
+
+ aReferencingFileURL = aSavedFileURL;
+
+ SfxMedium aStoreMedium(aReferencingFileURL, StreamMode::STD_WRITE);
+
+ auto pExportFilter = std::make_shared<SfxFilter>(
+ "MS Excel 97", OUString(), XLS_FORMAT_TYPE, SotClipboardFormatId::NONE, OUString(),
+ OUString(), OUString(), "private:factory/scalc*");
+ pExportFilter->SetVersion(SOFFICE_FILEFORMAT_CURRENT);
+
+ aStoreMedium.SetFilter(pExportFilter);
+
+ xShell->DoSaveAs(aStoreMedium);
+ xShell->DoClose();
+
+ eError = osl::File::copy(aReferencingFileURL, aTmpDirectory2URL + "/tdf90299.xls");
+ CPPUNIT_ASSERT_EQUAL(osl::File::E_None, eError);
+
+ aReferencingFileURL = aTmpDirectory2URL + "/tdf90299.xls";
+ aReferencedFileURL = aTmpDirectory2URL + "/dummy.xls";
+
+ xShell = loadDoc(aReferencingFileURL, "MS Excel 97", OUString(), OUString(),
+ XLS_FORMAT_TYPE, SotClipboardFormatId::STARCALC_8);
+ ScDocument& rDoc2 = xShell->GetDocument();
+ CPPUNIT_ASSERT_EQUAL(OUString("='" + aReferencedFileURL + "'#$Sheet1.A1"), rDoc2.GetFormula(0, 0, 0));
+
+ xShell->DoClose();
+}
+
ScFiltersTest::ScFiltersTest()
: ScFilterTestBase()
{
diff --git a/sc/qa/unit/subsequent_export_test.cxx b/sc/qa/unit/subsequent_export_test.cxx
index 64ed8639c1aa..f455f90b6ee5 100644
--- a/sc/qa/unit/subsequent_export_test.cxx
+++ b/sc/qa/unit/subsequent_export_test.cxx
@@ -188,7 +188,6 @@ public:
void testPreserveTextWhitespace2XLSX();
void testTdf113646();
void testDateStandardfilterXLSX();
- void testTdf90299();
CPPUNIT_TEST_SUITE(ScExportTest);
CPPUNIT_TEST(test);
@@ -296,7 +295,6 @@ public:
CPPUNIT_TEST(testMoveCellAnchoredShapesODS);
CPPUNIT_TEST(testTdf113646);
CPPUNIT_TEST(testDateStandardfilterXLSX);
- CPPUNIT_TEST(testTdf90299);
CPPUNIT_TEST_SUITE_END();
private:
@@ -4307,56 +4305,6 @@ void ScExportTest::testDateStandardfilterXLSX()
"dateTimeGrouping", "day");
}
-void ScExportTest::testTdf90299()
-{
- const OUString aTmpDirectory1URL = utl::CreateTempURL(nullptr, true);
- const OUString aTmpDirectory2URL = utl::CreateTempURL(nullptr, true);
-
- struct
- {
- void checkFormula(ScDocShell& rDocSh, OUString aExpectedFormula)
- {
- rDocSh.ReloadAllLinks();
-
- ScDocument& rDoc = rDocSh.GetDocument();
-
- ScAddress aPos(0, 0, 0);
- ScTokenArray* pCode = getTokens(rDoc, aPos);
- CPPUNIT_ASSERT_MESSAGE("empty token array", pCode);
-
- OUString aFormula = toString(rDoc, aPos, *pCode, rDoc.GetGrammar());
-
- CPPUNIT_ASSERT_EQUAL(aExpectedFormula, aFormula);
- }
-
- } aCheckShell;
-
- OUString aReferencingFileURL = aTmpDirectory1URL + "/tdf90299.xls";
- OUString aReferencedFileURL = aTmpDirectory1URL + "/dummy.xls";
-
- auto eError = osl::File::copy(createFileURL(u"xls/tdf90299.xls"), aReferencingFileURL);
- CPPUNIT_ASSERT_EQUAL(osl::File::E_None, eError);
-
- load(aReferencingFileURL);
- ScDocShell* pDocSh = getScDocShell();
- aCheckShell.checkFormula(*pDocSh, "'" + aReferencedFileURL + "'#$Sheet1.A1");
-
- save("MS Excel 97");
-
- OUString aReferencingFileURL2 = aTmpDirectory2URL + "/tdf90299.xls";
-
- eError = osl::File::copy(maTempFile.GetURL(), aReferencingFileURL2);
- CPPUNIT_ASSERT_EQUAL(osl::File::E_None, eError);
-
- load(aReferencingFileURL2);
- pDocSh = getScDocShell();
-
- /* TODO: xisco
- OUString aReferencedFileURL2 = aTmpDirectory2URL + "/dummy.xls";
- aCheckShell.checkFormula(*pDocSh, "'" + aReferencedFileURL2 + "'#$Sheet1.A1");
- */
-}
-
CPPUNIT_TEST_SUITE_REGISTRATION(ScExportTest);
CPPUNIT_PLUGIN_IMPLEMENT();