summaryrefslogtreecommitdiff
path: root/rust-mode-tests.el
diff options
context:
space:
mode:
authorChris Gregory <czipperz@gmail.com>2023-01-11 07:23:32 -0800
committerJim Blandy <jimb@red-bean.com>2023-01-11 07:26:27 -0800
commit5462444b2d2a80c94d1d871ee01b2906e3a6cdd3 (patch)
treee69b24519e52a170df2b961364f54f1ac75d81da /rust-mode-tests.el
parent26f4582293e0c11aaf5643c5064cd2c98444642c (diff)
downloadrust-mode-5462444b2d2a80c94d1d871ee01b2906e3a6cdd3.tar.gz
Test pub scoped defun recognition
Diffstat (limited to 'rust-mode-tests.el')
-rw-r--r--rust-mode-tests.el38
1 files changed, 38 insertions, 0 deletions
diff --git a/rust-mode-tests.el b/rust-mode-tests.el
index abbfcb6..978941d 100644
--- a/rust-mode-tests.el
+++ b/rust-mode-tests.el
@@ -1094,6 +1094,25 @@ fn test4();")
(beginning-of-defun 2)
(should (eq (point) fn-1)))))
+(ert-deftest rust-beginning-of-defun-pub-scoped ()
+ (let (fn-1-start fn-1-end fn-2-start fn-2-end)
+ (with-temp-buffer
+ (rust-mode)
+ (setq fn-1-start (point))
+ (insert "pub(crate::mod1) fn test2() {}\n")
+ (setq fn-1-end (point))
+ (setq fn-2-start (point))
+ (insert "pub(self) fn test1() {}\n")
+ (setq fn-3-end (point))
+
+ (goto-char (point-max))
+
+ (beginning-of-defun)
+ (should (eq (point) fn-2-start))
+
+ (beginning-of-defun)
+ (should (eq (point) fn-1-start)))))
+
(ert-deftest rust-end-of-defun-from-middle-of-fn ()
(rust-test-motion
rust-test-motion-string
@@ -1136,6 +1155,25 @@ fn test4();")
'between-fn1-fn2
#'end-of-defun -2))
+(ert-deftest rust-end-of-defun-pub-scoped ()
+ (let (fn-1-start fn-1-end fn-2-start fn-2-end)
+ (with-temp-buffer
+ (rust-mode)
+ (setq fn-1-start (point))
+ (insert "pub(crate::mod1) fn test2() {}\n")
+ (setq fn-1-end (point))
+ (setq fn-2-start (point))
+ (insert "pub(self) fn test1() {}\n")
+ (setq fn-2-end (point))
+
+ (goto-char (point-min))
+
+ (end-of-defun)
+ (should (eq (point) fn-1-end))
+
+ (end-of-defun)
+ (should (eq (point) fn-2-end)))))
+
(ert-deftest rust-mark-defun-from-middle-of-fn ()
(rust-test-region
rust-test-region-string