tests/auto/qcommandlinkbutton/tst_qcommandlinkbutton.cpp
changeset 3 41300fa6a67c
parent 0 1918ee327afb
child 4 3b1da2848fc7
equal deleted inserted replaced
2:56cd8111b7f7 3:41300fa6a67c
    49 #include <qcommandlinkbutton.h>
    49 #include <qcommandlinkbutton.h>
    50 #include <qmenu.h>
    50 #include <qmenu.h>
    51 #include <qtimer.h>
    51 #include <qtimer.h>
    52 #include <QDialog>
    52 #include <QDialog>
    53 #include <QGridLayout>
    53 #include <QGridLayout>
       
    54 #include <QPainter>
    54 
    55 
    55 Q_DECLARE_METATYPE(QCommandLinkButton*)
    56 Q_DECLARE_METATYPE(QCommandLinkButton*)
    56 
    57 
    57 //TESTED_CLASS=
    58 //TESTED_CLASS=
    58 //TESTED_FILES=
    59 //TESTED_FILES=
    81     void animateClick();
    82     void animateClick();
    82     void toggle();
    83     void toggle();
    83     void clicked();
    84     void clicked();
    84     void toggled();
    85     void toggled();
    85     void defaultAndAutoDefault();
    86     void defaultAndAutoDefault();
    86 	void setAutoRepeat();
    87     void setAutoRepeat();
       
    88     void heightForWithWithIcon();
    87 
    89 
    88 protected slots:
    90 protected slots:
    89     void resetCounters();
    91     void resetCounters();
    90     void onClicked();
    92     void onClicked();
    91     void onToggled( bool on );
    93     void onToggled( bool on );
   104 
   106 
   105 // Testing get/set functions
   107 // Testing get/set functions
   106 void tst_QCommandLinkButton::getSetCheck()
   108 void tst_QCommandLinkButton::getSetCheck()
   107 {
   109 {
   108     QCommandLinkButton obj1;
   110     QCommandLinkButton obj1;
   109 	
   111 
   110 	QString text("mytext");
   112 	QString text("mytext");
   111 	QVERIFY(obj1.description().isEmpty());
   113 	QVERIFY(obj1.description().isEmpty());
   112 	obj1.setDescription(text);
   114 	obj1.setDescription(text);
   113 	QVERIFY(obj1.description() == text);
   115 	QVERIFY(obj1.description() == text);
   114 	
   116 
   115 	QVERIFY(obj1.text().isEmpty());
   117 	QVERIFY(obj1.text().isEmpty());
   116 	obj1.setText(text);
   118 	obj1.setText(text);
   117 	QVERIFY(obj1.text() == text);
   119 	QVERIFY(obj1.text() == text);
   118 	
   120 
   119 	
   121 
   120     QMenu *var1 = new QMenu;
   122     QMenu *var1 = new QMenu;
   121     obj1.setMenu(var1);
   123     obj1.setMenu(var1);
   122     QCOMPARE(var1, obj1.menu());
   124     QCOMPARE(var1, obj1.menu());
   123     obj1.setMenu((QMenu *)0);
   125     obj1.setMenu((QMenu *)0);
   124     QCOMPARE((QMenu *)0, obj1.menu());
   126     QCOMPARE((QMenu *)0, obj1.menu());
   391         testWidget->activateWindow();
   393         testWidget->activateWindow();
   392         QApplication::instance()->processEvents();
   394         QApplication::instance()->processEvents();
   393         QTest::qWait(100);
   395         QTest::qWait(100);
   394     }
   396     }
   395 
   397 
   396     QVERIFY(testWidget->isActiveWindow());    
   398     QVERIFY(testWidget->isActiveWindow());
   397     
   399 
   398     QTest::keyClick( testWidget, 'A', Qt::AltModifier );
   400     QTest::keyClick( testWidget, 'A', Qt::AltModifier );
   399     QTest::qWait( 500 );
   401     QTest::qWait( 500 );
   400     QVERIFY( click_count == 1 );
   402     QVERIFY( click_count == 1 );
   401     QVERIFY( press_count == 1 );
   403     QVERIFY( press_count == 1 );
   402     QVERIFY( release_count == 1 );
   404     QVERIFY( release_count == 1 );
   554     button1.setParent(0);
   556     button1.setParent(0);
   555     QVERIFY(button1.autoDefault());
   557     QVERIFY(button1.autoDefault());
   556     }
   558     }
   557 }
   559 }
   558 
   560 
       
   561 void tst_QCommandLinkButton::heightForWithWithIcon()
       
   562 {
       
   563     QWidget mainWin;
       
   564 
       
   565     QPixmap pixmap(64, 64);
       
   566     {
       
   567         pixmap.fill(Qt::white);
       
   568         QPainter painter(&pixmap);
       
   569         painter.setBrush(Qt::black);
       
   570         painter.drawEllipse(0, 0, 63, 63);
       
   571     }
       
   572 
       
   573     QCommandLinkButton *largeIconButton = new QCommandLinkButton(QString("Large Icon"),
       
   574                     QString("Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Mauris nibh lectus, adipiscing eu."),
       
   575                     &mainWin);
       
   576     largeIconButton->setIconSize(QSize(64, 64));
       
   577     largeIconButton->setIcon(pixmap);
       
   578 
       
   579     QVBoxLayout *layout = new QVBoxLayout();
       
   580     layout->addWidget(largeIconButton);
       
   581     layout->addStretch();
       
   582     mainWin.setLayout(layout);
       
   583     mainWin.showMaximized();
       
   584     QTest::qWaitForWindowShown(&mainWin);
       
   585     QVERIFY(largeIconButton->height() > 68);  //enough room for the icon
       
   586 
       
   587 }
       
   588 
   559 QTEST_MAIN(tst_QCommandLinkButton)
   589 QTEST_MAIN(tst_QCommandLinkButton)
   560 #include "tst_qcommandlinkbutton.moc"
   590 #include "tst_qcommandlinkbutton.moc"