branch: elpa/rust-mode commit 5462444b2d2a80c94d1d871ee01b2906e3a6cdd3 Author: Chris Gregory <czipp...@gmail.com> Commit: Jim Blandy <j...@red-bean.com>
Test pub scoped defun recognition --- rust-mode-tests.el | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/rust-mode-tests.el b/rust-mode-tests.el index abbfcb600c..978941d2a1 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