5 changed files with 169 additions and 40 deletions
@ -1,13 +1,13 @@ |
|||
QT += testlib xlsx xlsx-private |
|||
QT += testlib xlsx # xlsx-private |
|||
CONFIG += testcase |
|||
DEFINES += XLSX_TEST |
|||
|
|||
TARGET = tst_readdocumenttest |
|||
TARGET = tst_document |
|||
CONFIG += console |
|||
CONFIG -= app_bundle |
|||
|
|||
TEMPLATE = app |
|||
|
|||
|
|||
SOURCES += tst_readdocumenttest.cpp |
|||
SOURCES += tst_documenttest.cpp |
|||
DEFINES += SRCDIR=\\\"$$PWD/\\\" |
@ -0,0 +1,161 @@ |
|||
#include "xlsxdocument.h" |
|||
#include "xlsxcell.h" |
|||
#include "xlsxformat.h" |
|||
#include <QString> |
|||
#include <QtTest> |
|||
|
|||
QTXLSX_USE_NAMESPACE |
|||
|
|||
class DocumentTest : public QObject |
|||
{ |
|||
Q_OBJECT |
|||
|
|||
public: |
|||
DocumentTest(); |
|||
|
|||
private Q_SLOTS: |
|||
void testDocumentProperty(); |
|||
void testReadWriteString(); |
|||
void testReadWriteNumeric(); |
|||
void testReadWriteBool(); |
|||
void testReadWriteBlank(); |
|||
void testReadWriteFormula(); |
|||
}; |
|||
|
|||
DocumentTest::DocumentTest() |
|||
{ |
|||
} |
|||
|
|||
void DocumentTest::testDocumentProperty() |
|||
{ |
|||
Document xlsx1; |
|||
xlsx1.setDocumentProperty("creator", "Debao"); |
|||
xlsx1.setDocumentProperty("company", "Test"); |
|||
xlsx1.saveAs("test.xlsx"); |
|||
|
|||
Document xlsx2("test.xlsx"); |
|||
QCOMPARE(xlsx2.documentProperty("creator"), QString("Debao")); |
|||
QCOMPARE(xlsx2.documentProperty("company"), QString("Test")); |
|||
|
|||
QFile::remove("test.xlsx"); |
|||
} |
|||
|
|||
void DocumentTest::testReadWriteString() |
|||
{ |
|||
Document xlsx1; |
|||
xlsx1.write("A1", "Hello Qt!"); |
|||
Format *format = xlsx1.createFormat(); |
|||
format->setFontColor(Qt::blue); |
|||
format->setBorderStyle(Format::BorderDashDotDot); |
|||
format->setFillPattern(Format::PatternSolid); |
|||
xlsx1.write("A2", "Hello Qt again!", format); |
|||
xlsx1.saveAs("test.xlsx"); |
|||
|
|||
Document xlsx2("test.xlsx"); |
|||
QCOMPARE(xlsx2.cellAt("A1")->dataType(), Cell::String); |
|||
QCOMPARE(xlsx2.cellAt("A1")->value().toString(), QString("Hello Qt!")); |
|||
QCOMPARE(xlsx2.cellAt("A2")->dataType(), Cell::String); |
|||
QCOMPARE(xlsx2.cellAt("A2")->value().toString(), QString("Hello Qt again!")); |
|||
QVERIFY(xlsx2.cellAt("A2")->format()!=0); |
|||
QCOMPARE(*xlsx2.cellAt("A2")->format(), *format); |
|||
|
|||
QFile::remove("test.xlsx"); |
|||
} |
|||
|
|||
void DocumentTest::testReadWriteNumeric() |
|||
{ |
|||
Document xlsx1; |
|||
xlsx1.write("A1", 123); |
|||
Format *format = xlsx1.createFormat(); |
|||
format->setFontColor(Qt::blue); |
|||
format->setBorderStyle(Format::BorderDashDotDot); |
|||
format->setFillPattern(Format::PatternSolid); |
|||
format->setNumberFormatIndex(10); |
|||
xlsx1.write("A2", 12345, format); |
|||
xlsx1.saveAs("test.xlsx"); |
|||
|
|||
Document xlsx2("test.xlsx"); |
|||
QCOMPARE(xlsx2.cellAt("A1")->dataType(), Cell::Numeric); |
|||
QCOMPARE(xlsx2.cellAt("A1")->value().toDouble(), 123.0); |
|||
QCOMPARE(xlsx2.cellAt("A2")->dataType(), Cell::Numeric); |
|||
QCOMPARE(xlsx2.cellAt("A2")->value().toDouble(), 12345.0); |
|||
QVERIFY(xlsx2.cellAt("A2")->format()!=0); |
|||
QCOMPARE(*xlsx2.cellAt("A2")->format(), *format); |
|||
|
|||
QFile::remove("test.xlsx"); |
|||
} |
|||
|
|||
void DocumentTest::testReadWriteBool() |
|||
{ |
|||
Document xlsx1; |
|||
xlsx1.write("A1", true); |
|||
Format *format = xlsx1.createFormat(); |
|||
format->setFontColor(Qt::blue); |
|||
format->setBorderStyle(Format::BorderDashDotDot); |
|||
format->setFillPattern(Format::PatternSolid); |
|||
xlsx1.write("A2", false, format); |
|||
xlsx1.saveAs("test.xlsx"); |
|||
|
|||
Document xlsx2("test.xlsx"); |
|||
QCOMPARE(xlsx2.cellAt("A1")->dataType(), Cell::Boolean); |
|||
QCOMPARE(xlsx2.cellAt("A1")->value().toBool(), true); |
|||
QCOMPARE(xlsx2.cellAt("A2")->dataType(), Cell::Boolean); |
|||
QCOMPARE(xlsx2.cellAt("A2")->value().toBool(), false); |
|||
QVERIFY(xlsx2.cellAt("A2")->format()!=0); |
|||
QCOMPARE(*xlsx2.cellAt("A2")->format(), *format); |
|||
|
|||
QFile::remove("test.xlsx"); |
|||
} |
|||
|
|||
void DocumentTest::testReadWriteBlank() |
|||
{ |
|||
Document xlsx1; |
|||
xlsx1.write("A1", QVariant()); |
|||
Format *format = xlsx1.createFormat(); |
|||
format->setFontColor(Qt::blue); |
|||
format->setBorderStyle(Format::BorderDashDotDot); |
|||
format->setFillPattern(Format::PatternSolid); |
|||
xlsx1.write("A2", QVariant(), format); |
|||
xlsx1.saveAs("test.xlsx"); |
|||
|
|||
Document xlsx2("test.xlsx"); |
|||
QVERIFY(xlsx2.cellAt("A1")); |
|||
QCOMPARE(xlsx2.cellAt("A1")->dataType(), Cell::Blank); |
|||
QVERIFY(!xlsx2.cellAt("A1")->value().isValid()); |
|||
QVERIFY(xlsx2.cellAt("A2")); |
|||
QCOMPARE(xlsx2.cellAt("A2")->dataType(), Cell::Blank); |
|||
QVERIFY(!xlsx2.cellAt("A2")->value().isValid()); |
|||
QVERIFY(xlsx2.cellAt("A2")->format()!=0); |
|||
QCOMPARE(*xlsx2.cellAt("A2")->format(), *format); |
|||
|
|||
QFile::remove("test.xlsx"); |
|||
} |
|||
|
|||
void DocumentTest::testReadWriteFormula() |
|||
{ |
|||
Document xlsx1; |
|||
xlsx1.write("A1", "=11+22"); |
|||
Format *format = xlsx1.createFormat(); |
|||
format->setFontColor(Qt::blue); |
|||
format->setBorderStyle(Format::BorderDashDotDot); |
|||
format->setFillPattern(Format::PatternSolid); |
|||
xlsx1.write("A2", "=22+33", format); |
|||
xlsx1.saveAs("test.xlsx"); |
|||
|
|||
|
|||
Document xlsx2("test.xlsx"); |
|||
QCOMPARE(xlsx2.cellAt("A1")->dataType(), Cell::Formula); |
|||
// QCOMPARE(xlsx2.cellAt("A1")->value().toDouble(), 0.0);
|
|||
QCOMPARE(xlsx2.cellAt("A1")->formula(), QStringLiteral("11+22")); |
|||
QCOMPARE(xlsx2.cellAt("A2")->dataType(), Cell::Formula); |
|||
// QCOMPARE(xlsx2.cellAt("A2")->value().toDouble(), 0.0);
|
|||
QCOMPARE(xlsx2.cellAt("A2")->formula(), QStringLiteral("22+33")); |
|||
QVERIFY(xlsx2.cellAt("A2")->format()!=0); |
|||
QCOMPARE(*xlsx2.cellAt("A2")->format(), *format); |
|||
|
|||
QFile::remove("test.xlsx"); |
|||
} |
|||
|
|||
QTEST_APPLESS_MAIN(DocumentTest) |
|||
|
|||
#include "tst_documenttest.moc" |
@ -1,36 +0,0 @@ |
|||
#include "xlsxdocument.h" |
|||
#include <QString> |
|||
#include <QtTest> |
|||
|
|||
class ReadDocumentTest : public QObject |
|||
{ |
|||
Q_OBJECT |
|||
|
|||
public: |
|||
ReadDocumentTest(); |
|||
|
|||
private Q_SLOTS: |
|||
void testDocProps(); |
|||
}; |
|||
|
|||
ReadDocumentTest::ReadDocumentTest() |
|||
{ |
|||
} |
|||
|
|||
void ReadDocumentTest::testDocProps() |
|||
{ |
|||
QXlsx::Document doc1; |
|||
doc1.setDocumentProperty("creator", "Debao"); |
|||
doc1.setDocumentProperty("company", "Test"); |
|||
doc1.saveAs("test.xlsx"); |
|||
|
|||
QXlsx::Document doc2("test.xlsx"); |
|||
QCOMPARE(doc2.documentProperty("creator"), QString("Debao")); |
|||
QCOMPARE(doc2.documentProperty("company"), QString("Test")); |
|||
|
|||
QFile::remove("test.xlsx"); |
|||
} |
|||
|
|||
QTEST_APPLESS_MAIN(ReadDocumentTest) |
|||
|
|||
#include "tst_readdocumenttest.moc" |
Loading…
Reference in new issue