mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-10-01 11:31:15 +00:00
Merge #11153
11153: internal: add more prefix entry point tests r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
This commit is contained in:
commit
0e5d8883cc
@ -59,10 +59,30 @@ fn path() {
|
|||||||
check_prefix(PrefixEntryPoint::Path, "foo::<> baz", "foo::<>");
|
check_prefix(PrefixEntryPoint::Path, "foo::<> baz", "foo::<>");
|
||||||
check_prefix(PrefixEntryPoint::Path, "foo<> baz", "foo<>");
|
check_prefix(PrefixEntryPoint::Path, "foo<> baz", "foo<>");
|
||||||
check_prefix(PrefixEntryPoint::Path, "Fn() -> i32?", "Fn() -> i32");
|
check_prefix(PrefixEntryPoint::Path, "Fn() -> i32?", "Fn() -> i32");
|
||||||
// FIXME: this shouldn't be accepted as path actually.
|
// FIXME: This shouldn't be accepted as path actually.
|
||||||
check_prefix(PrefixEntryPoint::Path, "<_>::foo", "<_>::foo");
|
check_prefix(PrefixEntryPoint::Path, "<_>::foo", "<_>::foo");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn item() {
|
||||||
|
// FIXME: This shouldn't consume the semicolon.
|
||||||
|
check_prefix(PrefixEntryPoint::Item, "fn foo() {};", "fn foo() {};");
|
||||||
|
check_prefix(PrefixEntryPoint::Item, "#[attr] pub struct S {} 92", "#[attr] pub struct S {}");
|
||||||
|
check_prefix(PrefixEntryPoint::Item, "item!{}?", "item!{}");
|
||||||
|
check_prefix(PrefixEntryPoint::Item, "????", "?");
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn meta_item() {
|
||||||
|
check_prefix(PrefixEntryPoint::MetaItem, "attr, ", "attr");
|
||||||
|
check_prefix(
|
||||||
|
PrefixEntryPoint::MetaItem,
|
||||||
|
"attr(some token {stream});",
|
||||||
|
"attr(some token {stream})",
|
||||||
|
);
|
||||||
|
check_prefix(PrefixEntryPoint::MetaItem, "path::attr = 2 * 2!", "path::attr = 2 * 2");
|
||||||
|
}
|
||||||
|
|
||||||
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…
x
Reference in New Issue
Block a user