From: Yuan Fu Date: Tue, 14 Jun 2022 20:32:14 +0000 (-0700) Subject: Add test for treesit-query-compile X-Git-Tag: emacs-29.0.90~1915 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=57b52504744d16b7b1ddf9225bb7c4d2b92510e3;p=emacs.git 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. --- diff --git a/test/src/treesit-tests.el b/test/src/treesit-tests.el index 1b20b86bc9e..c6d5f254720 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."