OSDN Git Service

test case for converting QFont from and to QString
authorIvailo Monev <xakepa10@gmail.com>
Fri, 18 Nov 2022 23:45:16 +0000 (01:45 +0200)
committerIvailo Monev <xakepa10@gmail.com>
Fri, 18 Nov 2022 23:45:16 +0000 (01:45 +0200)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
tests/auto/qfont/tst_qfont.cpp
tests/auto/qfontdatabase/tst_qfontdatabase.cpp

index 9794171..e2a1bb2 100644 (file)
@@ -55,6 +55,9 @@ private slots:
     void resetFont();
     void isCopyOf();
     void lastResortFamily();
+
+    void toString_fromString_data();
+    void toString_fromString();
 };
 
 // Testing get/set functions
@@ -279,6 +282,31 @@ void tst_QFont::lastResortFamily()
     QVERIFY(!QFont::lastResortFamily().isEmpty());
 }
 
+void tst_QFont::toString_fromString_data()
+{
+    QTest::addColumn<QString>("fontstring");
+    QTest::addColumn<QString>("expectedstring");
+
+    // actual font families
+    QTest::newRow("FreeSans") << QString("FreeSans,10,-1,50,1,0,0,0") << QString("FreeSans,10,-1,50,1,0,0,0");
+    QTest::newRow("FreeSans [GNU ]") << QString("FreeSans [GNU ],5,-1,99,0,1,0,0") << QString("FreeSans [GNU ],5,-1,99,0,1,0,0");
+    QTest::newRow("FreeMono") << QString("FreeMono,5,-1,999,0,0,1,0") << QString("FreeMono,5,-1,99,0,0,1,0");
+    QTest::newRow("FreeSans") << QString("FreeSans,10,-1,50,2,3,4,5") << QString("FreeSans,10,-1,50,2,1,1,1");
+    // aliases
+    QTest::newRow("Sans Serif") << QString("Sans Serif,123,-1,50,0,0,0,0") << QString("Sans Serif,123,-1,50,0,0,0,0");
+    QTest::newRow("Monospace") << QString("Monospace,10,666,50,0,0,0,0") << QString("Monospace,-1,666,50,0,0,0,0");
+}
+
+void tst_QFont::toString_fromString()
+{
+    QFETCH(QString, fontstring);
+    QFETCH(QString, expectedstring);
+
+    QFont font;
+    font.fromString(fontstring);
+    QCOMPARE(expectedstring, font.toString());
+}
+
 QTEST_MAIN(tst_QFont)
 
 #include "moc_tst_qfont.cpp"
index e0edca6..e946593 100644 (file)
@@ -250,7 +250,6 @@ void tst_QFontDatabase::fontInfo_data()
     QTest::newRow("Monospace") << QString("Monospace");
 }
 
-
 void tst_QFontDatabase::fontInfo()
 {
     QFETCH(QString, font);