From a3ae2d5068850b1c0a413625d0f3ca035dafdcbf Mon Sep 17 00:00:00 2001
From: Pierre Wilke <pierre.wilke@centralesupelec.fr>
Date: Tue, 1 Feb 2022 00:41:35 +0100
Subject: [PATCH] new test

---
 tests/basic/whileret.e                     |  9 ++++++
 tests/basic/whileret.e.expect_14_12_3_8_12 |  1 +
 tests/basic/whileret.e.expect_1_2_3        |  1 +
 tests/basic/whileret.e.expect_lexer        | 36 ++++++++++++++++++++++
 4 files changed, 47 insertions(+)
 create mode 100644 tests/basic/whileret.e
 create mode 100644 tests/basic/whileret.e.expect_14_12_3_8_12
 create mode 100644 tests/basic/whileret.e.expect_1_2_3
 create mode 100644 tests/basic/whileret.e.expect_lexer

diff --git a/tests/basic/whileret.e b/tests/basic/whileret.e
new file mode 100644
index 0000000..921facb
--- /dev/null
+++ b/tests/basic/whileret.e
@@ -0,0 +1,9 @@
+main(x){
+  while(x > 0){
+    if (x == 3){
+      return 12;
+    }
+    x = x - 1;
+  }
+  return -3;
+}
diff --git a/tests/basic/whileret.e.expect_14_12_3_8_12 b/tests/basic/whileret.e.expect_14_12_3_8_12
new file mode 100644
index 0000000..bcf7b80
--- /dev/null
+++ b/tests/basic/whileret.e.expect_14_12_3_8_12
@@ -0,0 +1 @@
+{"output": "", "error": null, "retval": 12}
\ No newline at end of file
diff --git a/tests/basic/whileret.e.expect_1_2_3 b/tests/basic/whileret.e.expect_1_2_3
new file mode 100644
index 0000000..e50078b
--- /dev/null
+++ b/tests/basic/whileret.e.expect_1_2_3
@@ -0,0 +1 @@
+{"output": "", "error": null, "retval": -3}
\ No newline at end of file
diff --git a/tests/basic/whileret.e.expect_lexer b/tests/basic/whileret.e.expect_lexer
new file mode 100644
index 0000000..8f900ff
--- /dev/null
+++ b/tests/basic/whileret.e.expect_lexer
@@ -0,0 +1,36 @@
+SYM_IDENTIFIER(main)
+SYM_LPARENTHESIS
+SYM_IDENTIFIER(x)
+SYM_RPARENTHESIS
+SYM_LBRACE
+SYM_WHILE
+SYM_LPARENTHESIS
+SYM_IDENTIFIER(x)
+SYM_GT
+SYM_INTEGER(0)
+SYM_RPARENTHESIS
+SYM_LBRACE
+SYM_IF
+SYM_LPARENTHESIS
+SYM_IDENTIFIER(x)
+SYM_EQUALITY
+SYM_INTEGER(3)
+SYM_RPARENTHESIS
+SYM_LBRACE
+SYM_RETURN
+SYM_INTEGER(12)
+SYM_SEMICOLON
+SYM_RBRACE
+SYM_IDENTIFIER(x)
+SYM_ASSIGN
+SYM_IDENTIFIER(x)
+SYM_MINUS
+SYM_INTEGER(1)
+SYM_SEMICOLON
+SYM_RBRACE
+SYM_RETURN
+SYM_MINUS
+SYM_INTEGER(3)
+SYM_SEMICOLON
+SYM_RBRACE
+SYM_EOF
-- 
GitLab