summaryrefslogtreecommitdiff
path: root/test/lisp/ibuffer-tests.el
diff options
context:
space:
mode:
Diffstat (limited to 'test/lisp/ibuffer-tests.el')
-rw-r--r--test/lisp/ibuffer-tests.el29
1 files changed, 29 insertions, 0 deletions
diff --git a/test/lisp/ibuffer-tests.el b/test/lisp/ibuffer-tests.el
index 3a4def3a2b0..6d5187a2b77 100644
--- a/test/lisp/ibuffer-tests.el
+++ b/test/lisp/ibuffer-tests.el
@@ -66,5 +66,34 @@
(mapc (lambda (buf) (when (buffer-live-p buf)
(kill-buffer buf))) (list buf1 buf2)))))
+(ert-deftest ibuffer-save-filters ()
+ "Tests that `ibuffer-save-filters' saves in the proper format."
+ (skip-unless (featurep 'ibuf-ext))
+ (let ((ibuffer-save-with-custom nil)
+ (ibuffer-saved-filters nil)
+ (test1 '((mode . org-mode)
+ (or (size-gt . 10000)
+ (and (not (starred-name))
+ (directory . "\<org\>")))))
+ (test2 '((or (mode . emacs-lisp-mode) (file-extension . "elc?")
+ (and (starred-name) (name . "elisp"))
+ (mode . lisp-interaction-mode))))
+ (test3 '((size-lt . 100) (derived-mode . prog-mode)
+ (or (filename . "scratch")
+ (filename . "bonz")
+ (filename . "temp")))))
+ (ibuffer-save-filters "test1" test1)
+ (should (equal (car ibuffer-saved-filters) (cons "test1" test1)))
+ (ibuffer-save-filters "test2" test2)
+ (should (equal (car ibuffer-saved-filters) (cons "test2" test2)))
+ (should (equal (cadr ibuffer-saved-filters) (cons "test1" test1)))
+ (ibuffer-save-filters "test3" test3)
+ (should (equal (car ibuffer-saved-filters) (cons "test3" test3)))
+ (should (equal (cadr ibuffer-saved-filters) (cons "test2" test2)))
+ (should (equal (car (cddr ibuffer-saved-filters)) (cons "test1" test1)))
+ (should (equal (cdr (assoc "test1" ibuffer-saved-filters)) test1))
+ (should (equal (cdr (assoc "test2" ibuffer-saved-filters)) test2))
+ (should (equal (cdr (assoc "test3" ibuffer-saved-filters)) test3))))
+
(provide 'ibuffer-tests)
;; ibuffer-tests.el ends here