[Libreoffice-commits] core.git: 2 commits - sc/qa sc/source
Kohei Yoshida
kohei.yoshida at collabora.com
Sat Feb 8 08:36:07 PST 2014
sc/qa/unit/data/ods/notes-on-3-sheets.ods |binary
sc/qa/unit/subsequent_export-test.cxx | 45 ++++++++++++++++++++++++++++++
sc/source/filter/excel/excdoc.cxx | 5 +++
3 files changed, 50 insertions(+)
New commits:
commit 771b9d2718f28beedbc1a913e8965cdd1fc75a88
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date: Sat Feb 8 11:37:46 2014 -0500
fdo#74521: Only pick cell notes for that sheet, and skip the rest.
Change-Id: I06a069e835eb7f2f90d34f4fcdfd935aff0234de
diff --git a/sc/source/filter/excel/excdoc.cxx b/sc/source/filter/excel/excdoc.cxx
index a8bfbf7..9cf433d 100644
--- a/sc/source/filter/excel/excdoc.cxx
+++ b/sc/source/filter/excel/excdoc.cxx
@@ -421,7 +421,12 @@ void ExcTable::FillAsTable( SCTAB nCodeNameIdx )
rDoc.GetAllNoteEntries(aNotes);
std::vector<sc::NoteEntry>::const_iterator it = aNotes.begin(), itEnd = aNotes.end();
for (; it != itEnd; ++it)
+ {
+ if (it->maPos.Tab() != mnScTab)
+ continue;
+
mxNoteList->AppendNewRecord(new XclExpNote(GetRoot(), it->maPos, it->mpNote, OUString()));
+ }
if( GetOutput() != EXC_OUTPUT_BINARY )
{
commit 7d71fd489c39f348c43477cafdc1bc150bf1ff68
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date: Sat Feb 8 10:46:47 2014 -0500
fdo#74521: Write unit test for this first.
Change-Id: I1815464e25703f1b0181211ac74341edb41793be
diff --git a/sc/qa/unit/data/ods/notes-on-3-sheets.ods b/sc/qa/unit/data/ods/notes-on-3-sheets.ods
new file mode 100644
index 0000000..e7b6399
Binary files /dev/null and b/sc/qa/unit/data/ods/notes-on-3-sheets.ods differ
diff --git a/sc/qa/unit/subsequent_export-test.cxx b/sc/qa/unit/subsequent_export-test.cxx
index 47278e0..2db6307 100644
--- a/sc/qa/unit/subsequent_export-test.cxx
+++ b/sc/qa/unit/subsequent_export-test.cxx
@@ -70,6 +70,7 @@ public:
void testCellValuesExportODS();
void testCellNoteExportODS();
+ void testCellNoteExportXLS();
void testFormatExportODS();
void testInlineArrayXLS();
@@ -91,6 +92,7 @@ public:
CPPUNIT_TEST(testRichTextExportODS);
CPPUNIT_TEST(testCellValuesExportODS);
CPPUNIT_TEST(testCellNoteExportODS);
+ CPPUNIT_TEST(testCellNoteExportXLS);
CPPUNIT_TEST(testFormatExportODS);
CPPUNIT_TEST(testInlineArrayXLS);
CPPUNIT_TEST(testEmbeddedChartXLS);
@@ -775,6 +777,49 @@ void ScExportTest::testCellNoteExportODS()
xNewDocSh->DoClose();
}
+void ScExportTest::testCellNoteExportXLS()
+{
+ // Start with an empty document.s
+ ScDocShellRef xOrigDocSh = loadDoc("notes-on-3-sheets.", ODS);
+ ScDocument* pDoc = xOrigDocSh->GetDocument();
+ CPPUNIT_ASSERT_MESSAGE("This document should have 3 sheets.", pDoc->GetTableCount() == 3);
+
+ // Check note's presence.
+ CPPUNIT_ASSERT( pDoc->HasNote(ScAddress(0,0,0)));
+ CPPUNIT_ASSERT(!pDoc->HasNote(ScAddress(0,1,0)));
+ CPPUNIT_ASSERT(!pDoc->HasNote(ScAddress(0,2,0)));
+
+ CPPUNIT_ASSERT(!pDoc->HasNote(ScAddress(0,0,1)));
+ CPPUNIT_ASSERT( pDoc->HasNote(ScAddress(0,1,1)));
+ CPPUNIT_ASSERT(!pDoc->HasNote(ScAddress(0,2,1)));
+
+ CPPUNIT_ASSERT(!pDoc->HasNote(ScAddress(0,0,2)));
+ CPPUNIT_ASSERT(!pDoc->HasNote(ScAddress(0,1,2)));
+ CPPUNIT_ASSERT( pDoc->HasNote(ScAddress(0,2,2)));
+
+ // save and reload as XLS.
+ ScDocShellRef xNewDocSh = saveAndReload(xOrigDocSh, XLS);
+ xOrigDocSh->DoClose();
+ CPPUNIT_ASSERT(xNewDocSh.Is());
+ pDoc = xNewDocSh->GetDocument();
+ CPPUNIT_ASSERT_MESSAGE("This document should have 3 sheets.", pDoc->GetTableCount() == 3);
+
+ // Check note's presence again.
+ CPPUNIT_ASSERT( pDoc->HasNote(ScAddress(0,0,0)));
+ CPPUNIT_ASSERT(!pDoc->HasNote(ScAddress(0,1,0)));
+ CPPUNIT_ASSERT(!pDoc->HasNote(ScAddress(0,2,0)));
+
+ CPPUNIT_ASSERT(!pDoc->HasNote(ScAddress(0,0,1)));
+ CPPUNIT_ASSERT( pDoc->HasNote(ScAddress(0,1,1)));
+ CPPUNIT_ASSERT(!pDoc->HasNote(ScAddress(0,2,1)));
+
+ CPPUNIT_ASSERT(!pDoc->HasNote(ScAddress(0,0,2)));
+ CPPUNIT_ASSERT(!pDoc->HasNote(ScAddress(0,1,2)));
+ CPPUNIT_ASSERT( pDoc->HasNote(ScAddress(0,2,2)));
+
+ xNewDocSh->DoClose();
+}
+
namespace {
void checkMatrixRange(ScDocument& rDoc, const ScRange& rRange)
More information about the Libreoffice-commits
mailing list