mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-04-20 13:00:51 -07:00
* test/lisp/abbrev-tests.el (read-write-abbrev-file-test) (read-write-abbrev-file-test-with-props) (abbrev-edit-save-to-file-test): * test/lisp/auth-source-tests.el (auth-source-test-netrc-create-secret) (auth-source-delete): * test/lisp/autoinsert-tests.el (autoinsert-tests-auto-insert-file): * test/lisp/bookmark-tests.el (with-bookmark-test-save-load): * test/lisp/buff-menu-tests.el (buff-menu-24962): * test/lisp/calendar/icalendar-tests.el (icalendar-tests--do-test-export): * test/lisp/calendar/todo-mode-tests.el (with-todo-test): * test/lisp/dired-tests.el (dired-test-bug27243-01, dired-test-bug27243-02) (dired-test-bug27243-03, dired-test-bug27631) (dired-test-bug27968, dired-test-with-temp-dirs): * test/lisp/dired-x-tests.el (dired-test-bug25942): * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--with-temp-file): * test/lisp/emacs-lisp/check-declare-tests.el (check-declare-tests-scan) (check-declare-tests-verify-mismatch): * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-with-normal-env): * test/lisp/emacs-lisp/package-tests.el (with-package-test) (package-test-signed): * test/lisp/emacs-lisp/testcover-tests.el (testcover-tests-markup-region) (testcover-tests-run-test-case): * test/lisp/emulation/viper-tests.el (viper-test-undo-kmacro): * test/lisp/epg-tests.el (with-epg-tests): * test/lisp/eshell/em-hist-tests.el (eshell-write-readonly-history): * test/lisp/eshell/em-ls-tests.el (em-ls-test-bug27631): * test/lisp/ffap-tests.el (ffap-tests-25243): * test/lisp/files-tests.el (files-tests-bug-18141) (files-tests-read-file-in-~, files-tests-make-directory) (files-tests-copy-directory, files-tests-executable-find) (files-tests-dont-rewrite-precious-files) (files-tests--save-some-buffers): * test/lisp/ls-lisp-tests.el (ls-lisp-test-bug27631): * test/lisp/mail/uudecode-tests.el (uudecode-tests-decode-region-internal) (uudecode-tests-decode-region-external): * test/lisp/net/browse-url-tests.el (browse-url-tests-delete-temp-file): * test/lisp/progmodes/elisp-mode-tests.el (xref--case-insensitive): * test/lisp/progmodes/etags-tests.el (etags-buffer-local-tags-table-list): * test/lisp/progmodes/flymake-tests.el (ruby-backend): * test/lisp/progmodes/python-tests.el (python-tests-with-temp-file): * test/lisp/progmodes/sql-tests.el (with-sql-test-connect-harness): * test/lisp/saveplace-tests.el (saveplace-test-save-place-to-alist/file) (saveplace-test-forget-unreadable-files) (saveplace-test-place-alist-to-file): * test/lisp/so-long-tests/spelling-tests.el: * test/lisp/textmodes/reftex-tests.el (reftex-locate-bibliography-files) (reftex-parse-from-file-test): * test/lisp/thumbs-tests.el (thumbs-tests-thumbsdir/create-if-missing): * test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-bug9726) (vc-bzr-test-bug9781, vc-bzr-test-faulty-bzr-autoloads): * test/lisp/vc/diff-mode-tests.el (diff-mode-test-ignore-trailing-dashes): * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084): * test/lisp/wdired-tests.el (wdired-test-bug32173-01) (wdired-test-bug32173-02, wdired-test-symlink-name) (wdired-test-unfinished-edit-01, wdired-test-bug34915) (wdired-test-bug39280): * test/src/buffer-tests.el (test-kill-buffer-auto-save-default): * test/src/filelock-tests.el (filelock-tests--fixture): * test/src/inotify-tests.el (inotify-file-watch-simple): * test/src/undo-tests.el (undo-test-file-modified): Prefer 'ert-with-temp-(directory|file)' to using 'make-temp-file' directly. In some cases, this is just cleanup, but in several cases this fixes bugs where an error would have lead to us not cleaning up.
111 lines
4.2 KiB
EmacsLisp
111 lines
4.2 KiB
EmacsLisp
;;; em-ls-tests.el --- em-ls test suite -*- lexical-binding:t -*-
|
|
|
|
;; Copyright (C) 2017-2021 Free Software Foundation, Inc.
|
|
|
|
;; Author: Tino Calancha <tino.calancha@gmail.com>
|
|
|
|
;; This file is part of GNU Emacs.
|
|
|
|
;; GNU Emacs is free software: you can redistribute it and/or modify
|
|
;; it under the terms of the GNU General Public License as published by
|
|
;; the Free Software Foundation, either version 3 of the License, or
|
|
;; (at your option) any later version.
|
|
|
|
;; GNU Emacs is distributed in the hope that it will be useful,
|
|
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
;; GNU General Public License for more details.
|
|
|
|
;; You should have received a copy of the GNU General Public License
|
|
;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
;;; Commentary:
|
|
|
|
|
|
;;; Code:
|
|
|
|
(require 'ert)
|
|
(require 'ert-x)
|
|
(require 'em-ls)
|
|
(require 'dired)
|
|
|
|
(ert-deftest em-ls-test-bug27631 ()
|
|
"Test for https://debbugs.gnu.org/27631 ."
|
|
(ert-with-temp-directory dir
|
|
(let* ((dir1 (expand-file-name "dir1" dir))
|
|
(dir2 (expand-file-name "dir2" dir))
|
|
(default-directory dir)
|
|
(orig eshell-ls-use-in-dired)
|
|
buf)
|
|
(unwind-protect
|
|
(progn
|
|
(customize-set-value 'eshell-ls-use-in-dired t)
|
|
(make-directory dir1)
|
|
(make-directory dir2)
|
|
(with-temp-file (expand-file-name "a.txt" dir1))
|
|
(with-temp-file (expand-file-name "b.txt" dir2))
|
|
(setq buf (dired (expand-file-name "dir*/*.txt" dir)))
|
|
(dired-toggle-marks)
|
|
(should (cdr (dired-get-marked-files))))
|
|
(customize-set-variable 'eshell-ls-use-in-dired orig)
|
|
(when (buffer-live-p buf) (kill-buffer buf))))))
|
|
|
|
(ert-deftest em-ls-test-bug27817 ()
|
|
"Test for https://debbugs.gnu.org/27817 ."
|
|
(let ((orig eshell-ls-use-in-dired)
|
|
(dired-use-ls-dired 'unspecified)
|
|
buf insert-directory-program)
|
|
(unwind-protect
|
|
(progn
|
|
(customize-set-variable 'eshell-ls-use-in-dired t)
|
|
(should (setq buf (dired source-directory))))
|
|
(customize-set-variable 'eshell-ls-use-in-dired orig)
|
|
(and (buffer-live-p buf) (kill-buffer)))))
|
|
|
|
(ert-deftest em-ls-test-bug27843 ()
|
|
"Test for https://debbugs.gnu.org/27843 ."
|
|
(let ((orig eshell-ls-use-in-dired)
|
|
(dired-use-ls-dired 'unspecified)
|
|
buf insert-directory-program)
|
|
(unwind-protect
|
|
(progn
|
|
(customize-set-variable 'eshell-ls-use-in-dired t)
|
|
(setq buf (dired (list source-directory "lisp")))
|
|
(dired-toggle-marks)
|
|
(should-not (cdr (dired-get-marked-files))))
|
|
(customize-set-variable 'eshell-ls-use-in-dired orig)
|
|
(and (buffer-live-p buf) (kill-buffer)))))
|
|
|
|
(ert-deftest em-ls-test-bug27844 ()
|
|
"Test for https://debbugs.gnu.org/27844 ."
|
|
;; FIXME: it would be better to use something other than source-directory
|
|
;; in this test.
|
|
(skip-unless (and source-directory
|
|
(file-exists-p
|
|
(expand-file-name "lisp/subr.el" source-directory))))
|
|
(let ((orig eshell-ls-use-in-dired)
|
|
(dired-use-ls-dired 'unspecified)
|
|
buf insert-directory-program)
|
|
(unwind-protect
|
|
(progn
|
|
(customize-set-variable 'eshell-ls-use-in-dired t)
|
|
(setq buf (dired (expand-file-name "lisp/*.el" source-directory)))
|
|
(dired-toggle-marks)
|
|
(should (cdr (dired-get-marked-files)))
|
|
(kill-buffer buf)
|
|
;; Eshell's default format duplicates the year for non-recent files,
|
|
;; eg "2015-05-06 2015", which doesn't make a lot of sense,
|
|
;; and causes this portion of the test to fail if subr.el
|
|
;; is non-recent (eg if building from a tarfile unpacked
|
|
;; with a fixed early timestamp for reproducibility). Bug#33734.
|
|
(let ((eshell-ls-date-format "%b %e"))
|
|
(setq buf (dired (expand-file-name "lisp/subr.el"
|
|
source-directory))))
|
|
(should (looking-at "subr\\.el")))
|
|
(customize-set-variable 'eshell-ls-use-in-dired orig)
|
|
(and (buffer-live-p buf) (kill-buffer)))))
|
|
|
|
|
|
(provide 'em-ls-test)
|
|
|
|
;;; em-ls-tests.el ends here
|