diff options
Diffstat (limited to 'test/lisp/subr-tests.el')
-rw-r--r-- | test/lisp/subr-tests.el | 67 |
1 files changed, 64 insertions, 3 deletions
diff --git a/test/lisp/subr-tests.el b/test/lisp/subr-tests.el index fc5a1eba6d8..21b8a27858e 100644 --- a/test/lisp/subr-tests.el +++ b/test/lisp/subr-tests.el @@ -78,10 +78,14 @@ (ert-deftest subr-test-define-prefix-command () (define-prefix-command 'foo-prefix-map) + (defvar foo-prefix-map) + (declare-function foo-prefix-map "subr-tests") (should (keymapp foo-prefix-map)) (should (fboundp #'foo-prefix-map)) ;; With optional argument. (define-prefix-command 'bar-prefix 'bar-prefix-map) + (defvar bar-prefix-map) + (declare-function bar-prefix "subr-tests") (should (keymapp bar-prefix-map)) (should (fboundp #'bar-prefix)) ;; Returns the symbol. @@ -378,7 +382,7 @@ cf. Bug#25477." "Test for https://debbugs.gnu.org/22027 ." (let ((default "foo") res) (cl-letf (((symbol-function 'read-string) - (lambda (_prompt _init _hist def) def))) + (lambda (_prompt &optional _init _hist def _inher-input) def))) (setq res (read-passwd "pass: " 'confirm (mapconcat #'string default ""))) (should (string= default res))))) @@ -473,7 +477,7 @@ See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=19350." (add-hook 'subr-tests--hook 'f7 90) (add-hook 'subr-tests--hook 'f8 t) (should (equal subr-tests--hook '(f5 f6 f2 f1 f4 f3 f7 f8))) - ;; Make sue `nil' is equivalent to 0. + ;; Make sure `nil' is equivalent to 0. (add-hook 'subr-tests--hook 'f9 0) (add-hook 'subr-tests--hook 'f10) (should (equal subr-tests--hook '(f5 f10 f9 f6 f2 f1 f4 f3 f7 f8))) @@ -531,7 +535,8 @@ See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=19350." (should (equal (string-replace "a" "aa" "aaa") "aaaaaa")) (should (equal (string-replace "abc" "defg" "abc") "defg")) - (should-error (string-replace "" "x" "abc"))) + (should (equal (should-error (string-replace "" "x" "abc")) + '(wrong-length-argument 0)))) (ert-deftest subr-replace-regexp-in-string () (should (equal (replace-regexp-in-string "a+" "xy" "abaabbabaaba") @@ -679,5 +684,61 @@ See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=19350." (should (>= (length (apropos-internal "^help" #'commandp)) 15)) (should-not (apropos-internal "^next-line$" #'keymapp))) + +(ert-deftest test-buffer-local-boundp () + (let ((buf (generate-new-buffer "boundp"))) + (with-current-buffer buf + (setq-local test-boundp t)) + (setq test-global-boundp t) + (should (buffer-local-boundp 'test-boundp buf)) + (should-not (buffer-local-boundp 'test-not-boundp buf)) + (should (buffer-local-boundp 'test-global-boundp buf)))) + +(ert-deftest test-replace-string-in-region () + (with-temp-buffer + (insert "foo bar zot foobar") + (should (= (replace-string-in-region "foo" "new" (point-min) (point-max)) + 2)) + (should (equal (buffer-string) "new bar zot newbar"))) + + (with-temp-buffer + (insert "foo bar zot foobar") + (should (= (replace-string-in-region "foo" "new" (point-min) 14) + 1)) + (should (equal (buffer-string) "new bar zot foobar"))) + + (with-temp-buffer + (insert "foo bar zot foobar") + (should-error (replace-string-in-region "foo" "new" (point-min) 30))) + + (with-temp-buffer + (insert "Foo bar zot foobar") + (should (= (replace-string-in-region "Foo" "new" (point-min)) + 1)) + (should (equal (buffer-string) "new bar zot foobar")))) + +(ert-deftest test-replace-regexp-in-region () + (with-temp-buffer + (insert "foo bar zot foobar") + (should (= (replace-regexp-in-region "fo+" "new" (point-min) (point-max)) + 2)) + (should (equal (buffer-string) "new bar zot newbar"))) + + (with-temp-buffer + (insert "foo bar zot foobar") + (should (= (replace-regexp-in-region "fo+" "new" (point-min) 14) + 1)) + (should (equal (buffer-string) "new bar zot foobar"))) + + (with-temp-buffer + (insert "foo bar zot foobar") + (should-error (replace-regexp-in-region "fo+" "new" (point-min) 30))) + + (with-temp-buffer + (insert "Foo bar zot foobar") + (should (= (replace-regexp-in-region "Fo+" "new" (point-min)) + 1)) + (should (equal (buffer-string) "new bar zot foobar")))) + (provide 'subr-tests) ;;; subr-tests.el ends here |