fdo#71076: Write test for this.
This was actually just one element of all that contributed to this bug. Unfortunately it's a bit hard to test the others. Change-Id: I7a0d88c0b829e7b7859aecfc20df87f6837ecb4a
This commit is contained in:
@@ -1217,13 +1217,14 @@ public:
|
||||
|
||||
/**
|
||||
* Copy only raw cell values to another document. Formula cells are
|
||||
* converted to raw cells. No formatting info are copied.
|
||||
* converted to raw cells. No formatting info are copied except for
|
||||
* number formats.
|
||||
*
|
||||
* @param rSrcRange source range in the source document
|
||||
* @param nDestTab table in the clip document to copy to.
|
||||
* @param pDestDoc document to copy to
|
||||
*/
|
||||
void CopyStaticToDocument(const ScRange& rSrcRange, SCTAB nDestTab, ScDocument* pDestDoc);
|
||||
SC_DLLPUBLIC void CopyStaticToDocument(const ScRange& rSrcRange, SCTAB nDestTab, ScDocument* pDestDoc);
|
||||
|
||||
/**
|
||||
* Copy only cell, nothing but cell to another document.
|
||||
|
BIN
sc/qa/unit/data/ods/copy-merged-number-formats.ods
Normal file
BIN
sc/qa/unit/data/ods/copy-merged-number-formats.ods
Normal file
Binary file not shown.
@@ -174,6 +174,7 @@ public:
|
||||
void testExternalRefCacheXLSX();
|
||||
void testExternalRefCacheODS();
|
||||
void testHybridSharedStringODS();
|
||||
void testCopyMergedNumberFormats();
|
||||
|
||||
CPPUNIT_TEST_SUITE(ScFiltersTest);
|
||||
CPPUNIT_TEST(testBasicCellContentODS);
|
||||
@@ -252,6 +253,7 @@ public:
|
||||
CPPUNIT_TEST(testExternalRefCacheXLSX);
|
||||
CPPUNIT_TEST(testExternalRefCacheODS);
|
||||
CPPUNIT_TEST(testHybridSharedStringODS);
|
||||
CPPUNIT_TEST(testCopyMergedNumberFormats);
|
||||
CPPUNIT_TEST_SUITE_END();
|
||||
|
||||
private:
|
||||
@@ -2583,6 +2585,29 @@ void ScFiltersTest::testHybridSharedStringODS()
|
||||
xDocSh->DoClose();
|
||||
}
|
||||
|
||||
void ScFiltersTest::testCopyMergedNumberFormats()
|
||||
{
|
||||
ScDocShellRef xDocSh = loadDoc("copy-merged-number-formats.", ODS);
|
||||
CPPUNIT_ASSERT(xDocSh.Is());
|
||||
ScDocument* pDoc = xDocSh->GetDocument();
|
||||
|
||||
// Cells B1, C1 and D1 are formatted as dates.
|
||||
OUString aStrB1 = pDoc->GetString(ScAddress(1,0,0));
|
||||
OUString aStrC1 = pDoc->GetString(ScAddress(2,0,0));
|
||||
OUString aStrD1 = pDoc->GetString(ScAddress(3,0,0));
|
||||
|
||||
ScDocument aCopyDoc;
|
||||
aCopyDoc.InsertTab(0, "CopyHere");
|
||||
pDoc->CopyStaticToDocument(ScRange(1,0,0,3,0,0), 0, &aCopyDoc);
|
||||
|
||||
// Make sure the date formats are copied to the new document.
|
||||
CPPUNIT_ASSERT_EQUAL(aStrB1, aCopyDoc.GetString(ScAddress(1,0,0)));
|
||||
CPPUNIT_ASSERT_EQUAL(aStrC1, aCopyDoc.GetString(ScAddress(2,0,0)));
|
||||
CPPUNIT_ASSERT_EQUAL(aStrD1, aCopyDoc.GetString(ScAddress(3,0,0)));
|
||||
|
||||
xDocSh->DoClose();
|
||||
}
|
||||
|
||||
ScFiltersTest::ScFiltersTest()
|
||||
: ScBootstrapFixture( "/sc/qa/unit/data" )
|
||||
{
|
||||
|
Reference in New Issue
Block a user