40 lines
1.5 KiB
C++
40 lines
1.5 KiB
C++
#include "mpvuserconfig.h"
|
|
|
|
#include <QTest>
|
|
|
|
using namespace Qt::Literals::StringLiterals;
|
|
|
|
class MpvUserConfigTest : public QObject
|
|
{
|
|
Q_OBJECT
|
|
|
|
private Q_SLOTS:
|
|
void expandsConfigDirPaths()
|
|
{
|
|
const auto prepared = MpvUserConfig::prepare(u"glsl-shaders=\"~~/shaders/a.glsl\"\ninclude=~~home/extra.conf\n"_s, u"/home/me/.config/mpv"_s);
|
|
QCOMPARE(prepared.content, u"glsl-shaders=\"/home/me/.config/mpv/shaders/a.glsl\"\ninclude=/home/me/.config/mpv/extra.conf\n"_s);
|
|
QVERIFY(prepared.skippedOptions.isEmpty());
|
|
}
|
|
|
|
void skipsOptionsThatBreakEmbedding()
|
|
{
|
|
const QString conf = u"# comment\nvo=gpu-next\nhwdec=auto\n[big]\nno-fs\n--idle=no\n vo = gpu\nvolume=50\n"_s;
|
|
const auto prepared = MpvUserConfig::prepare(conf, u"/c"_s);
|
|
QCOMPARE(prepared.skippedOptions, (QStringList{u"vo"_s, u"fs"_s, u"idle"_s}));
|
|
QCOMPARE(prepared.content,
|
|
u"# comment\n# skipped by QtPotato: vo=gpu-next\nhwdec=auto\n[big]\n# skipped by QtPotato: no-fs\n"
|
|
"# skipped by QtPotato: --idle=no\n# skipped by QtPotato: vo = gpu\nvolume=50\n"_s);
|
|
}
|
|
|
|
void keepsSimilarlyNamedOptions()
|
|
{
|
|
// "vo" must not catch "volume" or "vo-..." style options.
|
|
const auto prepared = MpvUserConfig::prepare(u"volume=70\nvideo-sync=display-resample\nfs-screen=1\n"_s, u"/c"_s);
|
|
QVERIFY(prepared.skippedOptions.isEmpty());
|
|
}
|
|
};
|
|
|
|
QTEST_GUILESS_MAIN(MpvUserConfigTest)
|
|
|
|
#include "mpvuserconfigtest.moc"
|