diff --git a/crates/aiken-lang/src/parser/expr/fail_todo.rs b/crates/aiken-lang/src/parser/expr/fail_todo.rs index 966b6f8d..5db5dd9d 100644 --- a/crates/aiken-lang/src/parser/expr/fail_todo.rs +++ b/crates/aiken-lang/src/parser/expr/fail_todo.rs @@ -62,4 +62,13 @@ mod tests { "# ); } + + #[test] + fn fail_expr() { + assert_expr!( + r#" + fail str.join([@"Some string ", some_params, @" some string"], @"") + "# + ); + } } diff --git a/crates/aiken-lang/src/parser/expr/snapshots/fail_expr.snap b/crates/aiken-lang/src/parser/expr/snapshots/fail_expr.snap new file mode 100644 index 00000000..e91ac371 --- /dev/null +++ b/crates/aiken-lang/src/parser/expr/snapshots/fail_expr.snap @@ -0,0 +1,63 @@ +--- +source: crates/aiken-lang/src/parser/expr/fail_todo.rs +description: "Code:\n\nfail str.join([@\"Some string \", some_params, @\" some string\"], @\"\")\n" +--- +Sequence { + location: 0..67, + expressions: [ + Trace { + kind: Error, + location: 0..4, + then: ErrorTerm { + location: 0..4, + }, + text: String { + location: 0..4, + value: "aiken::error", + }, + }, + Call { + arguments: [ + CallArg { + label: None, + location: 14..61, + value: List { + location: 14..61, + elements: [ + String { + location: 15..30, + value: "Some string ", + }, + Var { + location: 32..43, + name: "some_params", + }, + String { + location: 45..60, + value: " some string", + }, + ], + tail: None, + }, + }, + CallArg { + label: None, + location: 63..66, + value: String { + location: 63..66, + value: "", + }, + }, + ], + fun: FieldAccess { + location: 5..13, + label: "join", + container: Var { + location: 5..8, + name: "str", + }, + }, + location: 5..67, + }, + ], +}