aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_syncmonitor.cpp
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-08-18 12:12:36 +0200
committerDanilo M. <danix@danix.xyz>2026-08-18 12:12:36 +0200
commita089820aba3bc51884ad880b9e3cf689eda7361d (patch)
tree1caa6c674b8d56f23da90ca5907375141b70ae7f /tests/test_syncmonitor.cpp
parent262174407eabcb986f15c116d39b7ab98fdf0150 (diff)
downloadqtmaildir-a089820aba3bc51884ad880b9e3cf689eda7361d.tar.gz
qtmaildir-a089820aba3bc51884ad880b9e3cf689eda7361d.zip
fix(tags): let a tag be removed even when its name breaks the rules
validateTagName() ran on the removal list as well as the addition list, so a tag whose name contains a space could be seen on a message and never deleted: the one dialog that could clear it refused the only text that names it, and it did so with a modal warning, so the dialog would not even close. Whether a tag SHOULD exist is a separate question from whether the user may delete one that already does, and the answer to the second is always yes. Validation now runs on additions only, which is where the rule earns its keep: it stops a troublesome name being created. Reached by a real Maildir folder named "Inbox/SlackBuilds users", whose origin tag carried the space through. Only the TYPED route was ever blocked; unchecking the tag in the list appends to the removal list after validation has run and worked throughout. The test asserts both routes for that reason, and asserts that ADDING a spaced tag is still refused, since the fix must not weaken the rule it narrows. The natural mutation for this test hangs rather than fails: restoring the validation raises a modal warning with nothing to dismiss it. The test avoids calling accept() on the add-rejection case and asks the validator directly, and the mutation check drops the tag silently instead. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'tests/test_syncmonitor.cpp')
0 files changed, 0 insertions, 0 deletions