aboutsummaryrefslogtreecommitdiffstats
path: root/test/src
diff options
context:
space:
mode:
authorYuan Fu2022-06-16 01:11:09 -0700
committerYuan Fu2022-06-16 11:52:04 -0700
commitdd65d1c396da2e024468196c4d5bcb72198f524a (patch)
tree706ab962f0cc5154797e3b3595b545048533b27d /test/src
parent7cee82a91d287e42e6596960cbee17157cde4b29 (diff)
downloademacs-dd65d1c396da2e024468196c4d5bcb72198f524a.tar.gz
emacs-dd65d1c396da2e024468196c4d5bcb72198f524a.zip
Consolidate treesit parser create functions
Merge treesit-parser-create, treesit-get-parser, treesit-get-parser-create into one: treesit-parser-create. * src/treesit.c (Ftreesit_parser_language): make BUFFER parameter optional, add new parameter NO-REUSE. Optionally reuse parser. * test/src/treesit-tests.el: Change all parser creation to use treesit-parser-create. Remove tests for the removed functions. * lisp/treesit.el (treesit-get-parser, treesit-get-parser-create): Remove. * lisp/treesit.el (treesit-set-ranges, treesit-get-ranges) (treesit-buffer-root-node, treesit-query-string) (treesit-font-lock-fontify-region, treesit-search-forward) (treesit-query-validate): Change to use treesit-parser-create.
Diffstat (limited to 'test/src')
-rw-r--r--test/src/treesit-tests.el37
1 files changed, 10 insertions, 27 deletions
diff --git a/test/src/treesit-tests.el b/test/src/treesit-tests.el
index c6d5f254720..32971fbacb4 100644
--- a/test/src/treesit-tests.el
+++ b/test/src/treesit-tests.el
@@ -25,8 +25,7 @@
25(ert-deftest treesit-basic-parsing () 25(ert-deftest treesit-basic-parsing ()
26 "Test basic parsing routines." 26 "Test basic parsing routines."
27 (with-temp-buffer 27 (with-temp-buffer
28 (let ((parser (treesit-parser-create 28 (let ((parser (treesit-parser-create 'json)))
29 (current-buffer) 'json)))
30 (should 29 (should
31 (eq parser (car treesit-parser-list))) 30 (eq parser (car treesit-parser-list)))
32 (should 31 (should
@@ -55,8 +54,7 @@
55 (let (parser root-node doc-node object-node pair-node) 54 (let (parser root-node doc-node object-node pair-node)
56 (progn 55 (progn
57 (insert "[1,2,{\"name\": \"Bob\"},3]") 56 (insert "[1,2,{\"name\": \"Bob\"},3]")
58 (setq parser (treesit-parser-create 57 (setq parser (treesit-parser-create 'json))
59 (current-buffer) 'json))
60 (setq root-node (treesit-parser-root-node 58 (setq root-node (treesit-parser-root-node
61 parser))) 59 parser)))
62 ;; `treesit-node-type'. 60 ;; `treesit-node-type'.
@@ -129,8 +127,7 @@
129 (let (parser root-node pattern doc-node object-node pair-node) 127 (let (parser root-node pattern doc-node object-node pair-node)
130 (progn 128 (progn
131 (insert "[1,2,{\"name\": \"Bob\"},3]") 129 (insert "[1,2,{\"name\": \"Bob\"},3]")
132 (setq parser (treesit-parser-create 130 (setq parser (treesit-parser-create 'json))
133 (current-buffer) 'json))
134 (setq root-node (treesit-parser-root-node 131 (setq root-node (treesit-parser-root-node
135 parser))) 132 parser)))
136 133
@@ -181,8 +178,7 @@
181 (progn 178 (progn
182 (insert "xxx[1,{\"name\": \"Bob\"},2,3]xxx") 179 (insert "xxx[1,{\"name\": \"Bob\"},2,3]xxx")
183 (narrow-to-region (+ (point-min) 3) (- (point-max) 3)) 180 (narrow-to-region (+ (point-min) 3) (- (point-max) 3))
184 (setq parser (treesit-parser-create 181 (setq parser (treesit-parser-create 'json))
185 (current-buffer) 'json))
186 (setq root-node (treesit-parser-root-node 182 (setq root-node (treesit-parser-root-node
187 parser))) 183 parser)))
188 ;; This test is from the basic test. 184 ;; This test is from the basic test.
@@ -233,8 +229,7 @@
233 (let (parser root-node pattern doc-node object-node pair-node) 229 (let (parser root-node pattern doc-node object-node pair-node)
234 (progn 230 (progn
235 (insert "[[1],oooxxx[1,2,3],xxx[1,2]]") 231 (insert "[[1],oooxxx[1,2,3],xxx[1,2]]")
236 (setq parser (treesit-parser-create 232 (setq parser (treesit-parser-create 'json))
237 (current-buffer) 'json))
238 (setq root-node (treesit-parser-root-node 233 (setq root-node (treesit-parser-root-node
239 parser))) 234 parser)))
240 (should-error 235 (should-error
@@ -258,9 +253,9 @@
258 (let (html css js html-range css-range js-range) 253 (let (html css js html-range css-range js-range)
259 (progn 254 (progn
260 (insert "<html><script>1</script><style>body {}</style></html>") 255 (insert "<html><script>1</script><style>body {}</style></html>")
261 (setq html (treesit-get-parser-create 'html)) 256 (setq html (treesit-parser-create 'html))
262 (setq css (treesit-get-parser-create 'css)) 257 (setq css (treesit-parser-create 'css))
263 (setq js (treesit-get-parser-create 'javascript))) 258 (setq js (treesit-parser-create 'javascript)))
264 ;; JavaScript. 259 ;; JavaScript.
265 (setq js-range 260 (setq js-range
266 (treesit-query-range 261 (treesit-query-range
@@ -287,13 +282,6 @@
287 282
288(ert-deftest treesit-parser-supplemental () 283(ert-deftest treesit-parser-supplemental ()
289 "Supplemental node functions." 284 "Supplemental node functions."
290 ;; `treesit-get-parser'.
291 (with-temp-buffer
292 (should (equal (treesit-get-parser 'json) nil)))
293 ;; `treesit-get-parser-create'.
294 (with-temp-buffer
295 (should (not (equal (treesit-get-parser-create 'json)
296 nil))))
297 ;; `treesit-parse-string'. 285 ;; `treesit-parse-string'.
298 (should (equal (treesit-node-string 286 (should (equal (treesit-node-string
299 (treesit-parse-string 287 (treesit-parse-string
@@ -304,14 +292,10 @@
304 (let (parser root-node doc-node object-node pair-node) 292 (let (parser root-node doc-node object-node pair-node)
305 (progn 293 (progn
306 (insert "[1,2,{\"name\": \"Bob\"},3]") 294 (insert "[1,2,{\"name\": \"Bob\"},3]")
307 (setq parser (treesit-parser-create 295 (setq parser (treesit-parser-create 'json))
308 (current-buffer) 'json))
309 (setq root-node (treesit-parser-root-node 296 (setq root-node (treesit-parser-root-node
310 parser)) 297 parser))
311 (setq doc-node (treesit-node-child root-node 0))) 298 (setq doc-node (treesit-node-child root-node 0)))
312 ;; `treesit-get-parser'.
313 (should (not (equal (treesit-get-parser 'json)
314 nil)))
315 ;; `treesit-language-at'. 299 ;; `treesit-language-at'.
316 (should (equal (treesit-language-at (point)) 300 (should (equal (treesit-language-at (point))
317 'json)) 301 'json))
@@ -326,8 +310,7 @@
326 (let (parser root-node doc-node array-node) 310 (let (parser root-node doc-node array-node)
327 (progn 311 (progn
328 (insert "[1,2,{\"name\": \"Bob\"},3]") 312 (insert "[1,2,{\"name\": \"Bob\"},3]")
329 (setq parser (treesit-parser-create 313 (setq parser (treesit-parser-create 'json))
330 (current-buffer) 'json))
331 (setq root-node (treesit-parser-root-node 314 (setq root-node (treesit-parser-root-node
332 parser)) 315 parser))
333 (setq doc-node (treesit-node-child root-node 0))) 316 (setq doc-node (treesit-node-child root-node 0)))