Rust编写的JavaScript引擎,该项目是一个试验性质的项目。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

98 lines
2.0 KiB

use crate::syntax::{ast::node::Node, parser::tests::check_parser};
#[test]
fn check_inline() {
check_parser(
"while (true) continue;",
&[Node::while_loop(
Node::const_node(true),
Node::Continue(None),
)],
);
}
#[test]
fn check_new_line() {
check_parser(
"while (true)
continue;",
&[Node::while_loop(
Node::const_node(true),
Node::Continue(None),
)],
);
}
#[test]
fn check_inline_block_semicolon_insertion() {
check_parser(
"while (true) {continue}",
&[Node::while_loop(
Node::const_node(true),
Node::Block(vec![Node::Continue(None)]),
)],
);
}
#[test]
fn check_new_line_semicolon_insertion() {
check_parser(
"while (true) {
continue test
}",
&[Node::while_loop(
Node::const_node(true),
Node::Block(vec![Node::continue_node("test")]),
)],
);
}
#[test]
fn check_inline_block() {
check_parser(
"while (true) {continue;}",
&[Node::while_loop(
Node::const_node(true),
Node::Block(vec![Node::Continue(None)]),
)],
);
}
#[test]
fn check_new_line_block() {
check_parser(
"while (true) {
continue test;
}",
&[Node::while_loop(
Node::const_node(true),
Node::Block(vec![Node::continue_node("test")]),
)],
);
}
#[test]
fn check_new_line_block_empty() {
check_parser(
"while (true) {
continue;
}",
&[Node::while_loop(
Node::const_node(true),
Node::Block(vec![Node::Continue(None)]),
)],
);
}
#[test]
fn check_new_line_block_empty_semicolon_insertion() {
check_parser(
"while (true) {
continue
}",
&[Node::while_loop(
Node::const_node(true),
Node::Block(vec![Node::Continue(None)]),
)],
);
}