diff options
author | Katarina Behrens <Katarina.Behrens@cib.de> | 2015-09-29 15:45:22 +0200 |
---|---|---|
committer | Katarina Behrens <Katarina.Behrens@cib.de> | 2015-10-01 12:15:44 +0000 |
commit | ff422a93f945a1d0ee52621495fbc7a58e3daac4 (patch) | |
tree | 51cd0d8c4abc15f3eb6219c49507bad1b6cc59ec /sc/qa | |
parent | d1ebfb53182a924947aa7d85d0886e02cf979052 (diff) |
tdf#93688: Set CalcA1|ExcelA1 syntax only for imported docs
those whose string ref syntax is unknown or can't be guessed i.e.
don't use it for new documents (prefer user settings in that case)
Change-Id: I1355031cdd63e2a5c50064531011be71ae7f7b8f
Reviewed-on: https://gerrit.libreoffice.org/18923
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
Diffstat (limited to 'sc/qa')
-rw-r--r-- | sc/qa/unit/subsequent_export-test.cxx | 12 | ||||
-rw-r--r-- | sc/qa/unit/ucalc_formula.cxx | 6 |
2 files changed, 12 insertions, 6 deletions
diff --git a/sc/qa/unit/subsequent_export-test.cxx b/sc/qa/unit/subsequent_export-test.cxx index 26d759588216..7fe0a69b6d8f 100644 --- a/sc/qa/unit/subsequent_export-test.cxx +++ b/sc/qa/unit/subsequent_export-test.cxx @@ -2927,6 +2927,7 @@ void ScExportTest::testRefStringXLSX() void ScExportTest::testRefStringConfigXLSX() { + // this doc is configured with CalcA1 ref syntax ScDocShellRef xDocSh = loadDoc("empty.", XLSX); CPPUNIT_ASSERT_MESSAGE("Failed to open doc", xDocSh.Is()); @@ -2938,13 +2939,18 @@ void ScExportTest::testRefStringConfigXLSX() CPPUNIT_ASSERT_EQUAL_MESSAGE("String ref syntax doesn't match", formula::FormulaGrammar::CONV_OOO, aConfig.meStringRefAddressSyntax); + // this doc has no entry for ref syntax 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; + // therefore after import, ref syntax should be set to CalcA1 | ExcelA1 + CPPUNIT_ASSERT_EQUAL_MESSAGE("String ref syntax doesn't match", formula::FormulaGrammar::CONV_A1_XL_A1, + aConfig.meStringRefAddressSyntax); + + //set ref syntax to something else than ExcelA1 (native to xlsx format) ... + aConfig.meStringRefAddressSyntax = formula::FormulaGrammar::CONV_XL_R1C1; rDoc2.SetCalcConfig( aConfig ); ScDocShellRef xNewDocSh = saveAndReload( &(*xDocSh), XLSX); @@ -2953,7 +2959,7 @@ void ScExportTest::testRefStringConfigXLSX() // ... 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, + CPPUNIT_ASSERT_EQUAL_MESSAGE("String ref syntax doesn't match", formula::FormulaGrammar::CONV_XL_R1C1, aConfig.meStringRefAddressSyntax); xDocSh->DoClose(); diff --git a/sc/qa/unit/ucalc_formula.cxx b/sc/qa/unit/ucalc_formula.cxx index c77173097b6f..791fe6563f3d 100644 --- a/sc/qa/unit/ucalc_formula.cxx +++ b/sc/qa/unit/ucalc_formula.cxx @@ -4487,10 +4487,10 @@ void Test::testFuncINDIRECT() m_pDoc->CalcAll(); { - // Default is to use compatibility mode, accept both Calc A1 and - // Excel A1 syntax + // Default (for new documents) is to use current formula syntax + // which is Calc A1 const OUString* aChecks[] = { - &aTest, &aTest, &aRefErr, &aTest + &aTest, &aRefErr, &aRefErr, &aTest }; for (size_t i = 0; i < SAL_N_ELEMENTS(aChecks); ++i) |