branch: externals/compat
commit 32c0bdb18bbe3870cf996d29810bf547a2838630
Author: Daniel Mendler <m...@daniel-mendler.de>
Commit: Daniel Mendler <m...@daniel-mendler.de>

    compat-29: Add test for function-alias-p
---
 compat-29.el    |  2 +-
 compat-tests.el | 16 ++++++++++++++++
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/compat-29.el b/compat-29.el
index 6a2e10c425..300a20dc96 100644
--- a/compat-29.el
+++ b/compat-29.el
@@ -170,7 +170,7 @@ Unibyte strings are converted to multibyte for comparison."
 
 (compat-defalias string-split split-string) ;; <OK>
 
-(compat-defun function-alias-p (func &optional noerror) ;; <UNTESTED>
+(compat-defun function-alias-p (func &optional noerror) ;; <OK>
   "Return nil if FUNC is not a function alias.
 If FUNC is a function alias, return the function alias chain.
 
diff --git a/compat-tests.el b/compat-tests.el
index 43b6bfce42..1712d28979 100644
--- a/compat-tests.el
+++ b/compat-tests.el
@@ -253,6 +253,22 @@
   (function-put #'compat-tests--function-put 'compat-test 42)
   (should-equal 42 (function-get #'compat-tests--function-put 'compat-test)))
 
+(ert-deftest function-alias-p ()
+  (defun compat-tests--alias-fun ())
+  (should-not (function-alias-p 1))
+  (should-not (function-alias-p 'compat-tests--alias-fun))
+  (defalias 'compat-tests--alias-a 'compat-tests--alias-b)
+  (defalias 'compat-tests--alias-b 'compat-tests--alias-c)
+  (should-equal (function-alias-p 'compat-tests--alias-a)
+                '(compat-tests--alias-b compat-tests--alias-c))
+  (defalias 'compat-tests--alias-d 'compat-tests--alias-e)
+  (defalias 'compat-tests--alias-e 'compat-tests--alias-d)
+  (should-error (function-alias-p 'compat-tests--alias-d))
+  (should-equal (function-alias-p 'compat-tests--alias-d 'noerror)
+                '(compat-tests--alias-e))
+  (should-equal (function-alias-p 'compat-tests--alias-d t)
+                '(compat-tests--alias-e)))
+
 (ert-deftest ignore-error ()
   (should-equal (ignore-error (end-of-file)
                   (read ""))

Reply via email to