From 7b4442af8549b212d38e8ecfbf8a62217db7b220 Mon Sep 17 00:00:00 2001 From: JJ Date: Tue, 11 Apr 2023 20:24:44 -0700 Subject: https://youtu.be/GwQW3KW3DCc?t=63 --- tests/test_parser.rs | 47 ++++++++++++++++++++++++++++------------------- 1 file changed, 28 insertions(+), 19 deletions(-) (limited to 'tests/test_parser.rs') diff --git a/tests/test_parser.rs b/tests/test_parser.rs index c619745..e33cdfa 100644 --- a/tests/test_parser.rs +++ b/tests/test_parser.rs @@ -52,43 +52,36 @@ fn test_complex_annotations() { } const program: &'static str = -"func foo() = - bar - if this: +"func foo(x): (int -> int) = + if this = that - else: + else = this hello foo bar baz -func foo = +func foo: (bool -> int) = this - if that: - then this "; const lexed: &'static str = -"func foo() = { - bar; - if this: { +"func foo(x): (int -> int) = { + if this = { that; - } - else: { + }; + else = { this; - } -} + }; +}; hello; foo; bar; baz; -func foo = { +func foo: (bool -> int) = { this; - if that: { - then this; - } -}"; +};"; #[test] fn test_lexer() { @@ -96,3 +89,19 @@ fn test_lexer() { assert!(result.is_ok()); assert_eq!(result.unwrap(), lexed); } + +#[test] +fn test_parser() { + let result = parse_lang(lexed); + assert!(result.is_err()); + + let file = std::fs::read_to_string("tests/src/negate.nim"); + assert!(file.is_ok()); + let result = parse_lang(&file.unwrap()); + assert!(result.is_err()); + + let file = std::fs::read_to_string("tests/src/fib.nim"); + assert!(file.is_ok()); + let result = parse_lang(&file.unwrap()); + assert!(result.is_err()); +} -- cgit v1.2.3-70-g09d2