diff --git a/autotests/CMakeLists.txt b/autotests/CMakeLists.txt --- a/autotests/CMakeLists.txt +++ b/autotests/CMakeLists.txt @@ -5,6 +5,7 @@ ecm_add_tests( kacceleratormanagertest.cpp + kcharselect_unittest.cpp kcollapsiblegroupbox_test.cpp kcolorbuttontest.cpp kdatecomboboxtest.cpp diff --git a/autotests/kcharselect_unittest.cpp b/autotests/kcharselect_unittest.cpp new file mode 100644 --- /dev/null +++ b/autotests/kcharselect_unittest.cpp @@ -0,0 +1,56 @@ +/* This file is part of the KDE libraries + * + * Copyright (c) 2019 David Faure + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA + */ +#include + +#include +#include + +class KCharSelectTest : public QObject +{ + Q_OBJECT + +private Q_SLOTS: + void initTestCase() + { + } + + void createInstance() + { + KCharSelect selector(nullptr, nullptr); + QCOMPARE(selector.displayedCodePoints().count(), 128); + QCOMPARE(selector.currentCodePoint(), 0); + } + + void changeBlock() + { + KCharSelect selector(nullptr, nullptr); + // This asserts in QHeaderView, fix is up at https://codereview.qt-project.org/258967 +#if QT_VERSION >= QT_VERSION_CHECK(5, 13, 0) + QComboBox *blockCombo = selector.findChild(QStringLiteral("blockCombo")); + QVERIFY(blockCombo); + blockCombo->setCurrentIndex(1); + QCOMPARE(selector.currentCodePoint(), 128); +#endif + } +}; + +QTEST_MAIN(KCharSelectTest) + +#include "kcharselect_unittest.moc" diff --git a/src/kcharselect.cpp b/src/kcharselect.cpp --- a/src/kcharselect.cpp +++ b/src/kcharselect.cpp @@ -466,9 +466,11 @@ connect(d->forwardButton, &QToolButton::clicked, this, [this]() { d->_k_forward(); }); d->sectionCombo = new QComboBox(this); + d->sectionCombo->setObjectName(QStringLiteral("sectionCombo")); d->sectionCombo->setToolTip(tr("Select a category")); comboLayout->addWidget(d->sectionCombo); d->blockCombo = new QComboBox(this); + d->blockCombo->setObjectName(QStringLiteral("blockCombo")); d->blockCombo->setToolTip(tr("Select a block to be displayed")); d->blockCombo->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Fixed); comboLayout->addWidget(d->blockCombo, 1); diff --git a/src/kcharselect_p.h b/src/kcharselect_p.h --- a/src/kcharselect_p.h +++ b/src/kcharselect_p.h @@ -172,9 +172,7 @@ } QStringList mimeTypes() const override { - QStringList types; - types << QStringLiteral("text/plain"); - return types; + return {QStringLiteral("text/plain")}; } bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override;