diff options
| author | Yuan Fu | 2025-01-17 18:24:45 -0800 |
|---|---|---|
| committer | Yuan Fu | 2025-01-17 18:24:45 -0800 |
| commit | fae424aba97163738f6666ebec1351ceff4b5b2b (patch) | |
| tree | f77657f1070b18f806816f671b2b946289548e47 /test/src | |
| parent | f7e41ba3d0fb5f89b1d2712b699b526ef7d7b82c (diff) | |
| download | emacs-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.el | 36 |
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)))))) |