summaryrefslogtreecommitdiff
path: root/test/lisp/wid-edit-tests.el
diff options
context:
space:
mode:
Diffstat (limited to 'test/lisp/wid-edit-tests.el')
-rw-r--r--test/lisp/wid-edit-tests.el42
1 files changed, 42 insertions, 0 deletions
diff --git a/test/lisp/wid-edit-tests.el b/test/lisp/wid-edit-tests.el
index b379c7c91a8..66bff4ad2e3 100644
--- a/test/lisp/wid-edit-tests.el
+++ b/test/lisp/wid-edit-tests.el
@@ -349,4 +349,46 @@ return nil, even with a non-nil bubblep argument."
(should-not (widget-apply widget :match "someundefinedcolorihope"))
(should-not (widget-apply widget :match "#11223"))))
+(ert-deftest widget-test-alist-default-value-1 ()
+ "Test getting the default value for an alist widget with options."
+ (with-temp-buffer
+ (let ((w (widget-create '(alist :key-type string
+ :value-type integer
+ :options (("0" (integer)))))))
+ (should (equal '(("0" . 0)) (widget-default-get w))))))
+
+(ert-deftest widget-test-alist-default-value-2 ()
+ "Test getting the default value for an alist widget without :value."
+ (with-temp-buffer
+ (let ((w (widget-create '(alist :key-type string
+ :value-type integer))))
+ (should-not (widget-default-get w)))))
+
+(ert-deftest widget-test-alist-default-value-3 ()
+ "Test getting the default value for an alist widget with nil :value."
+ (with-temp-buffer
+ (let ((w (widget-create '(alist :key-type string
+ :value-type integer
+ :value nil))))
+ (should-not (widget-default-get w)))))
+
+(ert-deftest widget-test-alist-default-value-4 ()
+ "Test getting the default value for an alist widget with non-nil :value."
+ (with-temp-buffer
+ (let ((w (widget-create '(alist :key-type string
+ :value-type integer
+ :value (("1" . 1) ("2" . 2))))))
+ (should (equal '(("1" . 1) ("2" . 2)) (widget-default-get w))))))
+
+(ert-deftest widget-test-restricted-sexp-empty-val ()
+ "Test that we handle an empty restricted-sexp widget just fine."
+ (with-temp-buffer
+ (let ((w (widget-create '(restricted-sexp
+ :value 3
+ :match-alternatives (integerp)))))
+ (widget-setup)
+ (widget-backward 1)
+ (delete-char 1)
+ (should (string= (widget-value w) "")))))
+
;;; wid-edit-tests.el ends here