From bbf867c1d1fd94e1f715ca300d3598914d94ce50 Mon Sep 17 00:00:00 2001 From: Richard Feldman Date: Sun, 24 Jul 2022 18:20:24 -0400 Subject: [PATCH] Reproduce missing support for `when` after operator --- .../snapshots/pass/plus_when.expr.result-ast | 54 +++++++++++++++++++ .../tests/snapshots/pass/plus_when.expr.roc | 4 ++ crates/compiler/parse/tests/test_parse.rs | 1 + 3 files changed, 59 insertions(+) create mode 100644 crates/compiler/parse/tests/snapshots/pass/plus_when.expr.result-ast create mode 100644 crates/compiler/parse/tests/snapshots/pass/plus_when.expr.roc diff --git a/crates/compiler/parse/tests/snapshots/pass/plus_when.expr.result-ast b/crates/compiler/parse/tests/snapshots/pass/plus_when.expr.result-ast new file mode 100644 index 0000000000..15d220aa1c --- /dev/null +++ b/crates/compiler/parse/tests/snapshots/pass/plus_when.expr.result-ast @@ -0,0 +1,54 @@ +BinOps( + [ + ( + @0-1 Num( + "1", + ), + @2-3 Plus, + ), + ], + @8-53 SpaceBefore( + When( + @13-16 Tag( + "Foo", + ), + [ + WhenBranch { + patterns: [ + @28-31 SpaceBefore( + Tag( + "Foo", + ), + [ + Newline, + ], + ), + ], + value: @35-36 Num( + "2", + ), + guard: None, + }, + WhenBranch { + patterns: [ + @45-48 SpaceBefore( + Tag( + "Bar", + ), + [ + Newline, + ], + ), + ], + value: @52-53 Num( + "3", + ), + guard: None, + }, + ], + ), + [ + Newline, + ], + ), +) diff --git a/crates/compiler/parse/tests/snapshots/pass/plus_when.expr.roc b/crates/compiler/parse/tests/snapshots/pass/plus_when.expr.roc new file mode 100644 index 0000000000..6f7e6526e0 --- /dev/null +++ b/crates/compiler/parse/tests/snapshots/pass/plus_when.expr.roc @@ -0,0 +1,4 @@ +1 + + when Foo is + Foo -> 2 + Bar -> 3 diff --git a/crates/compiler/parse/tests/test_parse.rs b/crates/compiler/parse/tests/test_parse.rs index 3fb75fc5e3..540082c55f 100644 --- a/crates/compiler/parse/tests/test_parse.rs +++ b/crates/compiler/parse/tests/test_parse.rs @@ -229,6 +229,7 @@ mod test_parse { pass/parse_as_ann.expr, pass/pattern_with_space_in_parens.expr, // https://github.com/rtfeldman/roc/issues/929 pass/plus_if.expr, + pass/plus_when.expr, pass/pos_inf_float.expr, pass/positive_float.expr, pass/positive_int.expr,