Coverage report: /home/ellis/comp/core/ffi/tree-sitter/tests.lisp

KindCoveredAll%
expression010 0.0
branch00nil
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))
3
 
4
 (in-package :tree-sitter/tests)
5
 
6
 (defsuite :tree-sitter)
7
 
8
 (in-suite :tree-sitter)
9
 
10
 (load-tree-sitter)
11
 (load-tree-sitter-alien)
12
 (load-tree-sitter-json)
13
 (load-tree-sitter-rust)
14
 
15
 ;; the following tests require the TREE-SITTER-LANGS pack to be installed
16
 (deftest ts-json ()
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))))
27
 
28
 (deftest ts-rust ()
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))))))