|
@@ -15,11 +15,21 @@ let type_mismatch () =
|
|
|
};
|
|
|
]
|
|
|
|
|
|
+let type_mismatch2 () =
|
|
|
+ _test_instruction {|abc[''] = $Var|}
|
|
|
+ [
|
|
|
+ {
|
|
|
+ level = Warn;
|
|
|
+ loc = _position;
|
|
|
+ message = "The type Integer is expected but got String";
|
|
|
+ };
|
|
|
+ ]
|
|
|
+
|
|
|
let type_conversion () =
|
|
|
_test_instruction {|abc = '123'|}
|
|
|
[
|
|
|
{
|
|
|
- level = Debug;
|
|
|
+ level = Warn;
|
|
|
loc = _position;
|
|
|
message = "The type Integer is expected but got Integer as String";
|
|
|
};
|
|
@@ -54,6 +64,7 @@ let test =
|
|
|
( "Typechecking",
|
|
|
[
|
|
|
Alcotest.test_case "Assign" `Quick type_mismatch;
|
|
|
+ Alcotest.test_case "Assign array" `Quick type_mismatch2;
|
|
|
Alcotest.test_case "Conversion" `Quick type_conversion;
|
|
|
Alcotest.test_case "Conversion'" `Quick type_conversion';
|
|
|
Alcotest.test_case "Comparaison" `Quick type_comparaison;
|