77 lines
2.3 KiB
C++
Executable File
77 lines
2.3 KiB
C++
Executable File
/**
|
|
* @RDE_HEADER@
|
|
* ParseLineTest
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
* Created by Christian Fröbel, SLSE, 2017-06-19
|
|
*/
|
|
|
|
#include "parse_line_test.h"
|
|
#include <AudioVideoManagement/av_socket.h>
|
|
|
|
using namespace AudioVideoManagement;
|
|
|
|
/**
|
|
* Special case that I could not cover with the data-driven approach.
|
|
*/
|
|
void ParseLineTest::testEmpty()
|
|
{
|
|
QByteArray line;
|
|
const auto parts = AVSocket::parseLine(line);
|
|
QCOMPARE(parts.size(), 0);
|
|
}
|
|
|
|
void ParseLineTest::test()
|
|
{
|
|
QFETCH(QByteArray, line);
|
|
QFETCH(QByteArray, gluedParts);
|
|
const auto expected = gluedParts.split(';');
|
|
const auto parts = AVSocket::parseLine(line);
|
|
QCOMPARE(parts.size(), expected.size());
|
|
for (int i = 0; i < expected.size(); ++i)
|
|
QCOMPARE(parts.at(i), expected.at(i));
|
|
}
|
|
|
|
void ParseLineTest::test_data()
|
|
{
|
|
QTest::addColumn<QByteArray>("line");
|
|
QTest::addColumn<QByteArray>("gluedParts");
|
|
|
|
QTest::newRow("")
|
|
<< QByteArray("{}")
|
|
<< QByteArray("");
|
|
QTest::newRow("")
|
|
<< QByteArray("218 Video1 \"\" VIDEODIALOGSTATE")
|
|
<< QByteArray("218;Video1;;VIDEODIALOGSTATE");
|
|
QTest::newRow("")
|
|
<< QByteArray("218 \"Video1\" \"\" VIDEODIALOGSTATE")
|
|
<< QByteArray("218;Video1;;VIDEODIALOGSTATE");
|
|
QTest::newRow("")
|
|
<< QByteArray("218 \"Video 1\" \"\" VIDEODIALOGSTATE")
|
|
<< QByteArray("218;Video 1;;VIDEODIALOGSTATE");
|
|
QTest::newRow("")
|
|
<< QByteArray("218 \"Video \\\"1\\\"\" \"\" VIDEODIALOGSTATE")
|
|
<< QByteArray("218;Video \"1\";;VIDEODIALOGSTATE");
|
|
QTest::newRow("")
|
|
<< QByteArray("setvideoprofile Video1 \"1 {bldg_56: {CAM_UBEICE0001} {CAM_UBEICE0002} {CAM_UBEICE0003} {CAM_UBEICE0004}}\"")
|
|
<< QByteArray("setvideoprofile;Video1;1 {bldg_56: {CAM_UBEICE0001} {CAM_UBEICE0002} {CAM_UBEICE0003} {CAM_UBEICE0004}}");
|
|
|
|
QTest::newRow("")
|
|
<< QByteArray("{hello \" world}")
|
|
<< QByteArray("hello \" world");
|
|
|
|
// Was that intended?
|
|
QTest::newRow("")
|
|
<< QByteArray("{")
|
|
<< QByteArray("");
|
|
QTest::newRow("")
|
|
<< QByteArray("\"")
|
|
<< QByteArray("");
|
|
|
|
// Oops, I guess that was not intended!
|
|
QTest::newRow("")
|
|
<< QByteArray("setvideoprofile Video1 {bldg_56: {CAM_UBEICE0001} {CAM_UBEICE0002} {CAM_UBEICE0003} {CAM_UBEICE0004}}")
|
|
<< QByteArray("setvideoprofile;Video1;bldg_56: {CAM_UBEICE0001;CAM_UBEICE0002;CAM_UBEICE0003;CAM_UBEICE0004;}");
|
|
}
|