diff options
Diffstat (limited to 'test/lisp/wid-edit-tests.el')
-rw-r--r-- | test/lisp/wid-edit-tests.el | 42 |
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 |