Skip to content

gh-151678: Add more tests for tkinter.dnd#152362

Merged
serhiy-storchaka merged 1 commit into
python:mainfrom
serhiy-storchaka:tkinter-dnd-tests
Jun 27, 2026
Merged

gh-151678: Add more tests for tkinter.dnd#152362
serhiy-storchaka merged 1 commit into
python:mainfrom
serhiy-storchaka:tkinter-dnd-tests

Conversation

@serhiy-storchaka

Copy link
Copy Markdown
Member

Extend the tkinter.dnd test suite (added in GH-151780) to cover more of the DndHandler protocol:

  • the drag cursor (saved, shown as hand2 while dragging, restored on finish),
  • the <Motion> and <ButtonRelease> bindings (added on start, removed on finish),
  • switching between targets (dnd_leave on the old target, dnd_enter on the new one),
  • the target search walking up the master chain,
  • dnd_accept() returning None (keep looking up the chain),
  • restarting a drag after the previous one has finished.

A tearDown also clears the recursion guard so a failing test cannot cascade into the next one.

Cover the drag cursor, the Motion and ButtonRelease bindings, switching
between targets, the target search up the master chain, dnd_accept()
returning None, and restarting after a drag has finished.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@bedevere-app bedevere-app Bot added the tests Tests in the Lib/test dir label Jun 27, 2026
@serhiy-storchaka serhiy-storchaka added needs backport to 3.13 bugs and security fixes needs backport to 3.14 bugs and security fixes needs backport to 3.15 pre-release feature fixes, bugs and security fixes skip news labels Jun 27, 2026
@serhiy-storchaka serhiy-storchaka enabled auto-merge (squash) June 27, 2026 07:08
@serhiy-storchaka serhiy-storchaka merged commit 389e00f into python:main Jun 27, 2026
99 of 101 checks passed
@miss-islington-app

Copy link
Copy Markdown

Thanks @serhiy-storchaka for the PR 🌮🎉.. I'm working now to backport this PR to: 3.13, 3.14, 3.15.
🐍🍒⛏🤖

@bedevere-app

bedevere-app Bot commented Jun 27, 2026

Copy link
Copy Markdown

GH-152367 is a backport of this pull request to the 3.15 branch.

@bedevere-app bedevere-app Bot removed the needs backport to 3.15 pre-release feature fixes, bugs and security fixes label Jun 27, 2026
@bedevere-app

bedevere-app Bot commented Jun 27, 2026

Copy link
Copy Markdown

GH-152368 is a backport of this pull request to the 3.14 branch.

@bedevere-app bedevere-app Bot removed the needs backport to 3.14 bugs and security fixes label Jun 27, 2026
@bedevere-app

bedevere-app Bot commented Jun 27, 2026

Copy link
Copy Markdown

GH-152369 is a backport of this pull request to the 3.13 branch.

@bedevere-app bedevere-app Bot removed the needs backport to 3.13 bugs and security fixes label Jun 27, 2026
serhiy-storchaka added a commit that referenced this pull request Jun 27, 2026
Cover the drag cursor, the Motion and ButtonRelease bindings, switching
between targets, the target search up the master chain, dnd_accept()
returning None, and restarting after a drag has finished.
(cherry picked from commit 389e00f)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
serhiy-storchaka added a commit that referenced this pull request Jun 27, 2026
Cover the drag cursor, the Motion and ButtonRelease bindings, switching
between targets, the target search up the master chain, dnd_accept()
returning None, and restarting after a drag has finished.
(cherry picked from commit 389e00f)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
@serhiy-storchaka serhiy-storchaka deleted the tkinter-dnd-tests branch June 27, 2026 07:39
serhiy-storchaka added a commit that referenced this pull request Jun 27, 2026
Cover the drag cursor, the Motion and ButtonRelease bindings, switching
between targets, the target search up the master chain, dnd_accept()
returning None, and restarting after a drag has finished.
(cherry picked from commit 389e00f)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip news tests Tests in the Lib/test dir

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant