Browse Source

Added some async function expr parsing tests

pull/836/head
Paul Lancaster 4 years ago
parent
commit
0aaf7026fd
  1. 4
      boa/src/syntax/parser/expression/primary/async_function_expression/mod.rs
  2. 66
      boa/src/syntax/parser/expression/primary/async_function_expression/tests.rs

4
boa/src/syntax/parser/expression/primary/async_function_expression.rs → boa/src/syntax/parser/expression/primary/async_function_expression/mod.rs

@ -6,6 +6,10 @@
//!
//! [mdn]:
//! [spec]:
#[cfg(test)]
mod tests;
use crate::{
syntax::{
ast::{node::AsyncFunctionExpr, Keyword, Punctuator},

66
boa/src/syntax/parser/expression/primary/async_function_expression/tests.rs

@ -0,0 +1,66 @@
use crate::syntax::{
ast::{
node::{AsyncFunctionExpr, ConstDecl, ConstDeclList, Return, StatementList},
Const,
},
parser::tests::check_parser,
};
/// Checks async expression parsing.
#[test]
fn check_async_expression() {
check_parser(
"const add = async function() {
return 1;
};
",
vec![ConstDeclList::from(vec![ConstDecl::new(
"add",
Some(
AsyncFunctionExpr::new::<Option<Box<str>>, _, StatementList>(
None,
[],
vec![Return::new::<_, _, Option<Box<str>>>(Const::from(1), None).into()].into(),
),
),
)])
.into()],
);
}
/// Checks async expression parsing.
#[test]
fn check_nested_async_expression() {
check_parser(
"const a = async function() {
const b = async function() {
return 1;
};
};
",
vec![ConstDeclList::from(vec![ConstDecl::new(
"a",
Some(
AsyncFunctionExpr::new::<Option<Box<str>>, _, StatementList>(
None,
[],
vec![ConstDeclList::from(vec![ConstDecl::new(
"b",
Some(
AsyncFunctionExpr::new::<Option<Box<str>>, _, StatementList>(
None,
[],
vec![Return::new::<_, _, Option<Box<str>>>(Const::from(1), None)
.into()]
.into(),
),
),
)])
.into()]
.into(),
),
),
)])
.into()],
);
}
Loading…
Cancel
Save