Files
QtPotato/autotests/mpvuserconfigtest.cpp
T
2026-10-28 00:03:01 +07:00

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"