Fix SharedString loading bug
This commit is contained in:
@@ -161,10 +161,10 @@ QSharedPointer<SharedStrings> SharedStrings::loadFromXmlFile(QIODevice *device)
|
|||||||
} else if (reader.name() == QLatin1String("si")) {
|
} else if (reader.name() == QLatin1String("si")) {
|
||||||
if (reader.readNextStartElement()) {
|
if (reader.readNextStartElement()) {
|
||||||
if (reader.name() == QLatin1String("t")) {
|
if (reader.name() == QLatin1String("t")) {
|
||||||
QXmlStreamAttributes attributes = reader.attributes();
|
// QXmlStreamAttributes attributes = reader.attributes();
|
||||||
QString string = reader.readElementText();
|
QString string = reader.readElementText();
|
||||||
|
int idx = sst->m_stringList.size();
|
||||||
sst->m_stringTable[string] = XlsxSharedStringInfo(sst->m_stringTable.size(), 0);
|
sst->m_stringTable[string] = XlsxSharedStringInfo(idx, 0);
|
||||||
sst->m_stringList.append(string);
|
sst->m_stringList.append(string);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -96,6 +96,8 @@ void SharedStringsTest::testLoadXmlData()
|
|||||||
|
|
||||||
QCOMPARE(sst2->getSharedString(0), QStringLiteral("Hello Qt!"));
|
QCOMPARE(sst2->getSharedString(0), QStringLiteral("Hello Qt!"));
|
||||||
QCOMPARE(sst2->getSharedString(2), QStringLiteral("Hello World"));
|
QCOMPARE(sst2->getSharedString(2), QStringLiteral("Hello World"));
|
||||||
|
QCOMPARE(sst2->getSharedStringIndex("Hello Qt!"), 0);
|
||||||
|
QCOMPARE(sst2->getSharedStringIndex("Hello World"), 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
QTEST_APPLESS_MAIN(SharedStringsTest)
|
QTEST_APPLESS_MAIN(SharedStringsTest)
|
||||||
|
|||||||
Reference in New Issue
Block a user