Add configurable Plasma panel scroll and click actions
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
// SPDX-License-Identifier: MIT
|
||||
#include "settings.h"
|
||||
#include <QTemporaryDir>
|
||||
#include <QTest>
|
||||
|
||||
class SettingsTest : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
private Q_SLOTS:
|
||||
void savesWithoutAWidget()
|
||||
{
|
||||
QTemporaryDir directory;
|
||||
QVERIFY(directory.isValid());
|
||||
qputenv("XDG_CONFIG_HOME", directory.path().toUtf8());
|
||||
Settings settings;
|
||||
auto values = settings.values();
|
||||
QCOMPARE(values.value(QStringLiteral("spacerLength")).toInt(), 48);
|
||||
QCOMPARE(values.value(QStringLiteral("tasksAction")).toString(), QStringLiteral("volume"));
|
||||
values[QStringLiteral("tasksAction")] = QStringLiteral("normal");
|
||||
values[QStringLiteral("spacerLength")] = 128;
|
||||
QVERIFY(settings.save(values));
|
||||
Settings reopened;
|
||||
QCOMPARE(reopened.values(), values);
|
||||
auto invalid = values;
|
||||
invalid[QStringLiteral("tasksAction")] = QStringLiteral("invalid");
|
||||
QVERIFY(!settings.save(invalid));
|
||||
QCOMPARE(settings.values(), values);
|
||||
auto launch = values;
|
||||
launch[QStringLiteral("leftDoubleClick")] = QStringLiteral("command");
|
||||
QVERIFY(!settings.save(launch)); // empty command cannot be enabled
|
||||
launch[QStringLiteral("leftDoubleClickCommand")] = QStringLiteral("true");
|
||||
QVERIFY(settings.save(launch));
|
||||
QCOMPARE(settings.values(), launch);
|
||||
launch[QStringLiteral("middleDoubleClick")] = QStringLiteral("application");
|
||||
QVERIFY(!settings.save(launch));
|
||||
launch[QStringLiteral("middleDoubleClickApplication")] = QStringLiteral("org.kde.plasma-systemmonitor.desktop");
|
||||
QVERIFY(settings.save(launch));
|
||||
QCOMPARE(settings.values(), launch);
|
||||
invalid = values;
|
||||
invalid[QStringLiteral("spacerLength")] = -1;
|
||||
QVERIFY(!settings.save(invalid));
|
||||
QCOMPARE(settings.values(), launch);
|
||||
}
|
||||
};
|
||||
QTEST_GUILESS_MAIN(SettingsTest)
|
||||
#include "test-settings.moc"
|
||||
Reference in New Issue
Block a user