diff --git a/src/xlsx/xlsxworkbook.cpp b/src/xlsx/xlsxworkbook.cpp index e7fe00b..316e2f6 100755 --- a/src/xlsx/xlsxworkbook.cpp +++ b/src/xlsx/xlsxworkbook.cpp @@ -110,7 +110,6 @@ QString Workbook::defaultDateFormat() const { Q_D(const Workbook); return d->defaultDateFormat; - } void Workbook::setDefaultDateFormat(const QString &format) diff --git a/src/xlsx/xlsxworksheet.cpp b/src/xlsx/xlsxworksheet.cpp index 94529b0..45e8fa7 100755 --- a/src/xlsx/xlsxworksheet.cpp +++ b/src/xlsx/xlsxworksheet.cpp @@ -206,6 +206,8 @@ Worksheet::Worksheet(const QString &name, Workbook *workbook) : d_ptr(new WorksheetPrivate(this)) { d_ptr->name = name; + if (!workbook) //For unit test propose only. Ignore the memery leak. + workbook = new Workbook; d_ptr->workbook = workbook; } diff --git a/src/xlsx/xlsxworksheet.h b/src/xlsx/xlsxworksheet.h index 8562534..e42036d 100755 --- a/src/xlsx/xlsxworksheet.h +++ b/src/xlsx/xlsxworksheet.h @@ -35,6 +35,7 @@ class QIODevice; class QDateTime; class QUrl; class QImage; +class WorksheetTest; QT_BEGIN_NAMESPACE_XLSX class Package; @@ -72,11 +73,6 @@ public: void setRightToLeft(bool enable); void setZeroValuesHidden(bool enable); - void saveToXmlFile(QIODevice *device); - QByteArray saveToXmlData(); - bool loadFromXmlFile(QIODevice *device); - bool loadFromXmlData(const QByteArray &data); - QString sheetName() const; void setSheetName(const QString &sheetName); @@ -84,7 +80,13 @@ public: private: friend class Package; friend class Workbook; - Worksheet(const QString &sheetName, Workbook *book=0); + friend class WorksheetTest; + Worksheet(const QString &sheetName, Workbook *book); + + void saveToXmlFile(QIODevice *device); + QByteArray saveToXmlData(); + bool loadFromXmlFile(QIODevice *device); + bool loadFromXmlData(const QByteArray &data); virtual bool isChartsheet() const; bool isHidden() const; diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro index fdd383d..3d711b2 100644 --- a/tests/auto/auto.pro +++ b/tests/auto/auto.pro @@ -1,7 +1,7 @@ TEMPLATE=subdirs SUBDIRS=\ utility \ - mergecell \ + worksheet \ zipreader \ relationships \ propscore \ diff --git a/tests/auto/mergecell/tst_mergecelltest.cpp b/tests/auto/mergecell/tst_mergecelltest.cpp deleted file mode 100644 index 93f4555..0000000 --- a/tests/auto/mergecell/tst_mergecelltest.cpp +++ /dev/null @@ -1,68 +0,0 @@ -#include -#include - -#include "xlsxworksheet.h" -#include "xlsxdocument.h" - -class MergeCellTest : public QObject -{ - Q_OBJECT - -public: - MergeCellTest(); - -private Q_SLOTS: - void testWithoutMerge(); - void testMerge(); - void testUnMerge(); -}; - -MergeCellTest::MergeCellTest() -{ -} - -void MergeCellTest::testWithoutMerge() -{ - QXlsx::Document xlsx; - xlsx.write("B1", "Hello"); - - QByteArray xmldata; - QBuffer buffer(&xmldata); - buffer.open(QIODevice::WriteOnly); - xlsx.currentWorksheet()->saveToXmlFile(&buffer); - - QVERIFY2(!xmldata.contains("saveToXmlFile(&buffer); - - QVERIFY2(xmldata.contains(""), ""); -} - -void MergeCellTest::testUnMerge() -{ - QXlsx::Document xlsx; - xlsx.write("B1", "Test Merged Cell"); - xlsx.mergeCells("B1:B5"); - xlsx.unmergeCells("B1:B5"); - - QByteArray xmldata; - QBuffer buffer(&xmldata); - buffer.open(QIODevice::WriteOnly); - xlsx.currentWorksheet()->saveToXmlFile(&buffer); - - QVERIFY2(!xmldata.contains(" +#include + +#include "xlsxworksheet.h" + +class WorksheetTest : public QObject +{ + Q_OBJECT + +public: + WorksheetTest(); + +private Q_SLOTS: + void testEmptySheet(); + void testMerge(); + void testUnMerge(); +}; + +WorksheetTest::WorksheetTest() +{ +} + +void WorksheetTest::testEmptySheet() +{ + QXlsx::Worksheet sheet("", 0); + sheet.write("B1", 123); + QByteArray xmldata = sheet.saveToXmlData(); + + QVERIFY2(!xmldata.contains(""), ""); +} + +void WorksheetTest::testUnMerge() +{ + QXlsx::Worksheet sheet("", 0); + sheet.write("B1", 123); + sheet.mergeCells("B1:B5"); + sheet.unmergeCells("B1:B5"); + + QByteArray xmldata = sheet.saveToXmlData(); + + QVERIFY2(!xmldata.contains("