void tst_QFontComboBox::qfontcombobox() { SubQFontComboBox box; QCOMPARE(box.currentFont(), QFont()); QCOMPARE(box.fontFilters(), QFontComboBox::AllFonts); box.setCurrentFont(QFont()); box.setFontFilters(QFontComboBox::AllFonts); box.setWritingSystem(QFontDatabase::Any); QVERIFY(box.sizeHint() != QSize()); QCOMPARE(box.writingSystem(), QFontDatabase::Any); box.call_currentFontChanged(QFont()); QEvent event(QEvent::None); QCOMPARE(box.call_event(&event), false); }
// protected void currentFontChanged(QFont const& f) void tst_QFontComboBox::currentFontChanged() { SubQFontComboBox box; QSignalSpy spy0(&box, SIGNAL(currentFontChanged(QFont))); if (box.model()->rowCount() > 2) { QTest::keyPress(&box, Qt::Key_Down); QCOMPARE(spy0.count(), 1); QFont f( "Sans Serif" ); box.setCurrentFont(f); QCOMPARE(spy0.count(), 2); } else qWarning("Not enough fonts installed on test system. Consider adding some"); }
// public QFont currentFont() const void tst_QFontComboBox::currentFont() { QFETCH(QFont, currentFont); SubQFontComboBox box; QSignalSpy spy0(&box, SIGNAL(currentFontChanged(QFont const&))); QFont oldCurrentFont = box.currentFont(); box.setCurrentFont(currentFont); QString boxFontFamily = QFontInfo(box.currentFont()).family(); QRegExp foundry(" \\[.*\\]"); if (!currentFont.family().contains(foundry)) boxFontFamily.remove(foundry); QCOMPARE(boxFontFamily, currentFont.family()); if (oldCurrentFont != box.currentFont()) { //the signal may be emit twice if there is a foundry into brackets QVERIFY(spy0.count() >= 1); } }