oak-purescript 0.0.11

PureScript language parser with support for functional programming and strong type system features.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use oak_purescript::{PurescriptLanguage, PurescriptLexer};
use oak_testing::lexing::LexerTester;
use std::{path::Path, time::Duration};

#[test]
fn test_purescript_lexer() {
    let here = Path::new(env!("CARGO_MANIFEST_DIR"));
    let tests = here.join("tests/lexer");
    let language = Box::leak(Box::new(PurescriptLanguage::default()));
    let lexer = PurescriptLexer::new(&language);
    let test_runner = LexerTester::new(tests).with_extension("purs").with_timeout(Duration::from_secs(5));

    match test_runner.run_tests::<PurescriptLanguage, _>(&lexer) {
        Ok(_) => println!("All PureScript lexer tests passed!"),
        Err(e) => panic!("PureScript lexer tests failed: {}", e),
    }
}