summaryrefslogtreecommitdiffstats
path: root/tests/baseline/shared/paintcommands.cpp
diff options
context:
space:
mode:
authorTor Arne Vestbø <[email protected]>2022-03-31 14:03:52 +0200
committerTor Arne Vestbø <[email protected]>2022-03-31 20:54:29 +0200
commit496bf5a946b8f464d500ecb0f2d666d37e7188d8 (patch)
tree401d08dfadfdafe0cbdd92f5831e2ccd8d2773c3 /tests/baseline/shared/paintcommands.cpp
parent5578b47092b9f4085cad70760bb244c01fa54cbf (diff)
lance: Handle unspecified size or weight in setFont command
We have test cases that call setFont without a specified weight, in which case we would end up parsing an empty string into a number, giving a weight of 0. This weight would in turn result in the thinnest font on the system, which presumably was not the intent. We now use default sizes and weights (similar to the default QFont constructor arguments) if we're missing those arguments to setFont. Pick-to: 6.2 6.3 5.15 Change-Id: I5a96f08cfa1b9e4f1de5edee6bf69ddd46f0ce92 Reviewed-by: Eirik Aavitsland <[email protected]>
Diffstat (limited to 'tests/baseline/shared/paintcommands.cpp')
-rw-r--r--tests/baseline/shared/paintcommands.cpp34
1 files changed, 21 insertions, 13 deletions
diff --git a/tests/baseline/shared/paintcommands.cpp b/tests/baseline/shared/paintcommands.cpp
index 2ece71a1fcc..3f4a185e4a7 100644
--- a/tests/baseline/shared/paintcommands.cpp
+++ b/tests/baseline/shared/paintcommands.cpp
@@ -2144,19 +2144,27 @@ void PaintCommands::command_setFont(QRegularExpressionMatch re)
{
QStringList caps = re.capturedTexts();
QString family = caps.at(1);
- int size = convertToInt(caps.at(2));
-
- int weight = translateEnum(fontWeightTable, re.captured(3).toLower(), 5);
- if (weight != -1) {
- switch (weight) {
- case 0: weight = QFont::Light; break;
- case 1: weight = QFont::Normal; break;
- case 2: weight = QFont::DemiBold; break;
- case 3: weight = QFont::Bold; break;
- case 4: weight = QFont::Black; break;
- }
- } else {
- weight = convertToInt(re.captured(3));
+
+ int size = -1; // Default
+ QString sizeArg = caps.at(2);
+ if (!sizeArg.isEmpty())
+ size = convertToInt(caps.at(2));
+
+ int weight = -1; // Default
+ QString weightArg = caps.at(3);
+ if (!weightArg.isEmpty()) {
+ weight = translateEnum(fontWeightTable, weightArg.toLower(), 5);
+ if (weight != -1) {
+ switch (weight) {
+ case 0: weight = QFont::Light; break;
+ case 1: weight = QFont::Normal; break;
+ case 2: weight = QFont::DemiBold; break;
+ case 3: weight = QFont::Bold; break;
+ case 4: weight = QFont::Black; break;
+ }
+ } else {
+ weight = convertToInt(weightArg);
+ }
}
bool italic = caps.at(4).toLower() == "true" || caps.at(4).toLower() == "italic";