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.rs122
1 files changed, 118 insertions, 4 deletions
diff --git a/crates/ide-assists/src/tests.rs b/crates/ide-assists/src/tests.rs
index 6469957fe1..4f7f03764f 100644
--- a/crates/ide-assists/src/tests.rs
+++ b/crates/ide-assists/src/tests.rs
@@ -363,6 +363,7 @@ pub fn test_some_range(a: int) -> bool {
expect![[r#"
Convert integer base
Extract into variable
+ Extract into constant
Extract into function
Replace if let with match
"#]]
@@ -392,6 +393,7 @@ pub fn test_some_range(a: int) -> bool {
expect![[r#"
Convert integer base
Extract into variable
+ Extract into constant
Extract into function
Replace if let with match
"#]]
@@ -406,6 +408,7 @@ pub fn test_some_range(a: int) -> bool {
expect![[r#"
Extract into variable
+ Extract into constant
Extract into function
"#]]
.assert_eq(&expected);
@@ -440,7 +443,7 @@ pub fn test_some_range(a: int) -> bool {
{
let assists = assists(&db, &cfg, AssistResolveStrategy::None, frange.into());
- assert_eq!(2, assists.len());
+ assert_eq!(3, assists.len());
let mut assists = assists.into_iter();
let extract_into_variable_assist = assists.next().unwrap();
@@ -459,6 +462,22 @@ pub fn test_some_range(a: int) -> bool {
"#]]
.assert_debug_eq(&extract_into_variable_assist);
+ let extract_into_constant_assist = assists.next().unwrap();
+ expect![[r#"
+ Assist {
+ id: AssistId(
+ "extract_constant",
+ RefactorExtract,
+ ),
+ label: "Extract into constant",
+ group: None,
+ target: 59..60,
+ source_change: None,
+ command: None,
+ }
+ "#]]
+ .assert_debug_eq(&extract_into_constant_assist);
+
let extract_into_function_assist = assists.next().unwrap();
expect![[r#"
Assist {
@@ -486,7 +505,7 @@ pub fn test_some_range(a: int) -> bool {
}),
frange.into(),
);
- assert_eq!(2, assists.len());
+ assert_eq!(3, assists.len());
let mut assists = assists.into_iter();
let extract_into_variable_assist = assists.next().unwrap();
@@ -505,6 +524,22 @@ pub fn test_some_range(a: int) -> bool {
"#]]
.assert_debug_eq(&extract_into_variable_assist);
+ let extract_into_constant_assist = assists.next().unwrap();
+ expect![[r#"
+ Assist {
+ id: AssistId(
+ "extract_constant",
+ RefactorExtract,
+ ),
+ label: "Extract into constant",
+ group: None,
+ target: 59..60,
+ source_change: None,
+ command: None,
+ }
+ "#]]
+ .assert_debug_eq(&extract_into_constant_assist);
+
let extract_into_function_assist = assists.next().unwrap();
expect![[r#"
Assist {
@@ -532,7 +567,7 @@ pub fn test_some_range(a: int) -> bool {
}),
frange.into(),
);
- assert_eq!(2, assists.len());
+ assert_eq!(3, assists.len());
let mut assists = assists.into_iter();
let extract_into_variable_assist = assists.next().unwrap();
@@ -594,6 +629,22 @@ pub fn test_some_range(a: int) -> bool {
"#]]
.assert_debug_eq(&extract_into_variable_assist);
+ let extract_into_constant_assist = assists.next().unwrap();
+ expect![[r#"
+ Assist {
+ id: AssistId(
+ "extract_constant",
+ RefactorExtract,
+ ),
+ label: "Extract into constant",
+ group: None,
+ target: 59..60,
+ source_change: None,
+ command: None,
+ }
+ "#]]
+ .assert_debug_eq(&extract_into_constant_assist);
+
let extract_into_function_assist = assists.next().unwrap();
expect![[r#"
Assist {
@@ -613,7 +664,7 @@ pub fn test_some_range(a: int) -> bool {
{
let assists = assists(&db, &cfg, AssistResolveStrategy::All, frange.into());
- assert_eq!(2, assists.len());
+ assert_eq!(3, assists.len());
let mut assists = assists.into_iter();
let extract_into_variable_assist = assists.next().unwrap();
@@ -675,6 +726,69 @@ pub fn test_some_range(a: int) -> bool {
"#]]
.assert_debug_eq(&extract_into_variable_assist);
+ let extract_into_constant_assist = assists.next().unwrap();
+ expect![[r#"
+ Assist {
+ id: AssistId(
+ "extract_constant",
+ RefactorExtract,
+ ),
+ label: "Extract into constant",
+ group: None,
+ target: 59..60,
+ source_change: Some(
+ SourceChange {
+ source_file_edits: {
+ FileId(
+ 0,
+ ): (
+ TextEdit {
+ indels: [
+ Indel {
+ insert: "const",
+ delete: 45..47,
+ },
+ Indel {
+ insert: "VAR_NAME:",
+ delete: 48..60,
+ },
+ Indel {
+ insert: "i32",
+ delete: 61..81,
+ },
+ Indel {
+ insert: "=",
+ delete: 82..86,
+ },
+ Indel {
+ insert: "5;\n if let 2..6 = VAR_NAME {\n true\n } else {\n false\n }",
+ delete: 87..108,
+ },
+ ],
+ },
+ Some(
+ SnippetEdit(
+ [
+ (
+ 0,
+ 51..51,
+ ),
+ ],
+ ),
+ ),
+ ),
+ },
+ file_system_edits: [],
+ is_snippet: true,
+ },
+ ),
+ command: Some(
+ Rename,
+ ),
+ }
+ "#]]
+ .assert_debug_eq(&extract_into_constant_assist);
+
let extract_into_function_assist = assists.next().unwrap();
expect![[r#"
Assist {