summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2020-04-27 15:08:50 +0200
committerLars Knoll <lars.knoll@qt.io>2020-05-14 07:48:42 +0200
commit3ce9162ab5b99594d59b654dcdf2009bc500d3d7 (patch)
treeac4b7f25d252ca1f68ce42d9803f0e3cc2b7ea61 /tests
parent2d43f735b4768c9924f9f7ce97211043b22cd84c (diff)
Construct a string converter by name
Add a constructor, that allows constructing a string converter by name. This is required in some cases and also makes it possible to (in the future) extend the API to 3rd party encodings. Also add a name() accessor. Change-Id: I606d6ce9405ee967f76197b803615e27c5b001cf Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/corelib/text/qstringconverter/tst_qstringconverter.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/auto/corelib/text/qstringconverter/tst_qstringconverter.cpp b/tests/auto/corelib/text/qstringconverter/tst_qstringconverter.cpp
index c3dc8a0383..1419321679 100644
--- a/tests/auto/corelib/text/qstringconverter/tst_qstringconverter.cpp
+++ b/tests/auto/corelib/text/qstringconverter/tst_qstringconverter.cpp
@@ -39,6 +39,8 @@ class tst_QStringConverter : public QObject
private slots:
void threadSafety();
+ void constructByName();
+
void convertUtf8();
void nonFlaggedCodepointFFFF() const;
@@ -59,6 +61,31 @@ private slots:
void utfHeaders();
};
+void tst_QStringConverter::constructByName()
+{
+ QStringDecoder decoder("UTF-8");
+ QVERIFY(decoder.isValid());
+ QVERIFY(!strcmp(decoder.name(), "UTF-8"));
+ decoder = QStringDecoder("XXX");
+ QVERIFY(!decoder.isValid());
+ decoder = QStringDecoder("ISO-8859-1");
+ QVERIFY(decoder.isValid());
+ QVERIFY(!strcmp(decoder.name(), "ISO-8859-1"));
+ decoder = QStringDecoder("UTF-16LE");
+ QVERIFY(decoder.isValid());
+ QVERIFY(!strcmp(decoder.name(), "UTF-16LE"));
+
+ decoder = QStringDecoder("utf8");
+ QVERIFY(decoder.isValid());
+ QVERIFY(!strcmp(decoder.name(), "UTF-8"));
+ decoder = QStringDecoder("iso8859-1");
+ QVERIFY(decoder.isValid());
+ QVERIFY(!strcmp(decoder.name(), "ISO-8859-1"));
+ decoder = QStringDecoder("utf-16");
+ QVERIFY(decoder.isValid());
+ QVERIFY(!strcmp(decoder.name(), "UTF-16"));
+}
+
void tst_QStringConverter::convertUtf8()
{
QFile file(QFINDTESTDATA("utf8.txt"));