// Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only #include #include #include #include #include class tst_QRadioButton : public QObject { Q_OBJECT public: tst_QRadioButton(){}; virtual ~tst_QRadioButton(){}; private slots: #if QT_CONFIG(shortcut) void task190739_focus(); #endif void minimumSizeHint(); private: }; #if QT_CONFIG(shortcut) void tst_QRadioButton::task190739_focus() { if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) QSKIP("Wayland: This fails. Figure out why."); QWidget widget; QPushButton button1(&widget); button1.setText("button1"); QLineEdit edit(&widget); edit.setFocus(); QRadioButton radio1(&widget); radio1.setText("radio1"); radio1.setFocusPolicy(Qt::TabFocus); radio1.setShortcut(QKeySequence("Ctrl+O")); QVBoxLayout layout(&widget); layout.addWidget(&button1); layout.addWidget(&edit); layout.addWidget(&radio1); widget.show(); widget.activateWindow(); QVERIFY(QTest::qWaitForWindowActive(&widget)); QVERIFY(edit.hasFocus()); QVERIFY(!radio1.isChecked()); QTest::keyClick(&edit, Qt::Key_O, Qt::ControlModifier, 20); QTRY_VERIFY(radio1.isChecked()); QVERIFY(edit.hasFocus()); QVERIFY(!radio1.hasFocus()); } #endif // QT_CONFIG(shortcut) void tst_QRadioButton::minimumSizeHint() { QRadioButton button(tr("QRadioButtons sizeHint is the same as it's minimumSizeHint")); QCOMPARE(button.sizeHint(), button.minimumSizeHint()); } QTEST_MAIN(tst_QRadioButton) #include "tst_qradiobutton.moc"