summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorChris Adams <chris.adams@qinetic.com.au>2020-10-01 13:35:34 +1000
committerChris Adams <chris.adams@qinetic.com.au>2020-11-02 13:18:03 +1000
commitfdaa78b4ab7f02f9213fdec2a8e18d896d504a45 (patch)
tree9e4b9e4db0033c55549cb61374c11225e9d43529 /tests
parentf9a8f0fc914c040d48bbd0ef52d7a68eea175a98 (diff)
QTextCodec is now part of the Qt5Compat library
Change-Id: I9d6a6d46822d4f82debb1446a90443857f27c962 Reviewed-by: Pekka Vuorela <pvuorela@iki.fi> Reviewed-by: Alberto Mardegan <mardy@users.sourceforge.net>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/versit/qvcard21writer/qvcard21writer.pro2
-rw-r--r--tests/auto/versit/qvcard21writer/tst_qvcard21writer.cpp2
-rw-r--r--tests/auto/versit/qvcard30writer/qvcard30writer.pro2
-rw-r--r--tests/auto/versit/qvcard30writer/tst_qvcard30writer.cpp2
-rw-r--r--tests/auto/versit/qversitreader/qversitreader.pro2
-rw-r--r--tests/auto/versit/qversitreader/tst_qversitreader.cpp37
-rw-r--r--tests/auto/versit/qversitwriter/qversitwriter.pro2
-rw-r--r--tests/auto/versit/qversitwriter/tst_qversitwriter.cpp13
8 files changed, 39 insertions, 23 deletions
diff --git a/tests/auto/versit/qvcard21writer/qvcard21writer.pro b/tests/auto/versit/qvcard21writer/qvcard21writer.pro
index 7e023086d..6e5f8d9b2 100644
--- a/tests/auto/versit/qvcard21writer/qvcard21writer.pro
+++ b/tests/auto/versit/qvcard21writer/qvcard21writer.pro
@@ -1,6 +1,6 @@
include(../../auto.pri)
-QT += versit versit-private
+QT += versit versit-private core5compat
HEADERS += tst_qvcard21writer.h
SOURCES += tst_qvcard21writer.cpp
diff --git a/tests/auto/versit/qvcard21writer/tst_qvcard21writer.cpp b/tests/auto/versit/qvcard21writer/tst_qvcard21writer.cpp
index 2b47d77f0..7673ecd72 100644
--- a/tests/auto/versit/qvcard21writer/tst_qvcard21writer.cpp
+++ b/tests/auto/versit/qvcard21writer/tst_qvcard21writer.cpp
@@ -38,6 +38,8 @@
#include <QByteArray>
#include <QVariant>
+#include <QTextCodec>
+
// This says "NOKIA" in Katakana
const QString KATAKANA_NOKIA(QString::fromUtf8("\xe3\x83\x8e\xe3\x82\xad\xe3\x82\xa2"));
diff --git a/tests/auto/versit/qvcard30writer/qvcard30writer.pro b/tests/auto/versit/qvcard30writer/qvcard30writer.pro
index 03a7f2c91..7fd95fa53 100644
--- a/tests/auto/versit/qvcard30writer/qvcard30writer.pro
+++ b/tests/auto/versit/qvcard30writer/qvcard30writer.pro
@@ -1,6 +1,6 @@
include(../../auto.pri)
-QT += versit versit-private
+QT += versit versit-private core5compat
DEFINES += QT_ASCII_CAST_WARNINGS
diff --git a/tests/auto/versit/qvcard30writer/tst_qvcard30writer.cpp b/tests/auto/versit/qvcard30writer/tst_qvcard30writer.cpp
index 9071f37da..53070558d 100644
--- a/tests/auto/versit/qvcard30writer/tst_qvcard30writer.cpp
+++ b/tests/auto/versit/qvcard30writer/tst_qvcard30writer.cpp
@@ -38,6 +38,8 @@
#include <QByteArray>
#include <QVariant>
+#include <QTextCodec>
+
// This says "NOKIA" in Katakana encoded with UTF-8
const QString KATAKANA_NOKIA(QString::fromUtf8("\xe3\x83\x8e\xe3\x82\xad\xe3\x82\xa2"));
diff --git a/tests/auto/versit/qversitreader/qversitreader.pro b/tests/auto/versit/qversitreader/qversitreader.pro
index 1187b4c28..a8e269797 100644
--- a/tests/auto/versit/qversitreader/qversitreader.pro
+++ b/tests/auto/versit/qversitreader/qversitreader.pro
@@ -1,6 +1,6 @@
include(../../auto.pri)
-QT += versit versit-private
+QT += versit versit-private core5compat
HEADERS += tst_qversitreader.h
SOURCES += tst_qversitreader.cpp
diff --git a/tests/auto/versit/qversitreader/tst_qversitreader.cpp b/tests/auto/versit/qversitreader/tst_qversitreader.cpp
index 4af80ac03..9457d403f 100644
--- a/tests/auto/versit/qversitreader/tst_qversitreader.cpp
+++ b/tests/auto/versit/qversitreader/tst_qversitreader.cpp
@@ -35,6 +35,8 @@
#include <QtTest/QtTest>
#include <QSignalSpy>
+#include <QTextCodec>
+
// This says "NOKIA" in Katakana encoded with UTF-8
const QByteArray KATAKANA_NOKIA("\xe3\x83\x8e\xe3\x82\xad\xe3\x82\xa2");
@@ -1493,48 +1495,48 @@ void tst_QVersitReader::testExtractParts()
// Empty value
QByteArray text;
- parts = mReaderPrivate->extractParts(text,";", mAsciiCodec);
+ parts = mReaderPrivate->extractParts(text, VersitUtils::encode(';', mAsciiCodec), mAsciiCodec);
QVERIFY(parts.isEmpty());
// Only separator
text = ";";
- parts = mReaderPrivate->extractParts(text,";", mAsciiCodec);
+ parts = mReaderPrivate->extractParts(text, VersitUtils::encode(';', mAsciiCodec), mAsciiCodec);
QVERIFY(parts.isEmpty());
// One part
text = "part";
- parts = mReaderPrivate->extractParts(text,";", mAsciiCodec);
+ parts = mReaderPrivate->extractParts(text, VersitUtils::encode(';', mAsciiCodec), mAsciiCodec);
QCOMPARE(parts.count(),1);
QCOMPARE(QLatin1String(parts[0]),QLatin1String("part"));
// Separator in the beginning, one part
text = ";part";
- parts = mReaderPrivate->extractParts(text,";", mAsciiCodec);
+ parts = mReaderPrivate->extractParts(text, VersitUtils::encode(';', mAsciiCodec), mAsciiCodec);
QCOMPARE(parts.count(),1);
QCOMPARE(QLatin1String(parts[0]),QLatin1String("part"));
// Separator in the end, one part
text = "part;";
- parts = mReaderPrivate->extractParts(text,";", mAsciiCodec);
+ parts = mReaderPrivate->extractParts(text, VersitUtils::encode(';', mAsciiCodec), mAsciiCodec);
QCOMPARE(parts.count(),1);
QCOMPARE(QLatin1String(parts[0]),QLatin1String("part"));
// One part that contains escaped separator
text = "part\\;";
- parts = mReaderPrivate->extractParts(text,";", mAsciiCodec);
+ parts = mReaderPrivate->extractParts(text, VersitUtils::encode(';', mAsciiCodec), mAsciiCodec);
QCOMPARE(parts.count(),1);
QCOMPARE(QLatin1String(parts[0]),QLatin1String("part\\;"));
// Two parts
text = "part1;part2";
- parts = mReaderPrivate->extractParts(text,";", mAsciiCodec);
+ parts = mReaderPrivate->extractParts(text, VersitUtils::encode(';', mAsciiCodec), mAsciiCodec);
QCOMPARE(parts.count(),2);
QCOMPARE(QLatin1String(parts[0]),QLatin1String("part1"));
QCOMPARE(QLatin1String(parts[1]),QLatin1String("part2"));
// Two parts that contain escaped separators
text = "pa\\;rt1;par\\;t2";
- parts = mReaderPrivate->extractParts(text,";", mAsciiCodec);
+ parts = mReaderPrivate->extractParts(text, VersitUtils::encode(';', mAsciiCodec), mAsciiCodec);
QCOMPARE(parts.count(),2);
QCOMPARE(QLatin1String(parts[0]),QLatin1String("pa\\;rt1"));
QCOMPARE(QLatin1String(parts[1]),QLatin1String("par\\;t2"));
@@ -1542,7 +1544,7 @@ void tst_QVersitReader::testExtractParts()
// Test wide character support
QTextCodec* codec = QTextCodec::codecForName("UTF-16BE");
text = codec->fromUnicode(QStringLiteral("part1;part2"));
- parts = mReaderPrivate->extractParts(text,";", codec);
+ parts = mReaderPrivate->extractParts(text, VersitUtils::encode(';', codec), codec);
QCOMPARE(parts.count(),2);
QCOMPARE(codec->toUnicode(parts[0]),QStringLiteral("part1"));
QCOMPARE(codec->toUnicode(parts[1]),QStringLiteral("part2"));
@@ -1849,8 +1851,10 @@ void tst_QVersitReader::testReadLine()
QFETCH(QList<QString>, expectedLines);
QTextCodec* codec = QTextCodec::codecForName(codecName);
- QTextEncoder* encoder = codec->makeEncoder();
- encoder->fromUnicode(QString());
+ QTextEncoder* encoder = codec->makeEncoder(codecName == QStringLiteral("UTF-8")
+ ? QStringConverterBase::Flag::Default
+ : QStringConverterBase::Flag::WriteBom);
+ encoder->fromUnicode(QString()); // Throw away BOM.
QByteArray bytes(encoder->fromUnicode(data));
@@ -1868,17 +1872,16 @@ void tst_QVersitReader::testReadLine()
QVERIFY(!lineReader.atEnd());
LByteArray line = lineReader.readLine();
QCOMPARE(line.toByteArray(), testLine);
-
-
QByteArray expectedBytes(encoder->fromUnicode(expectedLine));
QVERIFY(!lineReader.atEnd());
line = lineReader.readLine();
- if(line.toByteArray() != expectedBytes) {
- qDebug() << line.toByteArray();
+ QByteArray encodedLine = line.toByteArray();
+ if (encodedLine != expectedBytes) {
+ qDebug() << encodedLine;
qDebug() << expectedBytes;
- QCOMPARE(line.toByteArray(), expectedBytes);
+ QCOMPARE(encodedLine, expectedBytes);
}
- QCOMPARE(line.size(), expectedBytes.length());
+ QCOMPARE(encodedLine.size(), expectedBytes.length());
}
// (test push a line to a line reader that's reached its end)
diff --git a/tests/auto/versit/qversitwriter/qversitwriter.pro b/tests/auto/versit/qversitwriter/qversitwriter.pro
index 947a219ad..15eff9518 100644
--- a/tests/auto/versit/qversitwriter/qversitwriter.pro
+++ b/tests/auto/versit/qversitwriter/qversitwriter.pro
@@ -1,6 +1,6 @@
include(../../auto.pri)
-QT += versit versit-private
+QT += versit versit-private core5compat
HEADERS += tst_qversitwriter.h
SOURCES += tst_qversitwriter.cpp
diff --git a/tests/auto/versit/qversitwriter/tst_qversitwriter.cpp b/tests/auto/versit/qversitwriter/tst_qversitwriter.cpp
index f0c4530cf..59f388932 100644
--- a/tests/auto/versit/qversitwriter/tst_qversitwriter.cpp
+++ b/tests/auto/versit/qversitwriter/tst_qversitwriter.cpp
@@ -35,6 +35,8 @@
#include <QtTest/QtTest>
#include <QByteArray>
+#include <QTextCodec>
+
QTVERSIT_USE_NAMESPACE
void tst_QVersitWriter::init()
@@ -168,7 +170,11 @@ END:VCARD\r\n");
QCOMPARE(mWriter->error(), QVersitWriter::NoError);
mOutputDevice->seek(0);
result = mOutputDevice->readAll();
- QByteArray expected(utf16->fromUnicode(QLatin1String(vCard21.data())));
+
+ QTextCodec::ConverterState state(QTextCodec::DefaultConversion);
+ const QString decodedData = QString::fromLatin1(vCard21.data());
+ QByteArray expected(utf16->fromUnicode(decodedData.constData(), decodedData.size(), &state));
+
QCOMPARE(result, expected);
}
@@ -278,7 +284,10 @@ void tst_QVersitWriter::testWritingDocument()
QVERIFY2(mWriter->waitForFinished(), QString::number(mWriter->error()).toLatin1().data());
mOutputDevice->seek(0);
result = mOutputDevice->readAll();
- expected = utf16->fromUnicode(QString::fromLatin1(expected));
+
+ QTextCodec::ConverterState state(QTextCodec::DefaultConversion);
+ const QString decodedData = QString::fromLatin1(expected);
+ expected = utf16->fromUnicode(decodedData.constData(), decodedData.size(), &state);
if (result!=expected) qDebug() << result << expected;
QCOMPARE(result, expected);
}