summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sc/qa/unit/data/contentCSV/shared-formula.csv9
-rw-r--r--sc/qa/unit/data/xlsx/shared-formula.xlsxbin0 -> 8336 bytes
-rw-r--r--sc/qa/unit/subsequent_filters-test.cxx32
3 files changed, 41 insertions, 0 deletions
diff --git a/sc/qa/unit/data/contentCSV/shared-formula.csv b/sc/qa/unit/data/contentCSV/shared-formula.csv
new file mode 100644
index 000000000000..07193989308c
--- /dev/null
+++ b/sc/qa/unit/data/contentCSV/shared-formula.csv
@@ -0,0 +1,9 @@
+1
+2
+3
+4
+5
+6
+7
+8
+9
diff --git a/sc/qa/unit/data/xlsx/shared-formula.xlsx b/sc/qa/unit/data/xlsx/shared-formula.xlsx
new file mode 100644
index 000000000000..d1b4f52fd47d
--- /dev/null
+++ b/sc/qa/unit/data/xlsx/shared-formula.xlsx
Binary files differ
diff --git a/sc/qa/unit/subsequent_filters-test.cxx b/sc/qa/unit/subsequent_filters-test.cxx
index f7d5d2b76995..8476b85c1542 100644
--- a/sc/qa/unit/subsequent_filters-test.cxx
+++ b/sc/qa/unit/subsequent_filters-test.cxx
@@ -118,6 +118,9 @@ public:
void testBugFixesXLSX();
void testBrokenQuotesCSV();
+ //change this test file only in excel and not in calc
+ void testSharedFormulaXLSX();
+
//misc tests unrelated to the import filters
void testPasswordNew();
void testPasswordOld();
@@ -142,6 +145,8 @@ public:
#if 0
CPPUNIT_TEST(testBrokenQuotesCSV);
#endif
+ CPPUNIT_TEST(testSharedFormulaXLSX);
+
//disable testPassword on MacOSX due to problems with libsqlite3
//also crashes on DragonFly due to problems with nss/nspr headers
#if !defined(MACOSX) && !defined(DRAGONFLY) && !defined(WNT)
@@ -667,6 +672,33 @@ void ScFiltersTest::testBrokenQuotesCSV()
xDocSh->DoClose();
}
+void ScFiltersTest::testSharedFormulaXLSX()
+{
+ const rtl::OUString aFileNameBase(RTL_CONSTASCII_USTRINGPARAM("shared-formula."));
+ rtl::OUString aFileExtension(aFileFormats[XLSX].pName, strlen(aFileFormats[XLSX].pName), RTL_TEXTENCODING_UTF8 );
+ rtl::OUString aFilterName(aFileFormats[XLSX].pFilterName, strlen(aFileFormats[XLSX].pFilterName), RTL_TEXTENCODING_UTF8) ;
+ rtl::OUString aFileName;
+ createFileURL(aFileNameBase, aFileExtension, aFileName);
+ rtl::OUString aFilterType(aFileFormats[XLSX].pTypeName, strlen(aFileFormats[XLSX].pTypeName), RTL_TEXTENCODING_UTF8);
+ std::cout << aFileFormats[XLSX].pName << " Test" << std::endl;
+ ScDocShellRef xDocSh = load (aFilterName, aFileName, rtl::OUString(), aFilterType, aFileFormats[XLSX].nFormatType);
+
+ CPPUNIT_ASSERT_MESSAGE("Failed to load shared-formula.xlsx", xDocSh.Is());
+ ScDocument* pDoc = xDocSh->GetDocument();
+ CPPUNIT_ASSERT_MESSAGE("No Document", pDoc); //remove with first test
+
+ rtl::OUString aCSVPath;
+ createCSVPath( aFileNameBase, aCSVPath );
+ testFile( aCSVPath, pDoc, 0 );
+
+ //test some additional properties
+ ScRangeName* pName = pDoc->GetRangeName();
+ for (ScRangeName::iterator itr = pName->begin(); itr != pName->end(); ++itr)
+ {
+ CPPUNIT_ASSERT(itr->second->GetType() & RT_SHARED);
+ }
+}
+
void ScFiltersTest::testPassword_Impl(const rtl::OUString& aFileNameBase)
{
rtl::OUString aFileExtension(aFileFormats[0].pName, strlen(aFileFormats[0].pName), RTL_TEXTENCODING_UTF8 );