Skip to main content

Crate arborium_test_harness

Crate arborium_test_harness 

Source
Expand description

Test harness for arborium grammar crates.

This crate provides utilities for testing tree-sitter grammars and their queries.

§Usage

In your grammar crate’s lib.rs tests:

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn test_grammar() {
        arborium_test_harness::test_grammar(
            language(),
            "rust",
            HIGHLIGHTS_QUERY,
            INJECTIONS_QUERY,
            LOCALS_QUERY,
            env!("CARGO_MANIFEST_DIR"),
        );
    }
}

Re-exports§

pub use arborium_highlight;
pub use arborium_tree_sitter as tree_sitter;

Structs§

CorpusCase
HarnessError

Constants§

HIGHLIGHT_NAMES
Standard highlight names used by arborium.
HIGHLIGHT_NAMES_FULL
The complete list of capture names that arborium recognizes.

Functions§

collect_corpus_cases
Parse every corpus file and yield a case per === test.
corpus_files
Return all .txt corpus files for a grammar crate.
run_corpus_case
Execute a single corpus test case.
run_corpus_case_with_tree
Run a corpus test case and return the parsed tree’s s-expression.
run_corpus_file
Execute all tests defined in a single corpus file.
test_corpus
Runs corpus-style parsing tests for a grammar.
test_grammar
Tests a grammar by validating its queries and highlighting all samples.