Mercurial > core / lisp/ffi/tree-sitter/tests.lisp
changeset 698: |
96958d3eb5b0 |
parent: |
04d0a4f857f6
|
author: |
Richard Westhaver <ellis@rwest.io> |
date: |
Fri, 04 Oct 2024 22:04:59 -0400 |
permissions: |
-rw-r--r-- |
description: |
fixes |
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 0))) 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))))))