diff --git a/crates/fuse-parser/tests/cases/pass/binary-operator-07/ast.snap b/crates/fuse-parser/tests/cases/pass/binary-operator-07/ast.snap new file mode 100644 index 0000000..c258d35 --- /dev/null +++ b/crates/fuse-parser/tests/cases/pass/binary-operator-07/ast.snap @@ -0,0 +1,43 @@ +--- +source: crates/fuse-parser/tests/cases/mod.rs +expression: parsed.chunk +input_file: crates/fuse-parser/tests/cases/pass/binary-operator-07/case.fuse +--- +Some(Chunk( + span: Span( + start: 0, + end: 7, + ), + body: Block( + statements: [ + Expression(BinaryOperator(BinaryOperator( + kind: Multiply(Span( + start: 3, + end: 4, + )), + lhs: UnaryOperator(UnaryOperator( + kind: Minus(Span( + start: 0, + end: 1, + )), + expression: Identifier(Identifier( + span: Span( + start: 1, + end: 2, + ), + name: Atom("x"), + )), + )), + rhs: NumberLiteral(NumberLiteral( + span: Span( + start: 5, + end: 6, + ), + raw: Atom("2"), + value: 2.0, + kind: Decimal, + )), + ))), + ], + ), +)) diff --git a/crates/fuse-parser/tests/cases/pass/binary-operator-07/case.fuse b/crates/fuse-parser/tests/cases/pass/binary-operator-07/case.fuse new file mode 100644 index 0000000..03d14f4 --- /dev/null +++ b/crates/fuse-parser/tests/cases/pass/binary-operator-07/case.fuse @@ -0,0 +1 @@ +-x * 2 diff --git a/crates/fuse-parser/tests/cases/pass/binary-operator-07/tokens.snap b/crates/fuse-parser/tests/cases/pass/binary-operator-07/tokens.snap new file mode 100644 index 0000000..064f737 --- /dev/null +++ b/crates/fuse-parser/tests/cases/pass/binary-operator-07/tokens.snap @@ -0,0 +1,75 @@ +--- +source: crates/fuse-parser/tests/cases/mod.rs +expression: tokens +input_file: crates/fuse-parser/tests/cases/pass/binary-operator-07/case.fuse +--- +[ + TokenReference( + token: Token( + span: Span( + start: 0, + end: 1, + ), + kind: Minus, + ), + leading_trivia: [], + trailing_trivia: [], + ), + TokenReference( + token: Token( + span: Span( + start: 1, + end: 2, + ), + kind: Identifier, + ), + leading_trivia: [], + trailing_trivia: [ + Token( + span: Span( + start: 2, + end: 3, + ), + kind: Whitespace, + ), + ], + ), + TokenReference( + token: Token( + span: Span( + start: 3, + end: 4, + ), + kind: Star, + ), + leading_trivia: [], + trailing_trivia: [ + Token( + span: Span( + start: 4, + end: 5, + ), + kind: Whitespace, + ), + ], + ), + TokenReference( + token: Token( + span: Span( + start: 5, + end: 6, + ), + kind: NumberLiteral, + ), + leading_trivia: [], + trailing_trivia: [ + Token( + span: Span( + start: 6, + end: 7, + ), + kind: Whitespace, + ), + ], + ), +]