Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/parser/src/tests/top_entries.rs')
| -rw-r--r-- | crates/parser/src/tests/top_entries.rs | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/crates/parser/src/tests/top_entries.rs b/crates/parser/src/tests/top_entries.rs index 4835915063..dcf61b6aca 100644 --- a/crates/parser/src/tests/top_entries.rs +++ b/crates/parser/src/tests/top_entries.rs @@ -175,6 +175,55 @@ fn macro_pattern() { ); } +#[test] +fn type_() { + check( + TopEntryPoint::Type, + "Option<!>", + expect![[r#" + PATH_TYPE + PATH + PATH_SEGMENT + NAME_REF + IDENT "Option" + GENERIC_ARG_LIST + L_ANGLE "<" + TYPE_ARG + NEVER_TYPE + BANG "!" + R_ANGLE ">" + "#]], + ); + check( + TopEntryPoint::Type, + "() () ()", + expect![[r#" + ERROR + TUPLE_TYPE + L_PAREN "(" + R_PAREN ")" + WHITESPACE " " + L_PAREN "(" + R_PAREN ")" + WHITESPACE " " + L_PAREN "(" + R_PAREN ")" + "#]], + ); + check( + TopEntryPoint::Type, + "$$$", + expect![[r#" + ERROR + ERROR + DOLLAR "$" + DOLLAR "$" + DOLLAR "$" + error 0: expected type + "#]], + ); +} + #[track_caller] fn check(entry: TopEntryPoint, input: &str, expect: expect_test::Expect) { let (parsed, _errors) = super::parse(entry, input); |