Skip to content

Commit

Permalink
Fix for unit test in the new structure.
Browse files Browse the repository at this point in the history
  • Loading branch information
hjtappe committed Jun 6, 2024
1 parent 577f16f commit 05fd4b3
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 27 deletions.
6 changes: 3 additions & 3 deletions engine/src/rgbmatrix.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -430,8 +430,8 @@ bool RGBMatrix::loadXML(QXmlStreamReader &root)
{
QString colorNumText = root.name().string()->right(
root.name().length() - KXMLQLCRGBMatrixColorBase.length());
uint colorNum = colorNumText.toUInt();
setColor(colorNum, QColor::fromRgb(QRgb(root.readElementText().toUInt())));
uint colorIdx = colorNumText.toUInt() - 1;
setColor(colorIdx, QColor::fromRgb(QRgb(root.readElementText().toUInt())));
}
else if (root.name() == KXMLQLCRGBMatrixControlMode)
{
Expand Down Expand Up @@ -490,7 +490,7 @@ bool RGBMatrix::saveXML(QXmlStreamWriter *doc)
uint count = 0;
while (colorIt.hasNext()) {
QColor color = colorIt.next();
QString elementName = KXMLQLCRGBMatrixColorBase.append(QString::number(count));
QString elementName = KXMLQLCRGBMatrixColorBase.append(QString::number(count + 1));
doc->writeTextElement(elementName, QString::number(color.rgb()));
count ++;
}
Expand Down
59 changes: 35 additions & 24 deletions engine/test/rgbmatrix/rgbmatrix_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,8 @@ void RGBMatrix_Test::loadSave()
QCOMPARE(xmlReader.attributes().value("ID").toString(), QString::number(mtx->id()));
QCOMPARE(xmlReader.attributes().value("Name").toString(), QString("Xyzzy"));

int speed = 0, dir = 0, run = 0, algo = 0, color1 = 0, color2 = 0, color3 = 0, color4 = 0, color5 = 0, grp = 0, colormode = 0;
int speed = 0, dir = 0, run = 0, algo = 0, grp = 0, color1 = 0, color2 = 0, color3 = 0, color4 = 0, color5 = 0, colormode = 0;
QVector<int> colors;

while (xmlReader.readNextStartElement())
{
Expand Down Expand Up @@ -268,30 +269,40 @@ void RGBMatrix_Test::loadSave()
algo++;
xmlReader.skipCurrentElement();
}
else if (xmlReader.name().toString() == "Color1")
else if (xmlReader.name().toString().startsWith("Color", Qt::CaseSensitive))
{
QCOMPARE(xmlReader.readElementText().toUInt(), QColor(Qt::magenta).rgb());
color1++;
}
else if (xmlReader.name().toString() == "Color2")
{
QCOMPARE(xmlReader.readElementText().toUInt(), QColor(Qt::blue).rgb());
color2++;
}
else if (xmlReader.name().toString() == "Color3")
{
QCOMPARE(xmlReader.readElementText().toUInt(), QColor(Qt::green).rgb());
color3++;
}
else if (xmlReader.name().toString() == "Color4")
{
QCOMPARE(xmlReader.readElementText().toUInt(), QColor(Qt::red).rgb());
color4++;
}
else if (xmlReader.name().toString() == "Color5")
{
QCOMPARE(xmlReader.readElementText().toUInt(), QColor(Qt::yellow).rgb());
color5++;
bool ok = false;
QString colorNumText = xmlReader.name().toString().right(
xmlReader.name().toString().length() - QString("Color").length());
int colorNum = colorNumText.toInt(&ok, 10);
QVERIFY(ok);

switch (colorNum) {
case 1:
QCOMPARE(xmlReader.readElementText().toUInt(), QColor(Qt::magenta).rgb());
color1 ++;
break;
case 2:
QCOMPARE(xmlReader.readElementText().toUInt(), QColor(Qt::blue).rgb());
color2++;
break;
case 3:
QCOMPARE(xmlReader.readElementText().toUInt(), QColor(Qt::green).rgb());
color3++;
break;
case 4:
QCOMPARE(xmlReader.readElementText().toUInt(), QColor(Qt::red).rgb());
color4++;
break;
case 5:
QCOMPARE(xmlReader.readElementText().toUInt(), QColor(Qt::yellow).rgb());
color5++;
break;
default:
// The color number can be between 1 and MAXINT, but here we expect only 5.
QVERIFY(colorNum > 0 && colorNum <= 5);
break;
}
}
else if (xmlReader.name().toString() == "FixtureGroup")
{
Expand Down

0 comments on commit 05fd4b3

Please sign in to comment.