diff options
author | William Carroll <wpcarro@gmail.com> | 2022-08-02T20·10-0700 |
---|---|---|
committer | clbot <clbot@tvl.fyi> | 2022-08-02T20·31+0000 |
commit | 44f520ccd176ef70f69a4e3bf9656d0198cfc5e8 (patch) | |
tree | 2ac9e36e8bfdf8b389f8173e4a2c88afcbeb0add /users/wpcarro/emacs/pkgs/struct/tests.el | |
parent | 9d475c5b9b037389abed5ab68f15fa34bd67a567 (diff) |
feat(wpcarro/emacs): Support struct-update! r/4370
Support mutable variant of `struct-update`. Also remove the `dash` dependency in `tests.el`. Change-Id: I76fc809e96b7cbbd3b39fd16db339cb62eab002c Reviewed-on: https://cl.tvl.fyi/c/depot/+/6027 Reviewed-by: wpcarro <wpcarro@gmail.com> Autosubmit: wpcarro <wpcarro@gmail.com> Tested-by: BuildkiteCI
Diffstat (limited to '')
-rw-r--r-- | users/wpcarro/emacs/pkgs/struct/tests.el | 42 |
1 files changed, 31 insertions, 11 deletions
diff --git a/users/wpcarro/emacs/pkgs/struct/tests.el b/users/wpcarro/emacs/pkgs/struct/tests.el index ee48c2f6b5d1..a7ddb52c46d6 100644 --- a/users/wpcarro/emacs/pkgs/struct/tests.el +++ b/users/wpcarro/emacs/pkgs/struct/tests.el @@ -3,22 +3,42 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (require 'ert) -(require 'dash) (require 'struct) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Tests ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -(ert-deftest struct-set! () - (cl-defstruct dummy name age) - (defvar struct--test-dummy (make-dummy :name "Roofus" :age 19)) - (struct-set! dummy name "Doofus" struct--test-dummy) - (should (string= "Doofus" (dummy-name struct--test-dummy)))) +(cl-defstruct dummy name age) + +(ert-deftest struct-update () + (let* ((test (make-dummy :name "Roofus" :age 19)) + (result (struct-update dummy name #'upcase test))) + ;; test + (should (string= "Roofus" (dummy-name test))) + (should (= 19 (dummy-age test))) + ;; result + (should (string= "ROOFUS" (dummy-name result))) + (should (= 19 (dummy-age result))))) + +(ert-deftest struct-update! () + (let ((test (make-dummy :name "Roofus" :age 19))) + (struct-update! dummy name #'upcase test) + (should (string= "ROOFUS" (dummy-name test))) + (should (= 19 (dummy-age test))))) (ert-deftest struct-set () - (cl-defstruct dummy name age) - (defvar struct--test-dummy (make-dummy :name "Roofus" :age 19)) - (let ((result (struct-set dummy name "Shoofus" struct--test-dummy))) - (should (string= "Roofus" (dummy-name struct--test-dummy))) - (should (string= "Shoofus" (dummy-name result))))) + (let* ((test (make-dummy :name "Roofus" :age 19)) + (result (struct-set dummy name "Shoofus" test))) + ;; test + (should (string= "Roofus" (dummy-name test))) + (should (= 19 (dummy-age test))) + ;; result + (should (string= "Shoofus" (dummy-name result))) + (should (= 19 (dummy-age result))))) + +(ert-deftest struct-set! () + (let ((test (make-dummy :name "Roofus" :age 19))) + (struct-set! dummy name "Doofus" test) + (should (string= "Doofus" (dummy-name test))) + (should (= 19 (dummy-age test))))) |