Cleanup QPushButton auto test code
Fix coding style, replace QVERIFY(a == b) with QCOMPARE, use nullptr, use a lambda for a local slot, and wait for the test widget to go away so that it doesn't break following tests. Change-Id: I1a4f790084b92301444a96a1449c84bf3317b88a Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io> Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
This commit is contained in:
parent
d115aa90a2
commit
5bd93821e5
@ -61,13 +61,12 @@ protected slots:
|
|||||||
void onToggled(bool on);
|
void onToggled(bool on);
|
||||||
void onPressed();
|
void onPressed();
|
||||||
void onReleased();
|
void onReleased();
|
||||||
void helperSlotDelete();
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
uint click_count;
|
int click_count;
|
||||||
uint toggle_count;
|
int toggle_count;
|
||||||
uint press_count;
|
int press_count;
|
||||||
uint release_count;
|
int release_count;
|
||||||
|
|
||||||
QPushButton *testWidget;
|
QPushButton *testWidget;
|
||||||
QPointingDevice *m_touchScreen = QTest::createTouchDevice();
|
QPointingDevice *m_touchScreen = QTest::createTouchDevice();
|
||||||
@ -82,8 +81,8 @@ void tst_QPushButton::getSetCheck()
|
|||||||
QMenu *var1 = new QMenu;
|
QMenu *var1 = new QMenu;
|
||||||
obj1.setMenu(var1);
|
obj1.setMenu(var1);
|
||||||
QCOMPARE(var1, obj1.menu());
|
QCOMPARE(var1, obj1.menu());
|
||||||
obj1.setMenu((QMenu *)0);
|
obj1.setMenu(nullptr);
|
||||||
QCOMPARE((QMenu *)0, obj1.menu());
|
QCOMPARE(obj1.menu(), nullptr);
|
||||||
delete var1;
|
delete var1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -104,7 +103,7 @@ void tst_QPushButton::initTestCase()
|
|||||||
void tst_QPushButton::cleanupTestCase()
|
void tst_QPushButton::cleanupTestCase()
|
||||||
{
|
{
|
||||||
delete testWidget;
|
delete testWidget;
|
||||||
testWidget = 0;
|
testWidget = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
void tst_QPushButton::init()
|
void tst_QPushButton::init()
|
||||||
@ -155,7 +154,7 @@ void tst_QPushButton::autoRepeat()
|
|||||||
QVERIFY(!testWidget->isCheckable());
|
QVERIFY(!testWidget->isCheckable());
|
||||||
|
|
||||||
// verify autorepeat is off by default.
|
// verify autorepeat is off by default.
|
||||||
QPushButton tmp( 0 );
|
QPushButton tmp;
|
||||||
tmp.setObjectName("tmp");
|
tmp.setObjectName("tmp");
|
||||||
QVERIFY(!tmp.autoRepeat());
|
QVERIFY(!tmp.autoRepeat());
|
||||||
|
|
||||||
@ -174,10 +173,10 @@ void tst_QPushButton::autoRepeat()
|
|||||||
QTest::keyPress(testWidget, Qt::Key_Space);
|
QTest::keyPress(testWidget, Qt::Key_Space);
|
||||||
|
|
||||||
QTRY_VERIFY(testWidget->isDown());
|
QTRY_VERIFY(testWidget->isDown());
|
||||||
QVERIFY( toggle_count == 0 );
|
QCOMPARE(toggle_count, 0);
|
||||||
QVERIFY( press_count == 1 );
|
QCOMPARE(press_count, 1);
|
||||||
QVERIFY( release_count == 0 );
|
QCOMPARE(release_count, 0);
|
||||||
QVERIFY( click_count == 0 );
|
QCOMPARE(click_count, 0);
|
||||||
|
|
||||||
QTest::keyRelease(testWidget, Qt::Key_Space);
|
QTest::keyRelease(testWidget, Qt::Key_Space);
|
||||||
resetCounters();
|
resetCounters();
|
||||||
@ -190,7 +189,7 @@ void tst_QPushButton::autoRepeat()
|
|||||||
QTest::keyPress(testWidget, Qt::Key_Space);
|
QTest::keyPress(testWidget, Qt::Key_Space);
|
||||||
QTRY_VERIFY(press_count > 3);
|
QTRY_VERIFY(press_count > 3);
|
||||||
QVERIFY(testWidget->isDown());
|
QVERIFY(testWidget->isDown());
|
||||||
QVERIFY( toggle_count == 0 );
|
QCOMPARE(toggle_count, 0);
|
||||||
QTest::keyRelease(testWidget, Qt::Key_Space);
|
QTest::keyRelease(testWidget, Qt::Key_Space);
|
||||||
QCOMPARE(press_count, release_count);
|
QCOMPARE(press_count, release_count);
|
||||||
QCOMPARE(release_count, click_count);
|
QCOMPARE(release_count, click_count);
|
||||||
@ -213,10 +212,10 @@ void tst_QPushButton::autoRepeat()
|
|||||||
QTest::qWait(300);
|
QTest::qWait(300);
|
||||||
|
|
||||||
QVERIFY(!testWidget->isDown());
|
QVERIFY(!testWidget->isDown());
|
||||||
QVERIFY( toggle_count == 0 );
|
QCOMPARE(toggle_count, 0);
|
||||||
QVERIFY( press_count == 0 );
|
QCOMPARE(press_count, 0);
|
||||||
QVERIFY( release_count == 0 );
|
QCOMPARE(release_count, 0);
|
||||||
QVERIFY( click_count == 0 );
|
QCOMPARE(click_count, 0);
|
||||||
QTest::keyRelease(testWidget, Qt::Key_Enter);
|
QTest::keyRelease(testWidget, Qt::Key_Enter);
|
||||||
|
|
||||||
// check that pressing ENTER has no effect
|
// check that pressing ENTER has no effect
|
||||||
@ -226,21 +225,21 @@ void tst_QPushButton::autoRepeat()
|
|||||||
QTest::keyClick(testWidget, Qt::Key_Enter);
|
QTest::keyClick(testWidget, Qt::Key_Enter);
|
||||||
QTest::qWait(300);
|
QTest::qWait(300);
|
||||||
QVERIFY(!testWidget->isDown());
|
QVERIFY(!testWidget->isDown());
|
||||||
QVERIFY( toggle_count == 0 );
|
QCOMPARE(toggle_count, 0);
|
||||||
QVERIFY( press_count == 0 );
|
QCOMPARE(press_count, 0);
|
||||||
QVERIFY( release_count == 0 );
|
QCOMPARE(release_count, 0);
|
||||||
QVERIFY( click_count == 0 );
|
QCOMPARE(click_count, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void tst_QPushButton::pressed()
|
void tst_QPushButton::pressed()
|
||||||
{
|
{
|
||||||
QTest::keyPress(testWidget, ' ');
|
QTest::keyPress(testWidget, ' ');
|
||||||
QCOMPARE( press_count, (uint)1 );
|
QCOMPARE(press_count, 1);
|
||||||
QCOMPARE( release_count, (uint)0 );
|
QCOMPARE(release_count, 0);
|
||||||
|
|
||||||
QTest::keyRelease(testWidget, ' ');
|
QTest::keyRelease(testWidget, ' ');
|
||||||
QCOMPARE( press_count, (uint)1 );
|
QCOMPARE(press_count, 1);
|
||||||
QCOMPARE( release_count, (uint)1 );
|
QCOMPARE(release_count, 1);
|
||||||
|
|
||||||
// Skip if ButtonPressKeys has Key_Enter
|
// Skip if ButtonPressKeys has Key_Enter
|
||||||
const auto buttonPressKeys = QGuiApplicationPrivate::platformTheme()
|
const auto buttonPressKeys = QGuiApplicationPrivate::platformTheme()
|
||||||
@ -251,13 +250,13 @@ void tst_QPushButton::pressed()
|
|||||||
}
|
}
|
||||||
|
|
||||||
QTest::keyPress(testWidget,Qt::Key_Enter);
|
QTest::keyPress(testWidget,Qt::Key_Enter);
|
||||||
QCOMPARE( press_count, (uint)1 );
|
QCOMPARE(press_count, 1);
|
||||||
QCOMPARE( release_count, (uint)1 );
|
QCOMPARE(release_count, 1);
|
||||||
|
|
||||||
testWidget->setAutoDefault(true);
|
testWidget->setAutoDefault(true);
|
||||||
QTest::keyPress(testWidget,Qt::Key_Enter);
|
QTest::keyPress(testWidget,Qt::Key_Enter);
|
||||||
QCOMPARE( press_count, (uint)2 );
|
QCOMPARE(press_count, 2);
|
||||||
QCOMPARE( release_count, (uint)2 );
|
QCOMPARE(release_count, 2);
|
||||||
testWidget->setAutoDefault(false);
|
testWidget->setAutoDefault(false);
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -290,14 +289,14 @@ void tst_QPushButton::isChecked()
|
|||||||
|
|
||||||
testWidget->setDown(false);
|
testWidget->setDown(false);
|
||||||
testWidget->toggle();
|
testWidget->toggle();
|
||||||
QVERIFY( testWidget->isChecked() == testWidget->isCheckable() );
|
QCOMPARE(testWidget->isChecked(), testWidget->isCheckable());
|
||||||
}
|
}
|
||||||
|
|
||||||
void tst_QPushButton::toggle()
|
void tst_QPushButton::toggle()
|
||||||
{
|
{
|
||||||
// the pushbutton shouldn't toggle the button.
|
// the pushbutton shouldn't toggle the button.
|
||||||
testWidget->toggle();
|
testWidget->toggle();
|
||||||
QVERIFY( testWidget->isChecked() == false );
|
QCOMPARE(testWidget->isChecked(), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void tst_QPushButton::toggled()
|
void tst_QPushButton::toggled()
|
||||||
@ -306,21 +305,21 @@ void tst_QPushButton::toggled()
|
|||||||
QVERIFY(!testWidget->isCheckable());
|
QVERIFY(!testWidget->isCheckable());
|
||||||
|
|
||||||
testWidget->toggle();
|
testWidget->toggle();
|
||||||
QVERIFY( toggle_count == 0 );
|
QCOMPARE(toggle_count, 0);
|
||||||
|
|
||||||
// do it again, just to be sure
|
// do it again, just to be sure
|
||||||
resetCounters();
|
resetCounters();
|
||||||
testWidget->toggle();
|
testWidget->toggle();
|
||||||
QVERIFY( toggle_count == 0 );
|
QCOMPARE(toggle_count, 0);
|
||||||
|
|
||||||
// finally check that we can toggle using the mouse
|
// finally check that we can toggle using the mouse
|
||||||
resetCounters();
|
resetCounters();
|
||||||
QTest::mousePress(testWidget, Qt::LeftButton);
|
QTest::mousePress(testWidget, Qt::LeftButton);
|
||||||
QVERIFY( toggle_count == 0 );
|
QCOMPARE(toggle_count, 0);
|
||||||
QVERIFY( click_count == 0 );
|
QCOMPARE(click_count, 0);
|
||||||
|
|
||||||
QTest::mouseRelease(testWidget, Qt::LeftButton);
|
QTest::mouseRelease(testWidget, Qt::LeftButton);
|
||||||
QVERIFY( click_count == 1 );
|
QCOMPARE(click_count, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if QT_CONFIG(shortcut)
|
#if QT_CONFIG(shortcut)
|
||||||
@ -343,9 +342,9 @@ void tst_QPushButton::setAccel()
|
|||||||
QVERIFY(QTest::qWaitForWindowActive(testWidget));
|
QVERIFY(QTest::qWaitForWindowActive(testWidget));
|
||||||
QTest::keyClick(testWidget, 'A', Qt::AltModifier);
|
QTest::keyClick(testWidget, 'A', Qt::AltModifier);
|
||||||
QTRY_VERIFY(click_count == 1);
|
QTRY_VERIFY(click_count == 1);
|
||||||
QVERIFY( press_count == 1 );
|
QCOMPARE(press_count, 1);
|
||||||
QVERIFY( release_count == 1 );
|
QCOMPARE(release_count, 1);
|
||||||
QVERIFY( toggle_count == 0 );
|
QCOMPARE(toggle_count, 0);
|
||||||
|
|
||||||
// wait 200 ms because setAccel uses animateClick.
|
// wait 200 ms because setAccel uses animateClick.
|
||||||
// if we don't wait this may screw up a next test.
|
// if we don't wait this may screw up a next test.
|
||||||
@ -358,31 +357,31 @@ void tst_QPushButton::setAccel()
|
|||||||
void tst_QPushButton::clicked()
|
void tst_QPushButton::clicked()
|
||||||
{
|
{
|
||||||
QTest::mousePress(testWidget, Qt::LeftButton);
|
QTest::mousePress(testWidget, Qt::LeftButton);
|
||||||
QVERIFY( press_count == 1 );
|
QCOMPARE(press_count, 1);
|
||||||
QVERIFY( release_count == 0 );
|
QCOMPARE(release_count, 0);
|
||||||
|
|
||||||
QTest::mouseRelease(testWidget, Qt::LeftButton);
|
QTest::mouseRelease(testWidget, Qt::LeftButton);
|
||||||
QCOMPARE( press_count, (uint)1 );
|
QCOMPARE(press_count, 1);
|
||||||
QCOMPARE( release_count, (uint)1 );
|
QCOMPARE(release_count, 1);
|
||||||
|
|
||||||
press_count = 0;
|
press_count = 0;
|
||||||
release_count = 0;
|
release_count = 0;
|
||||||
testWidget->setDown(false);
|
testWidget->setDown(false);
|
||||||
for (uint i=0; i<10; i++)
|
for (uint i=0; i<10; i++)
|
||||||
QTest::mouseClick(testWidget, Qt::LeftButton);
|
QTest::mouseClick(testWidget, Qt::LeftButton);
|
||||||
QCOMPARE( press_count, (uint)10 );
|
QCOMPARE(press_count, 10);
|
||||||
QCOMPARE( release_count, (uint)10 );
|
QCOMPARE(release_count, 10);
|
||||||
}
|
}
|
||||||
|
|
||||||
void tst_QPushButton::touchTap()
|
void tst_QPushButton::touchTap()
|
||||||
{
|
{
|
||||||
QTest::touchEvent(testWidget, m_touchScreen).press(0, QPoint(10, 10));
|
QTest::touchEvent(testWidget, m_touchScreen).press(0, QPoint(10, 10));
|
||||||
QVERIFY( press_count == 1 );
|
QCOMPARE(press_count, 1);
|
||||||
QVERIFY( release_count == 0 );
|
QCOMPARE(release_count, 0);
|
||||||
QTest::touchEvent(testWidget, m_touchScreen).release(0, QPoint(10, 10));
|
QTest::touchEvent(testWidget, m_touchScreen).release(0, QPoint(10, 10));
|
||||||
QCOMPARE( press_count, (uint)1 );
|
QCOMPARE(press_count, 1);
|
||||||
QCOMPARE( release_count, (uint)1 );
|
QCOMPARE(release_count, 1);
|
||||||
QCOMPARE( click_count, (uint)1 );
|
QCOMPARE(click_count, 1);
|
||||||
|
|
||||||
press_count = 0;
|
press_count = 0;
|
||||||
release_count = 0;
|
release_count = 0;
|
||||||
@ -392,26 +391,23 @@ void tst_QPushButton::touchTap()
|
|||||||
QTest::touchEvent(testWidget, m_touchScreen).press(0, QPoint(10, 10));
|
QTest::touchEvent(testWidget, m_touchScreen).press(0, QPoint(10, 10));
|
||||||
QTest::touchEvent(testWidget, m_touchScreen).release(0, QPoint(10, 10));
|
QTest::touchEvent(testWidget, m_touchScreen).release(0, QPoint(10, 10));
|
||||||
}
|
}
|
||||||
QCOMPARE( press_count, (uint)10 );
|
QCOMPARE(press_count, 10);
|
||||||
QCOMPARE( release_count, (uint)10 );
|
QCOMPARE(release_count, 10);
|
||||||
QCOMPARE( click_count, (uint)10 );
|
QCOMPARE(click_count, 10);
|
||||||
}
|
|
||||||
|
|
||||||
QPushButton *pb = 0;
|
|
||||||
void tst_QPushButton::helperSlotDelete()
|
|
||||||
{
|
|
||||||
delete pb;
|
|
||||||
pb = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void tst_QPushButton::popupCrash()
|
void tst_QPushButton::popupCrash()
|
||||||
{
|
{
|
||||||
pb = new QPushButton("foo");
|
QPushButton *pb = new QPushButton("foo");
|
||||||
QMenu *menu = new QMenu("bar", pb);
|
QMenu *menu = new QMenu("bar", pb);
|
||||||
pb->setMenu(menu);
|
pb->setMenu(menu);
|
||||||
QTimer::singleShot(1000, this, SLOT(helperSlotDelete()));
|
QTimer::singleShot(1000, this, [&pb]{
|
||||||
|
delete pb;
|
||||||
|
pb = nullptr;
|
||||||
|
});
|
||||||
pb->show();
|
pb->show();
|
||||||
pb->click();
|
pb->click();
|
||||||
|
QTRY_COMPARE(pb, nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
void tst_QPushButton::defaultAndAutoDefault()
|
void tst_QPushButton::defaultAndAutoDefault()
|
||||||
@ -501,14 +497,14 @@ void tst_QPushButton::defaultAndAutoDefault()
|
|||||||
|
|
||||||
// Reparenting
|
// Reparenting
|
||||||
QVERIFY(button2.autoDefault());
|
QVERIFY(button2.autoDefault());
|
||||||
button2.setParent(0);
|
button2.setParent(nullptr);
|
||||||
QVERIFY(!button2.autoDefault());
|
QVERIFY(!button2.autoDefault());
|
||||||
button2.setAutoDefault(false);
|
button2.setAutoDefault(false);
|
||||||
button2.setParent(&dialog);
|
button2.setParent(&dialog);
|
||||||
QVERIFY(!button2.autoDefault());
|
QVERIFY(!button2.autoDefault());
|
||||||
|
|
||||||
button1.setAutoDefault(true);
|
button1.setAutoDefault(true);
|
||||||
button1.setParent(0);
|
button1.setParent(nullptr);
|
||||||
QVERIFY(button1.autoDefault());
|
QVERIFY(button1.autoDefault());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -549,7 +545,7 @@ void tst_QPushButton::sizeHint()
|
|||||||
button->setParent(widget);
|
button->setParent(widget);
|
||||||
button->sizeHint();
|
button->sizeHint();
|
||||||
|
|
||||||
widget->setParent(0);
|
widget->setParent(nullptr);
|
||||||
delete dialog;
|
delete dialog;
|
||||||
button->setDefault(false);
|
button->setDefault(false);
|
||||||
QCOMPARE(button->sizeHint(), initSizeHint);
|
QCOMPARE(button->sizeHint(), initSizeHint);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user