diff options
author | Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> | 2023-06-27 09:47:45 +0200 |
---|---|---|
committer | Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> | 2023-06-29 16:04:34 +0200 |
commit | 17f8e2c441f2302f1df19053208f77f7fb60e1f1 (patch) | |
tree | 6c515046fcc49b3411865b484406ef14d2b29c44 /tests/auto/gui/text/qfont | |
parent | bacb04d77b064d1f348d310b5b57aeebe93f590c (diff) |
API update: Don't expose QHash storage in API
To maintain flexibility in how we store the features, we
introduce accessors through indirection rather than accessing
the property directly.
Made as response to API review.
Pick-to: 6.6
Change-Id: I3e5d4ddabe93f67796af4626fddefe028ded9888
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
Diffstat (limited to 'tests/auto/gui/text/qfont')
-rw-r--r-- | tests/auto/gui/text/qfont/tst_qfont.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/auto/gui/text/qfont/tst_qfont.cpp b/tests/auto/gui/text/qfont/tst_qfont.cpp index 258ac1c2f7..ff92af8169 100644 --- a/tests/auto/gui/text/qfont/tst_qfont.cpp +++ b/tests/auto/gui/text/qfont/tst_qfont.cpp @@ -54,6 +54,7 @@ private slots: void setFamilies(); void setFamiliesAndFamily_data(); void setFamiliesAndFamily(); + void featureAccessors(); }; // Testing get/set functions @@ -841,5 +842,37 @@ void tst_QFont::setFamiliesAndFamily() QFontDatabase::removeApplicationFont(weirdFontId); } +void tst_QFont::featureAccessors() +{ + QFont font; + QVERIFY(font.featureTags().isEmpty()); + font.setFeature("abcd", 0xc0ffee); + + quint32 abcdTag = QFont::stringToTag("abcd"); + quint32 bcdeTag = QFont::stringToTag("bcde"); + QVERIFY(font.isFeatureSet(abcdTag)); + QVERIFY(!font.isFeatureSet(bcdeTag)); + QCOMPARE(font.featureTags().size(), 1); + QCOMPARE(font.featureTags().first(), abcdTag); + QCOMPARE(QFont::tagToString(font.featureTags().first()), QByteArray("abcd")); + QCOMPARE(font.featureValue(abcdTag), 0xc0ffee); + QCOMPARE(font.featureValue(bcdeTag), 0); + font.setFeature(abcdTag, 0xf00d); + QCOMPARE(font.featureTags().size(), 1); + QCOMPARE(font.featureValue(abcdTag), 0xf00d); + font.setFeature("abcde", 0xcaca0); + QVERIFY(!font.isFeatureSet(QFont::stringToTag("abcde"))); + QCOMPARE(font.featureTags().size(), 1); + QFont font2 = font; + + font.unsetFeature("abcd"); + QVERIFY(!font.isFeatureSet(QFont::stringToTag("abcd"))); + QVERIFY(font.featureTags().isEmpty()); + + QVERIFY(font2.isFeatureSet(QFont::stringToTag("abcd"))); + font2.clearFeatures(); + QVERIFY(font.featureTags().isEmpty()); +} + QTEST_MAIN(tst_QFont) #include "tst_qfont.moc" |