9 changed files with 232 additions and 23 deletions
@ -0,0 +1,13 @@ |
|||||
|
QT += testlib xlsx xlsx-private |
||||
|
CONFIG += testcase |
||||
|
DEFINES += XLSX_TEST |
||||
|
|
||||
|
TARGET = tst_sharedstringstest |
||||
|
CONFIG += console |
||||
|
CONFIG -= app_bundle |
||||
|
|
||||
|
TEMPLATE = app |
||||
|
|
||||
|
|
||||
|
SOURCES += tst_sharedstringstest.cpp |
||||
|
DEFINES += SRCDIR=\\\"$$PWD/\\\" |
@ -0,0 +1,103 @@ |
|||||
|
#include "private/xlsxsharedstrings_p.h" |
||||
|
#include <QString> |
||||
|
#include <QtTest> |
||||
|
#include <QXmlStreamReader> |
||||
|
|
||||
|
class SharedStringsTest : public QObject |
||||
|
{ |
||||
|
Q_OBJECT |
||||
|
|
||||
|
public: |
||||
|
SharedStringsTest(); |
||||
|
|
||||
|
private Q_SLOTS: |
||||
|
void testAddSharedString(); |
||||
|
void testRemoveSharedString(); |
||||
|
|
||||
|
void testLoadXmlData(); |
||||
|
|
||||
|
}; |
||||
|
|
||||
|
SharedStringsTest::SharedStringsTest() |
||||
|
{ |
||||
|
} |
||||
|
|
||||
|
void SharedStringsTest::testAddSharedString() |
||||
|
{ |
||||
|
QXlsx::SharedStrings sst; |
||||
|
sst.addSharedString("Hello Qt!"); |
||||
|
sst.addSharedString("Xlsx Writer"); |
||||
|
sst.addSharedString("Hello World"); |
||||
|
sst.addSharedString("Hello Qt!"); |
||||
|
|
||||
|
QByteArray xmlData = sst.saveToXmlData(); |
||||
|
QXmlStreamReader reader(xmlData); |
||||
|
|
||||
|
int count = 0; |
||||
|
int uniqueCount = 0; |
||||
|
while(!reader.atEnd()) { |
||||
|
QXmlStreamReader::TokenType token = reader.readNext(); |
||||
|
if (token == QXmlStreamReader::StartElement) { |
||||
|
if (reader.name() == QLatin1String("sst")) { |
||||
|
QXmlStreamAttributes attributes = reader.attributes(); |
||||
|
count = attributes.value("count").toInt(); |
||||
|
uniqueCount = attributes.value("uniqueCount").toInt(); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
QCOMPARE(count, 4); |
||||
|
QCOMPARE(uniqueCount, 3); |
||||
|
} |
||||
|
|
||||
|
void SharedStringsTest::testRemoveSharedString() |
||||
|
{ |
||||
|
QXlsx::SharedStrings sst; |
||||
|
sst.addSharedString("Hello Qt!"); |
||||
|
sst.addSharedString("Xlsx Writer"); |
||||
|
sst.addSharedString("Hello World"); |
||||
|
sst.addSharedString("Hello Qt!"); |
||||
|
sst.addSharedString("Hello Qt!"); |
||||
|
|
||||
|
sst.removeSharedString("Hello World"); |
||||
|
sst.removeSharedString("Hello Qt!"); |
||||
|
sst.removeSharedString("Non exists"); |
||||
|
|
||||
|
QByteArray xmlData = sst.saveToXmlData(); |
||||
|
QXmlStreamReader reader(xmlData); |
||||
|
|
||||
|
int count = 0; |
||||
|
int uniqueCount = 0; |
||||
|
while(!reader.atEnd()) { |
||||
|
QXmlStreamReader::TokenType token = reader.readNext(); |
||||
|
if (token == QXmlStreamReader::StartElement) { |
||||
|
if (reader.name() == QLatin1String("sst")) { |
||||
|
QXmlStreamAttributes attributes = reader.attributes(); |
||||
|
count = attributes.value("count").toInt(); |
||||
|
uniqueCount = attributes.value("uniqueCount").toInt(); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
QCOMPARE(count, 3); |
||||
|
QCOMPARE(uniqueCount, 2); |
||||
|
} |
||||
|
|
||||
|
void SharedStringsTest::testLoadXmlData() |
||||
|
{ |
||||
|
QXlsx::SharedStrings sst; |
||||
|
sst.addSharedString("Hello Qt!"); |
||||
|
sst.addSharedString("Xlsx Writer"); |
||||
|
sst.addSharedString("Hello World"); |
||||
|
sst.addSharedString("Hello Qt!"); |
||||
|
QByteArray xmlData = sst.saveToXmlData(); |
||||
|
|
||||
|
QSharedPointer<QXlsx::SharedStrings> sst2 = QXlsx::SharedStrings::loadFromXmlData(xmlData); |
||||
|
|
||||
|
QCOMPARE(sst2->getSharedString(0), QStringLiteral("Hello Qt!")); |
||||
|
QCOMPARE(sst2->getSharedString(2), QStringLiteral("Hello World")); |
||||
|
} |
||||
|
|
||||
|
QTEST_APPLESS_MAIN(SharedStringsTest) |
||||
|
|
||||
|
#include "tst_sharedstringstest.moc" |
Loading…
Reference in new issue