ParserTests.cs 813 B

1234567891011121314151617181920212223242526272829
  1. using Lua.CodeAnalysis.Syntax;
  2. using Lua.CodeAnalysis.Syntax.Nodes;
  3. namespace Lua.Tests
  4. {
  5. // TODO: add more tests
  6. public class ParserTests
  7. {
  8. [Test]
  9. public void Test_If_ElseIf_Else_Empty()
  10. {
  11. var source =
  12. @"if true then
  13. elseif true then
  14. else
  15. end";
  16. var actual = LuaSyntaxTree.Parse(source).Nodes[0];
  17. var expected = new IfStatementNode(
  18. new() { ConditionNode = new BooleanLiteralNode(true, new(1, 3)), ThenNodes = [] },
  19. [new() { ConditionNode = new BooleanLiteralNode(true, new(2, 7)), ThenNodes = [] }],
  20. [],
  21. new(1, 0));
  22. Assert.That(actual, Is.TypeOf<IfStatementNode>());
  23. Assert.That(actual.ToString(), Is.EqualTo(expected.ToString()));
  24. }
  25. }
  26. }