From 18ec53156ee704fdb4977436fccfdc85333e614b Mon Sep 17 00:00:00 2001 From: Karsten Heimrich Date: Wed, 17 Jun 2020 12:33:40 +0200 Subject: Move QTextCodec support out of QtCore * Assume UTF-8 on all Unix like systems * Export some functions to be able to compile QTextCodec once moved to Qt5Compat. Task-number: QTBUG-75665 Change-Id: I52ec47a848bc0ba72e9c7689668b1bcc5d736c29 Reviewed-by: Lars Knoll --- .../corelib/codecs/qtextcodec/CMakeLists.txt | 15 -- .../benchmarks/corelib/codecs/qtextcodec/main.cpp | 169 --------------------- .../corelib/codecs/qtextcodec/qtextcodec.pro | 7 - .../benchmarks/corelib/codecs/qtextcodec/utf-8.txt | 72 --------- 4 files changed, 263 deletions(-) delete mode 100644 tests/benchmarks/corelib/codecs/qtextcodec/CMakeLists.txt delete mode 100644 tests/benchmarks/corelib/codecs/qtextcodec/main.cpp delete mode 100644 tests/benchmarks/corelib/codecs/qtextcodec/qtextcodec.pro delete mode 100644 tests/benchmarks/corelib/codecs/qtextcodec/utf-8.txt (limited to 'tests/benchmarks/corelib/codecs/qtextcodec') diff --git a/tests/benchmarks/corelib/codecs/qtextcodec/CMakeLists.txt b/tests/benchmarks/corelib/codecs/qtextcodec/CMakeLists.txt deleted file mode 100644 index ea6ed8519b..0000000000 --- a/tests/benchmarks/corelib/codecs/qtextcodec/CMakeLists.txt +++ /dev/null @@ -1,15 +0,0 @@ -# Generated from qtextcodec.pro. - -##################################################################### -## tst_bench_qtextcodec Binary: -##################################################################### - -add_qt_benchmark(tst_bench_qtextcodec - SOURCES - main.cpp - PUBLIC_LIBRARIES - Qt::Test -) - -#### Keys ignored in scope 1:.:.:qtextcodec.pro:: -# TESTDATA = "utf-8.txt" diff --git a/tests/benchmarks/corelib/codecs/qtextcodec/main.cpp b/tests/benchmarks/corelib/codecs/qtextcodec/main.cpp deleted file mode 100644 index af43215c99..0000000000 --- a/tests/benchmarks/corelib/codecs/qtextcodec/main.cpp +++ /dev/null @@ -1,169 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:GPL-EXCEPT$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -#include -#include -#include - -Q_DECLARE_METATYPE(QTextCodec *) - -class tst_QTextCodec: public QObject -{ - Q_OBJECT -private slots: - void codecForName() const; - void codecForName_data() const; - void codecForMib() const; - void fromUnicode_data() const; - void fromUnicode() const; - void toUnicode_data() const; - void toUnicode() const; -}; - -void tst_QTextCodec::codecForName() const -{ - QFETCH(QList, codecs); - - QBENCHMARK { - foreach(const QByteArray& c, codecs) { - QVERIFY(QTextCodec::codecForName(c)); - QVERIFY(QTextCodec::codecForName(c + '-')); - } - foreach(const QByteArray& c, codecs) { - QVERIFY(QTextCodec::codecForName(c + '+')); - QVERIFY(QTextCodec::codecForName(c + '*')); - } - } -} - -void tst_QTextCodec::codecForName_data() const -{ - QTest::addColumn >("codecs"); - - QTest::newRow("all") << QTextCodec::availableCodecs(); - QTest::newRow("many utf-8") << (QList() - << "utf-8" << "utf-8" << "utf-8" << "utf-8" << "utf-8" - << "utf-8" << "utf-8" << "utf-8" << "utf-8" << "utf-8" - << "utf-8" << "utf-8" << "utf-8" << "utf-8" << "utf-8" - << "utf-8" << "utf-8" << "utf-8" << "utf-8" << "utf-8" - << "utf-8" << "utf-8" << "utf-8" << "utf-8" << "utf-8" - << "utf-8" << "utf-8" << "utf-8" << "utf-8" << "utf-8" - << "utf-8" << "utf-8" << "utf-8" << "utf-8" << "utf-8" - << "utf-8" << "utf-8" << "utf-8" << "utf-8" << "utf-8" - << "utf-8" << "utf-8" << "utf-8" << "utf-8" << "utf-8" ); -} - -void tst_QTextCodec::codecForMib() const -{ - QBENCHMARK { - QTextCodec::codecForMib(106); - QTextCodec::codecForMib(111); - QTextCodec::codecForMib(106); - QTextCodec::codecForMib(2254); - QTextCodec::codecForMib(2255); - QTextCodec::codecForMib(2256); - QTextCodec::codecForMib(2257); - QTextCodec::codecForMib(2258); - QTextCodec::codecForMib(111); - QTextCodec::codecForMib(2250); - QTextCodec::codecForMib(2251); - QTextCodec::codecForMib(2252); - QTextCodec::codecForMib(106); - QTextCodec::codecForMib(106); - QTextCodec::codecForMib(106); - QTextCodec::codecForMib(106); - } -} - -void tst_QTextCodec::fromUnicode_data() const -{ - QTest::addColumn("codec"); - - QTest::newRow("utf-8") << QTextCodec::codecForName("utf-8"); - QTest::newRow("latin 1") << QTextCodec::codecForName("latin 1"); - QTest::newRow("utf-16") << QTextCodec::codecForName("utf16"); ; - QTest::newRow("utf-32") << QTextCodec::codecForName("utf32"); - QTest::newRow("latin15") << QTextCodec::codecForName("iso-8859-15"); - QTest::newRow("eucKr") << QTextCodec::codecForName("eucKr"); -} - - -void tst_QTextCodec::fromUnicode() const -{ - QFETCH(QTextCodec*, codec); - QString testFile = QFINDTESTDATA("utf-8.txt"); - QVERIFY2(!testFile.isEmpty(), "cannot find test file utf-8.txt!"); - QFile file(testFile); - if (!file.open(QFile::ReadOnly)) { - qFatal("Cannot open input file"); - return; - } - QByteArray data = file.readAll(); - const char *d = data.constData(); - int size = data.size(); - QString s = QString::fromUtf8(d, size); - s = s + s + s; - s = s + s + s; - QBENCHMARK { - for (int i = 0; i < 10; i ++) - codec->fromUnicode(s); - } -} - - -void tst_QTextCodec::toUnicode_data() const -{ - fromUnicode_data(); -} - - -void tst_QTextCodec::toUnicode() const -{ - QFETCH(QTextCodec*, codec); - QString testFile = QFINDTESTDATA("utf-8.txt"); - QVERIFY2(!testFile.isEmpty(), "cannot find test file utf-8.txt!"); - QFile file(testFile); - QVERIFY(file.open(QFile::ReadOnly)); - QByteArray data = file.readAll(); - const char *d = data.constData(); - int size = data.size(); - QString s = QString::fromUtf8(d, size); - s = s + s + s; - s = s + s + s; - QByteArray orig = codec->fromUnicode(s); - QBENCHMARK { - for (int i = 0; i < 10; i ++) - codec->toUnicode(orig); - } -} - - - - -QTEST_MAIN(tst_QTextCodec) - -#include "main.moc" diff --git a/tests/benchmarks/corelib/codecs/qtextcodec/qtextcodec.pro b/tests/benchmarks/corelib/codecs/qtextcodec/qtextcodec.pro deleted file mode 100644 index 7d29c6bfdd..0000000000 --- a/tests/benchmarks/corelib/codecs/qtextcodec/qtextcodec.pro +++ /dev/null @@ -1,7 +0,0 @@ -CONFIG += benchmark -QT = core testlib - -TARGET = tst_bench_qtextcodec -SOURCES += main.cpp - -TESTDATA = utf-8.txt diff --git a/tests/benchmarks/corelib/codecs/qtextcodec/utf-8.txt b/tests/benchmarks/corelib/codecs/qtextcodec/utf-8.txt deleted file mode 100644 index a8a58defe9..0000000000 --- a/tests/benchmarks/corelib/codecs/qtextcodec/utf-8.txt +++ /dev/null @@ -1,72 +0,0 @@ -Språk: Norsk -Γλώσσα: Ελληνικά -Язык: Русский -언어 : 한국어 -言語: 日本語 -Langage : Français -Språk: Norsk -Γλώσσα: Ελληνικά -Язык: Русский -언어 : 한국어 -言語: 日本語 -Langage : Français -Språk: Norsk -Γλώσσα: Ελληνικά -Язык: Русский -언어 : 한국어 -言語: 日本語 -Langage : Français -Språk: Norsk -Γλώσσα: Ελληνικά -Язык: Русский -언어 : 한국어 -言語: 日本語 -Langage : Français -Språk: Norsk -Γλώσσα: Ελληνικά -Язык: Русский -언어 : 한국어 -言語: 日本語 -Langage : Français -Språk: Norsk -Γλώσσα: Ελληνικά -Язык: Русский -언어 : 한국어 -言語: 日本語 -Langage : Français -Språk: Norsk -Γλώσσα: Ελληνικά -Язык: Русский -언어 : 한국어 -言語: 日本語 -Langage : Français -Språk: Norsk -Γλώσσα: Ελληνικά -Язык: Русский -언어 : 한국어 -言語: 日本語 -Langage : Français -Språk: Norsk -Γλώσσα: Ελληνικά -Язык: Русский -언어 : 한국어 -言語: 日本語 -Langage : Français -Språk: Norsk -Γλώσσα: Ελληνικά -Язык: Русский -언어 : 한국어 -言語: 日本語 -Langage : Français -Språk: Norsk -Γλώσσα: Ελληνικά -Язык: Русский -언어 : 한국어 -言語: 日本語 -Langage : Français -Språk: Norsk -Γλώσσα: Ελληνικά -Язык: Русский -언어 : 한국어 -言語: 日本語 -Langage : Français -- cgit v1.2.3