aboutsummaryrefslogtreecommitdiffstats
path: root/test/src
diff options
context:
space:
mode:
authorYuan Fu2025-01-17 18:24:45 -0800
committerYuan Fu2025-01-17 18:24:45 -0800
commitfae424aba97163738f6666ebec1351ceff4b5b2b (patch)
treef77657f1070b18f806816f671b2b946289548e47 /test/src
parentf7e41ba3d0fb5f89b1d2712b699b526ef7d7b82c (diff)
downloademacs-fae424aba97163738f6666ebec1351ceff4b5b2b.tar.gz
emacs-fae424aba97163738f6666ebec1351ceff4b5b2b.zip
Fix treesit.el tests
* lisp/treesit.el (treesit--imenu-merge-entries): (Ftreesit_parser_set_included_ranges): Warn in the docstring that the function is destructive/owns the argument. * test/src/treesit-tests.el (treesit-range-fixup-after-edit): (treesit-imenu): Fix tests.
Diffstat (limited to 'test/src')
-rw-r--r--test/src/treesit-tests.el36
1 files changed, 19 insertions, 17 deletions
diff --git a/test/src/treesit-tests.el b/test/src/treesit-tests.el
index c3c5c6ab770..f9c64f792d1 100644
--- a/test/src/treesit-tests.el
+++ b/test/src/treesit-tests.el
@@ -697,58 +697,60 @@ visible_end.)"
697 (with-temp-buffer 697 (with-temp-buffer
698 (let ((parser (treesit-parser-create 'json))) 698 (let ((parser (treesit-parser-create 'json)))
699 (insert "11111111111111111111") 699 (insert "11111111111111111111")
700 (treesit-parser-set-included-ranges parser '((1 . 20))) 700 (treesit-parser-set-included-ranges parser (copy-tree '((1 . 20))))
701 (treesit-parser-root-node parser) 701 (treesit-parser-root-node parser)
702 (should (equal (treesit-parser-included-ranges parser) 702 (should (equal (treesit-parser-included-ranges parser)
703 '((1 . 20)))) 703 (copy-tree '((1 . 20)))))
704 704
705 (narrow-to-region 5 15) 705 (narrow-to-region 5 15)
706 (should (equal (treesit-parser-included-ranges parser) 706 (should (equal (treesit-parser-included-ranges parser)
707 '((5 . 15)))) 707 (copy-tree '((5 . 15)))))
708 708
709 (widen) 709 (widen)
710 ;; Trickier ranges 710 ;; Trickier ranges
711 ;; 11111111111111111111 711 ;; 11111111111111111111
712 ;; [ ] [ ] 712 ;; [ ] [ ]
713 ;; { narrow } 713 ;; { narrow }
714 (treesit-parser-set-included-ranges parser '((1 . 7) (10 . 15))) 714 (treesit-parser-set-included-ranges
715 parser (copy-tree '((1 . 7) (10 . 15))))
715 (should (equal (treesit-parser-included-ranges parser) 716 (should (equal (treesit-parser-included-ranges parser)
716 '((1 . 7) (10 . 15)))) 717 (copy-tree '((1 . 7) (10 . 15)))))
717 (narrow-to-region 5 13) 718 (narrow-to-region 5 13)
718 (should (equal (treesit-parser-included-ranges parser) 719 (should (equal (treesit-parser-included-ranges parser)
719 '((5 . 7) (10 . 13)))) 720 (copy-tree '((5 . 7) (10 . 13)))))
720 721
721 ;; Narrow in front, and discard the last one. 722 ;; Narrow in front, and discard the last one.
722 (widen) 723 (widen)
723 (treesit-parser-set-included-ranges 724 (treesit-parser-set-included-ranges
724 parser '((4 . 10) (12 . 14) (16 . 20))) 725 parser (copy-tree '((4 . 10) (12 . 14) (16 . 20))))
725 ;; 11111111111111111111 726 ;; 11111111111111111111
726 ;; [ ] [ ] [ ] 727 ;; [ ] [ ] [ ]
727 ;; { } narrow 728 ;; { } narrow
728 (narrow-to-region 1 8) 729 (narrow-to-region 1 8)
729 (should (equal (treesit-parser-included-ranges parser) 730 (should (equal (treesit-parser-included-ranges parser)
730 '((4 . 8)))) 731 (copy-tree '((4 . 8)))))
731 732
732 ;; Narrow in back, and discard the first one. 733 ;; Narrow in back, and discard the first one.
733 (widen) 734 (widen)
734 (treesit-parser-set-included-ranges 735 (treesit-parser-set-included-ranges
735 parser '((1 . 5) (7 . 9) (11 . 17))) 736 parser (copy-tree '((1 . 5) (7 . 9) (11 . 17))))
736 ;; 11111111111111111111 737 ;; 11111111111111111111
737 ;; [ ] [ ] [ ] 738 ;; [ ] [ ] [ ]
738 ;; { } narrow 739 ;; { } narrow
739 (narrow-to-region 15 20) 740 (narrow-to-region 15 20)
740 (should (equal (treesit-parser-included-ranges parser) 741 (should (equal (treesit-parser-included-ranges parser)
741 '((15 . 17)))) 742 (copy-tree '((15 . 17)))))
742 743
743 ;; No overlap 744 ;; No overlap
744 (widen) 745 (widen)
745 (treesit-parser-set-included-ranges parser '((15 . 20))) 746 (treesit-parser-set-included-ranges
747 parser (copy-tree '((15 . 20))))
746 ;; 11111111111111111111 748 ;; 11111111111111111111
747 ;; [ ] 749 ;; [ ]
748 ;; { } narrow 750 ;; { } narrow
749 (narrow-to-region 1 10) 751 (narrow-to-region 1 10)
750 (should (equal (treesit-parser-included-ranges parser) 752 (should (equal (treesit-parser-included-ranges parser)
751 '((1 . 1))))))) 753 (copy-tree '((1 . 1))))))))
752 754
753;;; Multiple language 755;;; Multiple language
754 756
@@ -1275,11 +1277,11 @@ This tests bug#60355."
1275(ert-deftest treesit-imenu () 1277(ert-deftest treesit-imenu ()
1276 "Test imenu functions." 1278 "Test imenu functions."
1277 (should (equal (treesit--imenu-merge-entries 1279 (should (equal (treesit--imenu-merge-entries
1278 '(("Function" . (f1 f2)) 1280 (copy-tree '(("Function" . (f1 f2))
1279 ("Function" . (f3 f4 f5)) 1281 ("Function" . (f3 f4 f5))
1280 ("Class" . (c1 c2 c3)) 1282 ("Class" . (c1 c2 c3))
1281 ("Variables" . (v1 v2)) 1283 ("Variables" . (v1 v2))
1282 ("Class" . (c4)))) 1284 ("Class" . (c4)))))
1283 '(("Function" . (f1 f2 f3 f4 f5)) 1285 '(("Function" . (f1 f2 f3 f4 f5))
1284 ("Class" . (c1 c2 c3 c4)) 1286 ("Class" . (c1 c2 c3 c4))
1285 ("Variables" . (v1 v2)))))) 1287 ("Variables" . (v1 v2))))))