summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKatarina Behrens <Katarina.Behrens@cib.de>2015-08-13 13:45:07 +0200
committerEike Rathke <erack@redhat.com>2015-08-14 11:47:56 +0000
commitb0a890e5bda70afa77feb3e89c3d446b00e580a3 (patch)
tree8be620309b748dc5a4c4d258c4a876914d51ba35
parent077c8838ace23cfe5c54ae222153dbef815b56b0 (diff)
Some more tdf#92256 related tests
Change-Id: I052cceb229f8ab72277c51600994269e4ea52135 Reviewed-on: https://gerrit.libreoffice.org/17704 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
-rw-r--r--sc/qa/unit/data/xlsx/empty-noconf.xlsxbin0 -> 4152 bytes
-rw-r--r--sc/qa/unit/subsequent_filters-test.cxx31
2 files changed, 29 insertions, 2 deletions
diff --git a/sc/qa/unit/data/xlsx/empty-noconf.xlsx b/sc/qa/unit/data/xlsx/empty-noconf.xlsx
new file mode 100644
index 000000000000..21f80b4cef61
--- /dev/null
+++ b/sc/qa/unit/data/xlsx/empty-noconf.xlsx
Binary files differ
diff --git a/sc/qa/unit/subsequent_filters-test.cxx b/sc/qa/unit/subsequent_filters-test.cxx
index cd909f916ac5..3eb33b0094be 100644
--- a/sc/qa/unit/subsequent_filters-test.cxx
+++ b/sc/qa/unit/subsequent_filters-test.cxx
@@ -3109,8 +3109,16 @@ void ScFiltersTest::testRefStringXLSX()
double nVal = rDoc.GetValue(2, 2, 0);
ASSERT_DOUBLES_EQUAL(3.0, nVal);
- const ScCalcConfig& rCalcConfig = rDoc.GetCalcConfig();
- CPPUNIT_ASSERT_EQUAL(formula::FormulaGrammar::CONV_XL_A1, rCalcConfig.meStringRefAddressSyntax);
+ ScCalcConfig aCalcConfig = rDoc.GetCalcConfig();
+ CPPUNIT_ASSERT_EQUAL(formula::FormulaGrammar::CONV_XL_A1, aCalcConfig.meStringRefAddressSyntax);
+
+ //make sure ref syntax gets saved for MSO-produced docs
+ xDocSh = saveAndReload( &(*xDocSh), XLSX);
+ CPPUNIT_ASSERT_MESSAGE("Failed to reload doc", xDocSh.Is());
+
+ ScDocument& rDoc2 = xDocSh->GetDocument();
+ aCalcConfig = rDoc2.GetCalcConfig();
+ CPPUNIT_ASSERT_EQUAL(formula::FormulaGrammar::CONV_XL_A1, aCalcConfig.meStringRefAddressSyntax);
xDocSh->DoClose();
}
@@ -3128,7 +3136,26 @@ void ScFiltersTest::testRefStringConfigXLSX()
CPPUNIT_ASSERT_EQUAL_MESSAGE("String ref syntax doesn't match", formula::FormulaGrammar::CONV_OOO,
aConfig.meStringRefAddressSyntax);
+ xDocSh = loadDoc("empty-noconf.", XLSX);
+ CPPUNIT_ASSERT_MESSAGE("Failed to open 2nd doc", xDocSh.Is());
+
+ //set ref syntax to something else than ExcelA1 (native to xlsx format) ...
+ ScDocument& rDoc2 = xDocSh->GetDocument();
+ aConfig = rDoc2.GetCalcConfig();
+ aConfig.meStringRefAddressSyntax = formula::FormulaGrammar::CONV_A1_XL_A1;
+ rDoc2.SetCalcConfig( aConfig );
+
+ ScDocShellRef xNewDocSh = saveAndReload( &(*xDocSh), XLSX);
+ CPPUNIT_ASSERT_MESSAGE("Failed to reload 2nd doc", xNewDocSh.Is());
+
+ // ... and make sure it got saved
+ ScDocument& rDoc3 = xNewDocSh->GetDocument();
+ aConfig = rDoc3.GetCalcConfig();
+ CPPUNIT_ASSERT_EQUAL_MESSAGE("String ref syntax doesn't match", formula::FormulaGrammar::CONV_A1_XL_A1,
+ aConfig.meStringRefAddressSyntax);
+
xDocSh->DoClose();
+ xNewDocSh->DoClose();
}
void ScFiltersTest::testBnc762542()