diff options
author | Katarina Behrens <Katarina.Behrens@cib.de> | 2015-08-13 13:45:07 +0200 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2015-08-14 11:47:56 +0000 |
commit | b0a890e5bda70afa77feb3e89c3d446b00e580a3 (patch) | |
tree | 8be620309b748dc5a4c4d258c4a876914d51ba35 | |
parent | 077c8838ace23cfe5c54ae222153dbef815b56b0 (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.xlsx | bin | 0 -> 4152 bytes | |||
-rw-r--r-- | sc/qa/unit/subsequent_filters-test.cxx | 31 |
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 Binary files differnew file mode 100644 index 000000000000..21f80b4cef61 --- /dev/null +++ b/sc/qa/unit/data/xlsx/empty-noconf.xlsx 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() |