Coverage report: /home/ellis/comp/core/ffi/tree-sitter/tests.lisp
Kind | Covered | All | % |
expression | 0 | 10 | 0.0 |
branch | 0 | 0 | nil |
Key
Not instrumented
Conditionalized out
Executed
Not executed
Both branches taken
One branch taken
Neither branch taken
1
(defpackage :tree-sitter/tests
2
(:use :cl :rt :tree-sitter :std))
4
(in-package :tree-sitter/tests)
6
(defsuite :tree-sitter)
8
(in-suite :tree-sitter)
11
(load-tree-sitter-alien)
12
(load-tree-sitter-json)
13
(load-tree-sitter-rust)
15
;; the following tests require the TREE-SITTER-LANGS pack to be installed
17
(let ((parser (ts-parser-new))
18
(lang (tree-sitter-json)))
19
(is (= (ts-language-version lang) 14))
20
(is (ts-language-field-count lang))
21
(is (ts-language-symbol-count lang))
22
(is (ts-language-symbol-name lang (sb-alien:make-alien sb-alien:unsigned-int)))
23
(is (ts-parser-set-language parser lang))
24
(let ((new-tree (ts-parser-parse-string parser nil "[1, null]" 9)))
25
(print (ts-tree-language new-tree))
26
(ts-tree-delete new-tree))))
29
(let ((parser (ts-parser-new))
30
(lang (tree-sitter-rust)))
31
(is (= (ts-language-version lang) 14))
32
(is (ts-parser-set-language parser lang))
33
(let ((new-tree (ts-parser-parse-string parser nil "
34
pub fn main {} " 15)))
35
(is (= (ts-language-version (ts-tree-language new-tree)) 14))
36
(let ((root-node (ts-tree-root-node-pointer new-tree)))
37
(is (string= "source_file" (ts-node-type-pointer root-node)))
38
(let ((cursor (ts-tree-cursor-new-pointer root-node)))
39
(ts-tree-cursor-delete cursor)
40
(ts-tree-delete new-tree))))))