Browse Source

Function expression parsing into own folder

pull/836/head
Paul Lancaster 4 years ago
parent
commit
57db0583df
  1. 3
      boa/src/syntax/parser/expression/primary/function_expression/mod.rs
  2. 29
      boa/src/syntax/parser/expression/primary/function_expression/tests.rs

3
boa/src/syntax/parser/expression/primary/function_expression.rs → boa/src/syntax/parser/expression/primary/function_expression/mod.rs

@ -7,6 +7,9 @@
//! [mdn]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/function
//! [spec]: https://tc39.es/ecma262/#prod-FunctionExpression
#[cfg(test)]
mod tests;
use crate::{
syntax::{
ast::{node::FunctionExpr, Keyword, Punctuator},

29
boa/src/syntax/parser/expression/primary/function_expression/tests.rs

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