javascript 0.1.13

A JavaScript engine implementation in Rust
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use javascript::{Token, parse_statement, tokenize};

#[test]
fn parse_regex_in_call_arg() {
    let src = "locale = locale.split(/-x-/)[0];";
    let tokens = tokenize(src).expect("tokenize should succeed");

    // Ensure tokenizer recognizes a regex literal
    assert!(
        tokens.iter().any(|t| matches!(t.token, Token::Regex(_, _))),
        "should have a Regex token"
    );

    // Parsing the full statement should succeed
    let mut toks = tokens.clone();
    parse_statement(&mut toks).expect("parse_statement should succeed for assignment with regex literal");
}