mirror of
https://github.com/rust-lang/rust-analyzer
synced 2025-01-14 22:24:14 +00:00
add expr tests
This commit is contained in:
parent
58fa7ce782
commit
287e748aa9
2 changed files with 29 additions and 1 deletions
|
@ -103,3 +103,22 @@ stringify!(;
|
||||||
"#]],
|
"#]],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn range_patterns() {
|
||||||
|
// FIXME: rustc thinks there are three patterns here, not one.
|
||||||
|
check(
|
||||||
|
r#"
|
||||||
|
macro_rules! m {
|
||||||
|
($($p:pat)*) => (stringify!($($p |)*);)
|
||||||
|
}
|
||||||
|
m!(.. .. ..);
|
||||||
|
"#,
|
||||||
|
expect![[r#"
|
||||||
|
macro_rules! m {
|
||||||
|
($($p:pat)*) => (stringify!($($p |)*);)
|
||||||
|
}
|
||||||
|
stringify!(.. .. ..|);
|
||||||
|
"#]],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
|
@ -33,7 +33,7 @@ fn stmt() {
|
||||||
fn pat() {
|
fn pat() {
|
||||||
check_prefix(PrefixEntryPoint::Pat, "x y", "x");
|
check_prefix(PrefixEntryPoint::Pat, "x y", "x");
|
||||||
check_prefix(PrefixEntryPoint::Pat, "fn f() {}", "fn");
|
check_prefix(PrefixEntryPoint::Pat, "fn f() {}", "fn");
|
||||||
// FIXME: this one is wrong
|
// FIXME: This one is wrong, we should consume only one pattern.
|
||||||
check_prefix(PrefixEntryPoint::Pat, ".. ..", ".. ..");
|
check_prefix(PrefixEntryPoint::Pat, ".. ..", ".. ..");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -44,6 +44,15 @@ fn ty() {
|
||||||
check_prefix(PrefixEntryPoint::Ty, "struct f", "struct");
|
check_prefix(PrefixEntryPoint::Ty, "struct f", "struct");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn expr() {
|
||||||
|
check_prefix(PrefixEntryPoint::Expr, "92 92", "92");
|
||||||
|
check_prefix(PrefixEntryPoint::Expr, "+1", "+");
|
||||||
|
check_prefix(PrefixEntryPoint::Expr, "-1", "-1");
|
||||||
|
check_prefix(PrefixEntryPoint::Expr, "fn foo() {}", "fn");
|
||||||
|
check_prefix(PrefixEntryPoint::Expr, "#[attr] ()", "#[attr] ()");
|
||||||
|
}
|
||||||
|
|
||||||
fn check_prefix(entry: PrefixEntryPoint, input: &str, prefix: &str) {
|
fn check_prefix(entry: PrefixEntryPoint, input: &str, prefix: &str) {
|
||||||
let lexed = LexedStr::new(input);
|
let lexed = LexedStr::new(input);
|
||||||
let input = lexed.to_input();
|
let input = lexed.to_input();
|
||||||
|
|
Loading…
Reference in a new issue