about summary refs log tree commit diff
path: root/users/wpcarro/emacs/pkgs/al/tests.el
diff options
context:
space:
mode:
Diffstat (limited to 'users/wpcarro/emacs/pkgs/al/tests.el')
-rw-r--r--users/wpcarro/emacs/pkgs/al/tests.el13
1 files changed, 13 insertions, 0 deletions
diff --git a/users/wpcarro/emacs/pkgs/al/tests.el b/users/wpcarro/emacs/pkgs/al/tests.el
index 5146ee6b21a4..6556ddabc359 100644
--- a/users/wpcarro/emacs/pkgs/al/tests.el
+++ b/users/wpcarro/emacs/pkgs/al/tests.el
@@ -14,6 +14,19 @@
    (al-has-key? 'fname '((fname . "William")))
    (not (al-has-key? 'lname '((fname . "William"))))))
 
+(ert-deftest al-get ()
+  (let ((xs (->> (al-new)
+                 (al-set 'fname "John")
+                 (al-set 'employed? nil))))
+    (and
+     (string= "John" (al-get 'fname xs))
+     (string= "Cleese" (al-get 'lname xs "Cleese"))
+     ;; Test that the value of nil is returned even when a default is defined,
+     ;; which could be a subtle bug in the typical Elisp pattern of supporting
+     ;; defaults with: (or foo default).
+     (eq nil (al-get 'employed? xs))
+     (eq nil (al-get 'employed? xs "default")))))
+
 (ert-deftest al-has-value? ()
   (and
    (al-has-value? "William" '((fname . "William")))