make a space work parse in fn call, recast well (#3165)
Signed-off-by: Jess Frazelle <github@jessfraz.com>
This commit is contained in:
@ -4246,6 +4246,30 @@ const myNestedVar = [callExp(bing.yo)]
|
|||||||
assert_eq!(recasted, some_program_string);
|
assert_eq!(recasted, some_program_string);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_recast_space_in_fn_call() {
|
||||||
|
let some_program_string = r#"fn thing = (x) => {
|
||||||
|
return x + 1
|
||||||
|
}
|
||||||
|
|
||||||
|
thing ( 1 )
|
||||||
|
"#;
|
||||||
|
let tokens = crate::token::lexer(some_program_string).unwrap();
|
||||||
|
let parser = crate::parser::Parser::new(tokens);
|
||||||
|
let program = parser.ast().unwrap();
|
||||||
|
|
||||||
|
let recasted = program.recast(&Default::default(), 0);
|
||||||
|
assert_eq!(
|
||||||
|
recasted,
|
||||||
|
r#"fn thing = (x) => {
|
||||||
|
return x + 1
|
||||||
|
}
|
||||||
|
|
||||||
|
thing(1)
|
||||||
|
"#
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_recast_object_fn_in_array_weird_bracket() {
|
fn test_recast_object_fn_in_array_weird_bracket() {
|
||||||
let some_program_string = r#"const bing = { yo: 55 }
|
let some_program_string = r#"const bing = { yo: 55 }
|
||||||
|
@ -1501,6 +1501,7 @@ fn binding_name(i: TokenSlice) -> PResult<Identifier> {
|
|||||||
|
|
||||||
fn fn_call(i: TokenSlice) -> PResult<CallExpression> {
|
fn fn_call(i: TokenSlice) -> PResult<CallExpression> {
|
||||||
let fn_name = identifier(i)?;
|
let fn_name = identifier(i)?;
|
||||||
|
opt(whitespace).parse_next(i)?;
|
||||||
let _ = terminated(open_paren, opt(whitespace)).parse_next(i)?;
|
let _ = terminated(open_paren, opt(whitespace)).parse_next(i)?;
|
||||||
let args = arguments(i)?;
|
let args = arguments(i)?;
|
||||||
if let Some(std_fn) = crate::std::get_stdlib_fn(&fn_name.name) {
|
if let Some(std_fn) = crate::std::get_stdlib_fn(&fn_name.name) {
|
||||||
|
Reference in New Issue
Block a user