feat(wpcarro/emacs): Support default value for al-get
Similar to Elixir's `Map.get/3`. Change-Id: I736f7e618aafc786a32eeba46ca635cb27db18b6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6000 Reviewed-by: wpcarro <wpcarro@gmail.com> Autosubmit: wpcarro <wpcarro@gmail.com> Tested-by: BuildkiteCI
This commit is contained in:
parent
230c4bbb3e
commit
6b3f4113cc
2 changed files with 18 additions and 3 deletions
|
|
@ -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")))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue