diff options
author | Lars Knoll <lars.knoll@qt.io> | 2020-04-30 10:25:50 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2020-05-14 07:48:49 +0200 |
commit | a639bcda1e42f48fa32885ede77f9fd320ce731c (patch) | |
tree | d3b0b4dcfff4526df599e94cb59e8c0d9ea07a89 /tests | |
parent | 3ce9162ab5b99594d59b654dcdf2009bc500d3d7 (diff) |
Add methods to convert between encoding and name to QStringConverter
Add static methods that allow converting between a name for an
encoding and the Encoding enum.
Change-Id: I12bc503cf757ea31d3ca8d5e1f1216efddcb16d4
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/corelib/text/qstringconverter/tst_qstringconverter.cpp | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/tests/auto/corelib/text/qstringconverter/tst_qstringconverter.cpp b/tests/auto/corelib/text/qstringconverter/tst_qstringconverter.cpp index 1419321679..f0e794e910 100644 --- a/tests/auto/corelib/text/qstringconverter/tst_qstringconverter.cpp +++ b/tests/auto/corelib/text/qstringconverter/tst_qstringconverter.cpp @@ -59,6 +59,12 @@ private slots: void utfHeaders_data(); void utfHeaders(); + + void encodingForName_data(); + void encodingForName(); + + void nameForEncoding_data(); + void nameForEncoding(); }; void tst_QStringConverter::constructByName() @@ -1611,6 +1617,53 @@ void tst_QStringConverter::utfHeaders() } } +void tst_QStringConverter::encodingForName_data() +{ + QTest::addColumn<QByteArray>("name"); + QTest::addColumn<std::optional<QStringConverter::Encoding>>("encoding"); + + QTest::newRow("UTF-8") << QByteArray("UTF-8") << std::optional<QStringConverter::Encoding>(QStringConverter::Utf8); + QTest::newRow("utf8") << QByteArray("utf8") << std::optional<QStringConverter::Encoding>(QStringConverter::Utf8); + QTest::newRow("Utf-8") << QByteArray("Utf-8") << std::optional<QStringConverter::Encoding>(QStringConverter::Utf8); + QTest::newRow("UTF-16") << QByteArray("UTF-16") << std::optional<QStringConverter::Encoding>(QStringConverter::Utf16); + QTest::newRow("UTF-16le") << QByteArray("UTF-16le") << std::optional<QStringConverter::Encoding>(QStringConverter::Utf16LE); + QTest::newRow("ISO-8859-1") << QByteArray("ISO-8859-1") << std::optional<QStringConverter::Encoding>(QStringConverter::Latin1); + QTest::newRow("ISO8859-1") << QByteArray("ISO8859-1") << std::optional<QStringConverter::Encoding>(QStringConverter::Latin1); + QTest::newRow("iso8859-1") << QByteArray("iso8859-1") << std::optional<QStringConverter::Encoding>(QStringConverter::Latin1); + QTest::newRow("latin1") << QByteArray("latin1") << std::optional<QStringConverter::Encoding>(QStringConverter::Latin1); + QTest::newRow("latin2") << QByteArray("latin2") << std::optional<QStringConverter::Encoding>(); + QTest::newRow("latin15") << QByteArray("latin15") << std::optional<QStringConverter::Encoding>(); +} + +void tst_QStringConverter::encodingForName() +{ + QFETCH(QByteArray, name); + QFETCH(std::optional<QStringConverter::Encoding>, encoding); + + auto e = QStringConverter::encodingForName(name); + QCOMPARE(e, encoding); +} + +void tst_QStringConverter::nameForEncoding_data() +{ + QTest::addColumn<QByteArray>("name"); + QTest::addColumn<QStringConverter::Encoding>("encoding"); + + QTest::newRow("UTF-8") << QByteArray("UTF-8") << QStringConverter::Utf8; + QTest::newRow("UTF-16") << QByteArray("UTF-16") << QStringConverter::Utf16; + QTest::newRow("UTF-16LE") << QByteArray("UTF-16LE") << QStringConverter::Utf16LE; + QTest::newRow("ISO-8859-1") << QByteArray("ISO-8859-1") << QStringConverter::Latin1; +} + +void tst_QStringConverter::nameForEncoding() +{ + QFETCH(QByteArray, name); + QFETCH(QStringConverter::Encoding, encoding); + + QByteArray n = QStringConverter::nameForEncoding(encoding); + QCOMPARE(n, name); +} + class LoadAndConvert: public QRunnable { public: |