Escape newline in strings
[tiger.ml.git] / compiler / src / lib / tiger / tiger_test_cases.ml
index 4902017..788c3b7 100644 (file)
@@ -230,6 +230,38 @@ let micro =
           [ID "f"; LPAREN; STRING "a"; COMMA; INT 3; COMMA; ID "foo"; RPAREN]
         ~is_error_expected_semant:Error.is_unknown_id
     )
+  ; ( let code =
+        "let \
+            type a = int \
+            type b = a \
+            type c = b \
+            var i : a := 2 \
+            var j : c := 3 \
+        in \
+            i := j \
+        end \
+        "
+      in
+      Test.case
+        "Type aliases"
+        ~code
+    )
+  ; ( let code =
+        "let \
+            type a = {x:int, y:int} \
+            type b = {x:int, y:int}  /* new type generated */ \
+            var foo : a := a {x = 1, y = 2} \
+            var bar : b := b {x = 1, y = 2} \
+        in \
+            foo = bar  /* incompatible types */ \
+        end \
+        "
+      in
+      Test.case
+        code
+        ~code
+                               ~is_error_expected_semant:Error.is_wrong_type (* TODO: Be more specific *)
+    )
   ]
 
 let all =
This page took 0.037561 seconds and 4 git commands to generate.