Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-assists/src/tests.rs')
-rw-r--r--crates/ide-assists/src/tests.rs22
1 files changed, 20 insertions, 2 deletions
diff --git a/crates/ide-assists/src/tests.rs b/crates/ide-assists/src/tests.rs
index a52bd74d14..135e750ca0 100644
--- a/crates/ide-assists/src/tests.rs
+++ b/crates/ide-assists/src/tests.rs
@@ -208,6 +208,15 @@ pub(crate) fn check_assist_target(
}
#[track_caller]
+pub(crate) fn check_assist_with_label(
+ assist: Handler,
+ #[rust_analyzer::rust_fixture] ra_fixture: &str,
+ label: &str,
+) {
+ check(assist, ra_fixture, ExpectedResult::Label(label), None);
+}
+
+#[track_caller]
pub(crate) fn check_assist_not_applicable(
assist: Handler,
#[rust_analyzer::rust_fixture] ra_fixture: &str,
@@ -307,6 +316,7 @@ enum ExpectedResult<'a> {
Unresolved,
After(&'a str),
Target(&'a str),
+ Label(&'a str),
}
#[track_caller]
@@ -335,7 +345,7 @@ fn check_with_config(
let ctx = AssistContext::new(sema, &config, frange);
let resolve = match expected {
- ExpectedResult::Unresolved => AssistResolveStrategy::None,
+ ExpectedResult::Unresolved | ExpectedResult::Label(_) => AssistResolveStrategy::None,
_ => AssistResolveStrategy::All,
};
let mut acc = Assists::new(&ctx, resolve);
@@ -404,6 +414,9 @@ fn check_with_config(
let range = assist.target;
assert_eq_text!(&text_without_caret[range], target);
}
+ (Some(assist), ExpectedResult::Label(label)) => {
+ assert_eq!(assist.label.to_string(), label);
+ }
(Some(assist), ExpectedResult::Unresolved) => assert!(
assist.source_change.is_none(),
"unresolved assist should not contain source changes"
@@ -411,7 +424,10 @@ fn check_with_config(
(Some(_), ExpectedResult::NotApplicable) => panic!("assist should not be applicable!"),
(
None,
- ExpectedResult::After(_) | ExpectedResult::Target(_) | ExpectedResult::Unresolved,
+ ExpectedResult::After(_)
+ | ExpectedResult::Target(_)
+ | ExpectedResult::Label(_)
+ | ExpectedResult::Unresolved,
) => {
panic!("code action is not applicable")
}
@@ -479,6 +495,7 @@ pub fn test_some_range(a: int) -> bool {
expect![[r#"
Extract into...
Replace if let with match
+ Convert to guarded return
"#]]
.assert_eq(&expected);
}
@@ -511,6 +528,7 @@ pub fn test_some_range(a: int) -> bool {
expect![[r#"
Extract into...
Replace if let with match
+ Convert to guarded return
"#]]
.assert_eq(&expected);
}