aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/lisp/subr-tests.el33
1 files changed, 30 insertions, 3 deletions
diff --git a/test/lisp/subr-tests.el b/test/lisp/subr-tests.el
index c458eef2f93..06db8f5c902 100644
--- a/test/lisp/subr-tests.el
+++ b/test/lisp/subr-tests.el
@@ -61,6 +61,9 @@
61 (quote 61 (quote
62 (0 font-lock-keyword-face)))))))) 62 (0 font-lock-keyword-face))))))))
63 63
64(defalias 'subr-tests--parent-mode
65 (if (fboundp 'prog-mode) 'prog-mode 'fundamental-mode))
66
64(ert-deftest provided-mode-derived-p () 67(ert-deftest provided-mode-derived-p ()
65 ;; base case: `derived-mode' directly derives `prog-mode' 68 ;; base case: `derived-mode' directly derives `prog-mode'
66 (should (progn 69 (should (progn
@@ -68,9 +71,7 @@
68 (provided-mode-derived-p 'derived-mode 'prog-mode))) 71 (provided-mode-derived-p 'derived-mode 'prog-mode)))
69 ;; edge case: `derived-mode' derives an alias of `prog-mode' 72 ;; edge case: `derived-mode' derives an alias of `prog-mode'
70 (should (progn 73 (should (progn
71 (defalias 'parent-mode 74 (define-derived-mode derived-mode subr-tests--parent-mode "test")
72 (if (fboundp 'prog-mode) 'prog-mode 'fundamental-mode))
73 (define-derived-mode derived-mode parent-mode "test")
74 (provided-mode-derived-p 'derived-mode 'prog-mode)))) 75 (provided-mode-derived-p 'derived-mode 'prog-mode))))
75 76
76(ert-deftest number-sequence-test () 77(ert-deftest number-sequence-test ()
@@ -373,5 +374,31 @@ See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=19350."
373 (should (equal (flatten-tree '(1 ("foo" "bar") 2)) 374 (should (equal (flatten-tree '(1 ("foo" "bar") 2))
374 '(1 "foo" "bar" 2)))) 375 '(1 "foo" "bar" 2))))
375 376
377(defvar subr-tests--hook nil)
378
379(ert-deftest subr-tests-add-hook-depth ()
380 "Test the `depth' arg of `add-hook'."
381 (setq-default subr-tests--hook nil)
382 (add-hook 'subr-tests--hook 'f1)
383 (add-hook 'subr-tests--hook 'f2)
384 (should (equal subr-tests--hook '(f2 f1)))
385 (add-hook 'subr-tests--hook 'f3 t)
386 (should (equal subr-tests--hook '(f2 f1 f3)))
387 (add-hook 'subr-tests--hook 'f4 50)
388 (should (equal subr-tests--hook '(f2 f1 f4 f3)))
389 (add-hook 'subr-tests--hook 'f5 -50)
390 (should (equal subr-tests--hook '(f5 f2 f1 f4 f3)))
391 (add-hook 'subr-tests--hook 'f6)
392 (should (equal subr-tests--hook '(f5 f6 f2 f1 f4 f3)))
393 ;; Make sure `t' is equivalent to 90.
394 (add-hook 'subr-tests--hook 'f7 90)
395 (add-hook 'subr-tests--hook 'f8 t)
396 (should (equal subr-tests--hook '(f5 f6 f2 f1 f4 f3 f7 f8)))
397 ;; Make sue `nil' is equivalent to 0.
398 (add-hook 'subr-tests--hook 'f9 0)
399 (add-hook 'subr-tests--hook 'f10)
400 (should (equal subr-tests--hook '(f5 f10 f9 f6 f2 f1 f4 f3 f7 f8)))
401 )
402
376(provide 'subr-tests) 403(provide 'subr-tests)
377;;; subr-tests.el ends here 404;;; subr-tests.el ends here