Skip to content

Commit

Permalink
engine/test: starting to cover the Sequence rework
Browse files Browse the repository at this point in the history
  • Loading branch information
mcallegari committed Apr 17, 2017
1 parent e4441e4 commit 8a9cbe2
Show file tree
Hide file tree
Showing 3 changed files with 92 additions and 8 deletions.
7 changes: 1 addition & 6 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,14 +75,9 @@ before_install:
- if [ "$QT" = "qt5" ] && [ "$CXX" = "g++" ]; then sudo rm /usr/bin/g++; sudo rm /usr/bin/gcc; export CXX="g++-5" CC="gcc-5"; fi
#Report the compiler version
- $CXX --version
# Start xvfb so tests don't fail
# Start xvfb so UI tests don't fail
- "export DISPLAY=:99.0"
- "sh -e /etc/init.d/xvfb start"

#install:
# - if [ "$TASK" = "coverage" ]; then pip install --user cpp-coveralls; fi

after_success:
- if [ "$TASK" = "coverage" ]; then coveralls-lcov --repo-token ${COVERALLS_TOKEN} coverage/coverage.info; fi
# - if [ "$TASK" = "coverage" ]; then coveralls --gcov /usr/bin/gcov-6 -b . -E '.*/engine/src/.cpp$' -E '.*/ui/src/.cpp$' --gcov-options '\-lp' > /dev/null; fi
# - if [ "$TASK" = "coverage" ]; then coveralls; fi
91 changes: 89 additions & 2 deletions engine/test/chaserstep/chaserstep_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,6 @@ void ChaserStep_Test::load()
xmlWriter.writeAttribute("FadeIn", "10");
xmlWriter.writeAttribute("Hold", "15");
xmlWriter.writeAttribute("FadeOut", "20");
xmlWriter.writeAttribute("Duration", "25");
xmlWriter.writeAttribute("Note", "Fortytwo");
xmlWriter.writeCharacters("30");

Expand All @@ -131,6 +130,51 @@ void ChaserStep_Test::load()
QCOMPARE(step.note, QString("Fortytwo"));
}

void ChaserStep_Test::load_sequence()
{
int number = -1;
ChaserStep step;

QBuffer buffer;
QXmlStreamReader xmlReader(&buffer);
buffer.open(QIODevice::WriteOnly | QIODevice::Text);
QXmlStreamWriter xmlWriter(&buffer);

xmlWriter.writeStartElement("Step");
xmlWriter.writeAttribute("Number", "1");
xmlWriter.writeAttribute("FadeIn", "10");
xmlWriter.writeAttribute("Hold", "15");
xmlWriter.writeAttribute("FadeOut", "20");
xmlWriter.writeAttribute("Values", "30");
xmlWriter.writeCharacters("5:0,150,2,100,3,75:7:10,100,15,200");

xmlWriter.writeEndDocument();
xmlWriter.setDevice(NULL);
buffer.close();

buffer.open(QIODevice::ReadOnly | QIODevice::Text);
xmlReader.setDevice(&buffer);
xmlReader.readNextStartElement();

QVERIFY(step.loadXML(xmlReader, number) == true);
QCOMPARE(number, 1);
QCOMPARE(step.fadeIn, uint(10));
QCOMPARE(step.hold, uint(15));
QCOMPARE(step.fadeOut, uint(20));
QCOMPARE(step.duration, uint(25));
QCOMPARE(step.fid, Function::invalidId());
QCOMPARE(step.note, QString(""));

QList<SceneValue> values = step.values;

QCOMPARE(step.values.count(), 5);
QCOMPARE(values.at(0), SceneValue(5, 0, 150));
QCOMPARE(values.at(1), SceneValue(5, 2, 100));
QCOMPARE(values.at(2), SceneValue(5, 3, 75));
QCOMPARE(values.at(3), SceneValue(7, 10, 100));
QCOMPARE(values.at(4), SceneValue(7, 15, 200));
}

void ChaserStep_Test::save()
{
QBuffer buffer;
Expand All @@ -154,9 +198,52 @@ void ChaserStep_Test::save()
QCOMPARE(xmlReader.attributes().value("FadeIn").toString(), QString("2"));
QCOMPARE(xmlReader.attributes().value("Hold").toString(), QString("3"));
QCOMPARE(xmlReader.attributes().value("FadeOut").toString(), QString("4"));
//QCOMPARE(tag.attribute("Duration"), QString("4")); // deprecated from version 4.3.2
QCOMPARE(xmlReader.attributes().value("Number").toString(), QString("5"));
QCOMPARE(xmlReader.readElementText(), QString("1"));
}

void ChaserStep_Test::save_sequence()
{
QBuffer buffer;
buffer.open(QIODevice::WriteOnly | QIODevice::Text);
QXmlStreamWriter xmlWriter(&buffer);
xmlWriter.writeStartElement("Foo");

ChaserStep step(1, 2, 3, 4);
QList<SceneValue> values;
values.append(SceneValue(1, 0, 255));
values.append(SceneValue(1, 1, 0));
values.append(SceneValue(1, 2, 100));
values.append(SceneValue(1, 3, 200));

values.append(SceneValue(3, 0, 255));
values.append(SceneValue(3, 1, 100));
values.append(SceneValue(3, 2, 0));
values.append(SceneValue(3, 3, 0));

step.values = values;

QVERIFY(step.saveXML(&xmlWriter, 1, true) == true);

xmlWriter.setDevice(NULL);
buffer.close();

buffer.open(QIODevice::ReadOnly | QIODevice::Text);
QXmlStreamReader xmlReader(&buffer);

xmlReader.readNextStartElement();
QCOMPARE(xmlReader.name().toString(), QString("Foo"));
xmlReader.readNextStartElement();
QCOMPARE(xmlReader.name().toString(), QString("Step"));
QCOMPARE(xmlReader.attributes().value("FadeIn").toString(), QString("2"));
QCOMPARE(xmlReader.attributes().value("Hold").toString(), QString("3"));
QCOMPARE(xmlReader.attributes().value("FadeOut").toString(), QString("4"));
QCOMPARE(xmlReader.attributes().value("Number").toString(), QString("1"));
QCOMPARE(xmlReader.attributes().value("Values").toString(), QString("8"));

QString valText = xmlReader.readElementText();
QCOMPARE(valText, QString("1:0,255,2,100,3,200:3:0,255,1,100"));

}

QTEST_APPLESS_MAIN(ChaserStep_Test)
2 changes: 2 additions & 0 deletions engine/test/chaserstep/chaserstep_test.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,9 @@ private slots:
void resolveFunction();
void variant();
void load();
void load_sequence();
void save();
void save_sequence();
};

#endif

0 comments on commit 8a9cbe2

Please sign in to comment.