aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/binop.amal14
-rw-r--r--tests/main.c1
2 files changed, 15 insertions, 0 deletions
diff --git a/tests/binop.amal b/tests/binop.amal
new file mode 100644
index 0000000..1ec826d
--- /dev/null
+++ b/tests/binop.amal
@@ -0,0 +1,14 @@
+extern const printf: fn(fmt: ?&c_char, ...) c_int;
+
+const main = fn {
+ var value = 23 + 50;
+ if value < 23
+ printf("less!\n");
+ else
+ printf("more!\n");
+
+ while value >= 0 {
+ printf("value: %ld\n", value);
+ value = value - 1;
+ }
+} \ No newline at end of file
diff --git a/tests/main.c b/tests/main.c
index 0b3a744..f555e16 100644
--- a/tests/main.c
+++ b/tests/main.c
@@ -321,6 +321,7 @@ static void run_all_tests(void) {
test_load("tests/main.amal");
test_load("tests/utf8bom.amal");
test_load("tests/bytecode.amal");
+ test_load("tests/binop.amal");
test_load_error("tests/errors/duplicate_declaration.amal",
"2:7: error: Variable with the name main was declared twice in the same scope\n"