emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

feature/tree-sitter 57b5250474 11/26: Add test for treesit-query-compile


From: Yuan Fu
Subject: feature/tree-sitter 57b5250474 11/26: Add test for treesit-query-compile
Date: Thu, 16 Jun 2022 14:53:45 -0400 (EDT)

branch: feature/tree-sitter
commit 57b52504744d16b7b1ddf9225bb7c4d2b92510e3
Author: Yuan Fu <casouri@gmail.com>
Commit: Yuan Fu <casouri@gmail.com>

    Add test for treesit-query-compile
    
    * test/src/treesit-tests.el (treesit-query-api): Rename pattern to
    query, and add treesit-query-compile into the mix.
---
 test/src/treesit-tests.el | 50 +++++++++++++++++++++++++++--------------------
 1 file changed, 29 insertions(+), 21 deletions(-)

diff --git a/test/src/treesit-tests.el b/test/src/treesit-tests.el
index 1b20b86bc9..c6d5f25472 100644
--- a/test/src/treesit-tests.el
+++ b/test/src/treesit-tests.el
@@ -134,37 +134,45 @@
         (setq root-node (treesit-parser-root-node
                          parser)))
 
-      (dolist (pattern
+      ;; Test `treesit-query-capture' on string, sexp and compiled
+      ;; queries.
+      (dolist (query1
+               ;; String query.
                '("(string) @string
 (pair key: (_) @keyword)
 ((_) @bob (#match \"^B.b$\" @bob))
 (number) @number
 ((number) @n3 (#equal \"3\" @n3)) "
+                 ;; Sexp query.
                  ((string) @string
                   (pair key: (_) @keyword)
                   ((_) @bob (:match "^B.b$" @bob))
                   (number) @number
                   ((number) @n3 (:equal "3" @n3)))))
-        (should
-         (equal
-          '((number . "1") (number . "2")
-            (keyword . "\"name\"")
-            (string . "\"name\"")
-            (string . "\"Bob\"")
-            (bob . "Bob")
-            (number . "3")
-            (n3 . "3"))
-          (mapcar (lambda (entry)
-                    (cons (car entry)
-                          (treesit-node-text
-                           (cdr entry))))
-                  (treesit-query-capture root-node pattern))))
-        (should
-         (equal
-          "(type field: (_) @capture .) ? * + \"return\""
-          (treesit-expand-query
-           '((type field: (_) @capture :anchor)
-             :? :* :+ "return"))))))))
+        ;; Test `treesit-query-compile'.
+        (dolist (query (list query1
+                             (treesit-query-compile 'json query1)))
+          (should
+           (equal
+            '((number . "1") (number . "2")
+              (keyword . "\"name\"")
+              (string . "\"name\"")
+              (string . "\"Bob\"")
+              (bob . "Bob")
+              (number . "3")
+              (n3 . "3"))
+            (mapcar (lambda (entry)
+                      (cons (car entry)
+                            (treesit-node-text
+                             (cdr entry))))
+                    (treesit-query-capture root-node query))))))
+      ;; Test `treesit-expand-query'.
+      (should
+       (equal
+        "(type field: (_) @capture .) ? * + \"return\""
+        (treesit-expand-query
+         '((type field: (_) @capture :anchor)
+           :? :* :+ "return")))))))
 
 (ert-deftest treesit-narrow ()
   "Tests if narrowing works."



reply via email to

[Prev in Thread] Current Thread [Next in Thread]