From 211f0f7a210936bfa0d55d5e14abd2917a3c8903 Mon Sep 17 00:00:00 2001 From: Chimrod <> Date: Fri, 3 Jan 2025 19:30:27 +0100 Subject: New custom error message --- test/syntax_error.ml | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) (limited to 'test') diff --git a/test/syntax_error.ml b/test/syntax_error.ml index b92cf28..318cb2c 100644 --- a/test/syntax_error.ml +++ b/test/syntax_error.ml @@ -57,14 +57,15 @@ let elseif_no_column () = } let unclosed_paren () = - _test_instruction - {|(1 - |} + let expected = { level = Error; loc = _position; message = "Unexpected '('. Did you forgot a function before ?"; } + in + _test_instruction "(1" expected; + _test_instruction "'<<(1>>'" expected let act_no_column () = _test_instruction @@ -113,8 +114,11 @@ let missing_operand () = () let unknow_function () = - _test_instruction "a = ran(1, 2)" + let expected = { level = Error; loc = _position; message = "Unexpected expression here." } + in + _test_instruction "a = ran(1, 2)" expected; + _test_instruction "rand(1,2))" expected let inline_elif () = _test_instruction {| @@ -194,9 +198,8 @@ let missing_comparable () = _test_instruction "1 <= or 0" result; _test_instruction "1 = or 0" result -(** This code looks like a new location, but is actualy invalid. - The application should report the old location. - *) +(** This code looks like a new location, but is actualy invalid. The application + should report the old location. *) let location_change () = let result = { @@ -272,6 +275,14 @@ let nested_string_mess () = |} { level = Error; loc = _position; message = "Unclosed string" } +let unexpected_bracket () = + let expected = + { level = Error; loc = _position; message = "Unbalanced paren" } + in + _test_instruction {|a[]]|} expected; + _test_instruction {|"<>"|} expected; + _test_instruction "'<>'" expected + let test = ( "Syntax Errors", [ @@ -295,4 +306,5 @@ let test = Alcotest.test_case "act: else" `Quick unclosed_act; Alcotest.test_case "+ =" `Quick unknown_operator; Alcotest.test_case "'<<''>>'" `Quick nested_string_mess; + Alcotest.test_case "a[]]" `Quick unexpected_bracket; ] ) -- cgit v1.2.3