From 147ae00df849f04cdb00e09d8079533fa5dea98a Mon Sep 17 00:00:00 2001 Message-ID: <147ae00df849f04cdb00e09d8079533fa5dea98a.1703341788.git.yantar92@posteo.net> From: Ihor Radchenko Date: Sat, 23 Dec 2023 15:29:36 +0100 Subject: [PATCH] Add tests for `let' (bug#66117) * test/src/eval-tests.el (eval-tests/default-value): New test. --- test/src/eval-tests.el | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/test/src/eval-tests.el b/test/src/eval-tests.el index 4589763b2f5..c1219591e40 100644 --- a/test/src/eval-tests.el +++ b/test/src/eval-tests.el @@ -282,4 +282,25 @@ eval-tests-defvaralias (should-error (defvaralias 'eval-tests--my-c 'eval-tests--my-d) :type 'cyclic-variable-indirection)) +(defvar eval-tests/global-var 'value) +(defvar-local eval-tests/buffer-local-var 'value) +(ert-deftest eval-tests/default-value () + ;; `let' overrides the default value for global variables. + (should (default-boundp 'eval-tests/global-var)) + (should (eq 'value (default-value 'eval-tests/global-var))) + (should (eq 'value eval-tests/global-var)) + (let ((eval-tests/global-var 'bar)) + (should (eq 'bar (default-value 'eval-tests/global-var))) + (should (eq 'bar eval-tests/global-var))) + ;; `let' overrides the default value everywhere, but leaves + ;; buffer-local values unchanged in current buffer and in the + ;; buffers where there is no explicitly set buffer-local value. + (should (default-boundp 'eval-tests/buffer-local-var)) + (should (eq 'value (default-value 'eval-tests/buffer-local-var))) + (should (eq 'value eval-tests/buffer-local-var)) + (with-temp-buffer + (let ((eval-tests/buffer-local-var 'bar)) + (should (eq 'bar (default-value 'eval-tests/buffer-local-var))) + (should (eq 'bar eval-tests/buffer-local-var))))) + ;;; eval-tests.el ends here -- 2.42.0