feat: load the user's mpv.conf
This commit is contained in:
1 parent
fe2f159660
commit
6b5742b2ca
11 files changed
+298
-6
No files matched your search
@@ -0,0 +1,39 @@
|
||||
#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"
|
||||
Reference in new issue
Block a user