summaryrefslogtreecommitdiff
path: root/test/lisp/dnd-tests.el
Commit message (Collapse)AuthorAgeFilesLines
* Render default DND file name handlers more precisePo Lu2023-10-281-1/+63
| | | | | | | | | | | | | | | | | * lisp/dnd.el (dnd-protocol-alist): Redefine file name handlers to match solely the local or remote URIs they understand. (dnd-handle-multiple-urls): Prevent calling the same handler multiple times for a single URI. * lisp/gnus/mml.el (mml-dnd-protocol-alist): Apply an anologous adjustment here. Delete now redundant redefinition of dnd-open-file. (mml-dnd-attach-file): Inquire whether to apply the default disposition and such only once even if more than one file is dropped. * test/lisp/dnd-tests.el (dnd-tests-receive-multiple-urls) (dnd-tests-default-file-name-handlers): New tests.
* Enable DND handlers to receive more than one URI at a timePo Lu2023-10-261-0/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/frames.texi (Drag and Drop): Illustrate the effect of the dnd-multiple-handler property and how convergent handlers are reconciled. * etc/NEWS (Lisp Changes in Emacs 30.1): Announce this change. * lisp/dnd.el (dnd-protocol-alist): Bring doc string up to date. (dnd-handle-one-url): Obsolete this function. (dnd-handle-multiple-urls): New function. * lisp/pgtk-dnd.el (pgtk-dnd-handle-uri-list) (pgtk-dnd-handle-file-name): * lisp/term/android-win.el (android-handle-dnd-event): * lisp/term/haiku-win.el (haiku-drag-and-drop): * lisp/term/ns-win.el (ns-drag-n-drop): * lisp/term/w32-win.el (w32-handle-dropped-file): * lisp/x-dnd.el (x-dnd-handle-uri-list, x-dnd-handle-file-name): Reimplement in terms of `dnd-handle-multiple-uris'. * lisp/term/pgtk-win.el (pgtk-drag-n-drop) (pgtk-drag-n-drop-other-frame, pgtk-drag-n-drop-as-text): Efface detritus that remained after the removal of the old PGTK drag and drop implementation. * test/lisp/dnd-tests.el (ert-x, dnd-tests-list-1) (dnd-tests-list-2, dnd-tests-list-3, dnd-tests-list-4) (dnd-tests-local-file-function, dnd-tests-remote-file-function) (dnd-tests-http-scheme-function, dnd-tests-browse-url-handler) (dnd-tests-receive-multiple-urls): New tests.
* * test/lisp/dnd-tests.el (dnd-tests-begin-text-drag): Fix typo.Mattias EngdegÄrd2023-05-301-1/+1
|
* ; Add 2023 to copyright years.Eli Zaretskii2023-01-011-1/+1
|
* ; Prefer HTTPS to HTTP in many URLsStefan Kangas2022-10-151-1/+1
|
* Fix more misleading cl-case quoting in testsBasil L. Contovounesios2022-09-141-5/+5
| | | | | | | * test/lisp/dnd-tests.el (x-begin-drag): * test/lisp/so-long-tests/so-long-tests-helpers.el (so-long-tests-assert-active, so-long-tests-assert-reverted): Remove misleading quoting in cl-case clauses (bug#51368).
* Fix Tramp test environment on hydra.nixos.orgMichael Albinus2022-07-101-6/+0
| | | | | | | | | | | * lisp/emacs-lisp/ert-x.el (tramp-remote-path): Declare. Adapt `tramp-remote-path' on hydra. (Bug#56424) * test/lisp/dnd-tests.el (dnd-tests-begin-drag-files): Remove instrumentation. * test/lisp/filenotify-tests.el: * test/lisp/shadowfile-tests.el: * test/lisp/net/tramp-tests.el: Do not adapt `tramp-remote-path'.
* ; * test/lisp/dnd-tests.el (dnd-tests-begin-drag-files): Instrument.Michael Albinus2022-07-101-0/+6
|
* Add interactive XDS testPo Lu2022-07-021-0/+26
| | | | * test/lisp/dnd-tests.el (dnd-tests-direct-save): New test.
* Update dnd-tests.el to make sure remote files are removed when Emacs quitsPo Lu2022-06-291-0/+21
| | | | | * test/lisp/dnd-tests.el (dnd-tests-begin-drag-files) (dnd-tests-begin-file-drag): Test value of `kill-emacs-hook'.
* Fix reported problem with drag-and-drop inside VirtualBoxPo Lu2022-06-291-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/x-dnd.el (x-dnd-handle-old-kde, x-dnd-handle-offix) (x-dnd-handle-motif): Select window before handling drop, like on Xdnd. (x-dnd-convert-to-offix, x-dnd-do-offix-drop) (x-dnd-handle-unsupported-drop): Accept local selection data and use that instead. * src/keyboard.c (kbd_buffer_get_event): Call unsupported drop function with local selection data as 8th arg. * src/xselect.c (x_get_local_selection): Accept new arg `local_value'. All callers changed. (Fx_get_local_selection): New function. (syms_of_xselect): Update defsubrs. * src/xterm.c (x_dnd_lose_ownership): New function. (x_dnd_begin_drag_and_drop): Unless new variable is true, disown XdndSelection after returning. This supposedly makes drag-and-drop from guest to host work in VirtualBox without causing pointer motion to become choppy afterwards. (syms_of_xterm): New variable `x_dnd_preserve_selection_data' and update doc string of `x-dnd-unsupported-drop-function'. * test/lisp/dnd-tests.el (dnd-tests-begin-text-drag) (dnd-tests-begin-file-drag, dnd-tests-begin-drag-files): Set new variable to nil during tests.
* Fix dnd-tests-open-remote-url on EMBAMichael Albinus2022-06-221-0/+2
| | | | | * test/lisp/dnd-tests.el (dnd-tests-open-remote-url): Check for ftp client.
* Add test for bug#56078 fixPo Lu2022-06-211-0/+13
| | | | * test/lisp/dnd-tests.el (dnd-tests-open-remote-url): New test.
* Fix encoding of multibyte ToolTalk filenamesPo Lu2022-06-121-1/+18
| | | | | | | | * lisp/select.el (xselect-convert-to-dt-netfile): Encode file name before computing its tooltalk name, since the indices work on bytes. * test/lisp/dnd-tests.el (dnd-tests-begin-file-drag): Add test.
* Fix dnd-tests on builds without XPo Lu2022-06-091-0/+2
| | | | | * test/lisp/dnd-tests.el (x-get-selection-internal): New function declaration.
* Allow running some DND tests interactivelyPo Lu2022-06-081-53/+87
| | | | | | | | | | | | | | | * src/xselect.c (x_get_local_selection): Respect new variable. (syms_of_xselect): New variable `x-treat-local-requests-remotely'. * test/lisp/dnd-tests.el (x-begin-drag, gui-set-selection): Don't redefine these functions under X. (dnd-tests-verify-selection-data): Use `x-get-selection-internal' under X. (dnd-tests-extract-selection-data): New function. (dnd-tests-begin-text-drag): Update accordingly. (dnd-tests-begin-file-drag, dnd-tests-begin-drag-files): Temporarily skip these tests under X.
* Factor out test configuration for remote filesMichael Albinus2022-06-081-28/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/ert-x.el (tramp-methods) (tramp-default-host-alist): Declare. (ert-remote-temporary-file-directory): New defconst. * test/README: Mention dnd-tests.el. * test/lisp/autorevert-tests.el (auto-revert-test-remote-temporary-file-directory): Remove. Replace all uses by `ert-remote-temporary-file-directory'. * test/lisp/dnd-tests.el (ert-x): Require. (dnd-tests-temporary-file-directory): Remove. Replace all uses by `ert-remote-temporary-file-directory'. * test/lisp/filenotify-tests.el (file-notify-test-remote-temporary-file-directory): Remove. Replace all uses by `ert-remote-temporary-file-directory'. * test/lisp/shadowfile-tests.el (ert-x): Require. (shadow-test-remote-temporary-file-directory): Remove. Replace all uses by `ert-remote-temporary-file-directory'. * test/lisp/net/tramp-tests.el: Don't require ert. (ert-remote-temporary-file-directory): Define if it doesn't exist. (tramp-test-temporary-file-directory): Remove. Replace all uses by `ert-remote-temporary-file-directory'.
* Improve drag-and-drop testsPo Lu2022-06-081-2/+92
| | | | | | | | | | | | | * lisp/dnd.el (dnd-begin-file-drag, dnd-begin-drag-files): Fix type of `x-xdnd-username'. * lisp/select.el (selection-converter-alist): Fix declaration of _DT_NETFILE converter. * test/lisp/dnd-tests.el (dnd-tests-verify-selection-data): Handle "compound" selection converters. (dnd-tests-parse-tt-netfile): New function. (dnd-tests-begin-file-drag, dnd-tests-begin-drag-files): Verify validity of file selection data.
* Add selection stuff to DND testsPo Lu2022-06-071-6/+54
| | | | | | | | | | * test/lisp/dnd-tests.el (dnd-tests-selection-table): New defvar. (gui-set-selection): Actually implement in a way that validates the local value and stores it for future use. (dnd-tests-verify-selection-data): New function. (dnd-tests-begin-text-drag): Add tests for the contents of various selections.
* Add new drag-and-drop testPo Lu2022-06-071-2/+11
| | | | | * test/lisp/dnd-tests.el (dnd-tests-get-local-file-uri): New test.
* Add drag-and-drop API testsPo Lu2022-06-061-0/+198
* test/lisp/dnd-tests.el: New file. (dnd-tests-begin-text-drag): (dnd-tests-begin-file-drag): (dnd-tests-begin-drag-files): New tests.