[pim/libksieve] src/ksievecore/managescriptsjob: fix canStart() when newname == oldname
Laurent Montel <[email protected]>
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
Git commit 5cba568bf53867acae267b8f648433c17a54ac24 by Laurent Montel.
Committed on 14/08/2026 at 17:43.
Pushed by mlaurent into branch 'master'.
fix canStart() when newname == oldname
M +4 -1 src/ksievecore/managescriptsjob/autotests/renamescriptjobtest.cpp
M +2 -2 src/ksievecore/managescriptsjob/renamescriptjob.cpp
https://invent.kde.org/pim/libksieve/-/commit/5cba568bf53867acae267b8f648433c17a54ac24
diff --git a/src/ksievecore/managescriptsjob/autotests/renamescriptjobtest.cpp b/src/ksievecore/managescriptsjob/autotests/renamescriptjobtest.cpp
index bfd2c3f6..d5749366 100644
--- a/src/ksievecore/managescriptsjob/autotests/renamescriptjobtest.cpp
+++ b/src/ksievecore/managescriptsjob/autotests/renamescriptjobtest.cpp
@@ -19,7 +19,7 @@ RenameScriptJobTest::~RenameScriptJobTest() = default;
void RenameScriptJobTest::canNotStartByDefault()
{
- KSieveCore::RenameScriptJob job;
+ const KSieveCore::RenameScriptJob job;
QVERIFY(!job.canStart());
}
@@ -32,6 +32,9 @@ void RenameScriptJobTest::shouldBeStart_data()
QTest::newRow("hasNewName") << u"foo"_s << QUrl() << false;
QTest::newRow("hasUrl") << QString() << QUrl(u"http://www.kde.org"_s) << false;
QTest::newRow("canStart") << u"foo"_s << QUrl(u"http://www.kde.org"_s) << true;
+
+ QTest::newRow("samefilename") << u"foo1"_s << QUrl(u"http://www.kde.org/foo1"_s) << false;
+
QTest::newRow("cannotStartHasEmptyName") << u" "_s << QUrl(u"http://www.kde.org"_s) << false;
// QTest::newRow("cannotStartHasInvalidUrl") << u"foo"_s << QUrl(u" "_s) << false;
}
diff --git a/src/ksievecore/managescriptsjob/renamescriptjob.cpp b/src/ksievecore/managescriptsjob/renamescriptjob.cpp
index 920e1a4c..6d3a4c69 100644
--- a/src/ksievecore/managescriptsjob/renamescriptjob.cpp
+++ b/src/ksievecore/managescriptsjob/renamescriptjob.cpp
@@ -44,7 +44,7 @@ void RenameScriptJob::setNewName(const QString &newName)
bool RenameScriptJob::canStart() const
{
- return !d->mNewName.trimmed().isEmpty() && d->mOldUrl.isValid();
+ return !d->mNewName.trimmed().isEmpty() && d->mOldUrl.isValid() && (d->mNewName.trimmed() != d->mOldUrl.fileName());
}
void RenameScriptJob::start()
@@ -67,7 +67,7 @@ void RenameScriptJob::slotGetResult([[maybe_unused]] KManageSieve::SieveJob *job
}
QUrl u = d->mOldUrl;
u = u.adjusted(QUrl::RemoveFilename);
- u.setPath(u.path() + d->mNewName);
+ u.setPath(u.path() + d->mNewName.trimmed());
d->mNewUrl = u;
KManageSieve::SieveJob *putJob = KManageSieve::SieveJob::put(d->mNewUrl, script, d->mIsActive, d->mIsActive);
connect(putJob, &KManageSieve::SieveJob::result, this, &RenameScriptJob::slotPutScript);