mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-27 05:23:24 +00:00
Use expect for rename tests
This commit is contained in:
parent
ee7ab0104d
commit
2656c415c8
1 changed files with 57 additions and 193 deletions
|
@ -271,7 +271,7 @@ fn rename_reference(
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use insta::assert_debug_snapshot;
|
use expect::{expect, Expect};
|
||||||
use ra_text_edit::TextEditBuilder;
|
use ra_text_edit::TextEditBuilder;
|
||||||
use stdx::trim_indent;
|
use stdx::trim_indent;
|
||||||
use test_utils::{assert_eq_text, mark};
|
use test_utils::{assert_eq_text, mark};
|
||||||
|
@ -297,6 +297,12 @@ mod tests {
|
||||||
assert_eq_text!(ra_fixture_after, &*result);
|
assert_eq_text!(ra_fixture_after, &*result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn check_expect(new_name: &str, ra_fixture: &str, expect: Expect) {
|
||||||
|
let (analysis, position) = analysis_and_position(ra_fixture);
|
||||||
|
let source_change = analysis.rename(position, new_name).unwrap().unwrap();
|
||||||
|
expect.assert_debug_eq(&source_change)
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_rename_to_underscore() {
|
fn test_rename_to_underscore() {
|
||||||
check(
|
check(
|
||||||
|
@ -650,7 +656,8 @@ fn baz(j: i32) -> Self {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_rename_mod() {
|
fn test_rename_mod() {
|
||||||
let (analysis, position) = analysis_and_position(
|
check_expect(
|
||||||
|
"foo2",
|
||||||
r#"
|
r#"
|
||||||
//- /lib.rs
|
//- /lib.rs
|
||||||
mod bar;
|
mod bar;
|
||||||
|
@ -659,53 +666,49 @@ mod bar;
|
||||||
mod foo<|>;
|
mod foo<|>;
|
||||||
|
|
||||||
//- /bar/foo.rs
|
//- /bar/foo.rs
|
||||||
// emtpy
|
// empty
|
||||||
"#,
|
"#,
|
||||||
);
|
expect![[r#"
|
||||||
let new_name = "foo2";
|
RangeInfo {
|
||||||
let source_change = analysis.rename(position, new_name).unwrap();
|
range: 4..7,
|
||||||
assert_debug_snapshot!(&source_change,
|
info: SourceChange {
|
||||||
@r###"
|
source_file_edits: [
|
||||||
Some(
|
SourceFileEdit {
|
||||||
RangeInfo {
|
file_id: FileId(
|
||||||
range: 4..7,
|
2,
|
||||||
info: SourceChange {
|
),
|
||||||
source_file_edits: [
|
edit: TextEdit {
|
||||||
SourceFileEdit {
|
indels: [
|
||||||
file_id: FileId(
|
Indel {
|
||||||
2,
|
insert: "foo2",
|
||||||
),
|
delete: 4..7,
|
||||||
edit: TextEdit {
|
},
|
||||||
indels: [
|
],
|
||||||
Indel {
|
},
|
||||||
insert: "foo2",
|
|
||||||
delete: 4..7,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
},
|
],
|
||||||
],
|
file_system_edits: [
|
||||||
file_system_edits: [
|
MoveFile {
|
||||||
MoveFile {
|
src: FileId(
|
||||||
src: FileId(
|
3,
|
||||||
3,
|
),
|
||||||
),
|
anchor: FileId(
|
||||||
anchor: FileId(
|
2,
|
||||||
2,
|
),
|
||||||
),
|
dst: "foo2.rs",
|
||||||
dst: "foo2.rs",
|
},
|
||||||
},
|
],
|
||||||
],
|
is_snippet: false,
|
||||||
is_snippet: false,
|
},
|
||||||
},
|
}
|
||||||
},
|
"#]],
|
||||||
)
|
);
|
||||||
"###);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_rename_mod_in_use_tree() {
|
fn test_rename_mod_in_use_tree() {
|
||||||
let (analysis, position) = analysis_and_position(
|
check_expect(
|
||||||
|
"quux",
|
||||||
r#"
|
r#"
|
||||||
//- /main.rs
|
//- /main.rs
|
||||||
pub mod foo;
|
pub mod foo;
|
||||||
|
@ -717,112 +720,23 @@ pub struct FooContent;
|
||||||
|
|
||||||
//- /bar.rs
|
//- /bar.rs
|
||||||
use crate::foo<|>::FooContent;
|
use crate::foo<|>::FooContent;
|
||||||
"#,
|
"#,
|
||||||
|
expect![[]],
|
||||||
);
|
);
|
||||||
let new_name = "qux";
|
|
||||||
let source_change = analysis.rename(position, new_name).unwrap();
|
|
||||||
assert_debug_snapshot!(&source_change,
|
|
||||||
@r###"
|
|
||||||
Some(
|
|
||||||
RangeInfo {
|
|
||||||
range: 11..14,
|
|
||||||
info: SourceChange {
|
|
||||||
source_file_edits: [
|
|
||||||
SourceFileEdit {
|
|
||||||
file_id: FileId(
|
|
||||||
1,
|
|
||||||
),
|
|
||||||
edit: TextEdit {
|
|
||||||
indels: [
|
|
||||||
Indel {
|
|
||||||
insert: "qux",
|
|
||||||
delete: 8..11,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
SourceFileEdit {
|
|
||||||
file_id: FileId(
|
|
||||||
3,
|
|
||||||
),
|
|
||||||
edit: TextEdit {
|
|
||||||
indels: [
|
|
||||||
Indel {
|
|
||||||
insert: "qux",
|
|
||||||
delete: 11..14,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
file_system_edits: [
|
|
||||||
MoveFile {
|
|
||||||
src: FileId(
|
|
||||||
2,
|
|
||||||
),
|
|
||||||
anchor: FileId(
|
|
||||||
3,
|
|
||||||
),
|
|
||||||
dst: "qux.rs",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
is_snippet: false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
)
|
|
||||||
"###);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_rename_mod_in_dir() {
|
fn test_rename_mod_in_dir() {
|
||||||
let (analysis, position) = analysis_and_position(
|
check_expect(
|
||||||
|
"foo2",
|
||||||
r#"
|
r#"
|
||||||
//- /lib.rs
|
//- /lib.rs
|
||||||
mod fo<|>o;
|
mod fo<|>o;
|
||||||
//- /foo/mod.rs
|
//- /foo/mod.rs
|
||||||
// emtpy
|
// emtpy
|
||||||
"#,
|
"#,
|
||||||
|
expect![[]],
|
||||||
);
|
);
|
||||||
let new_name = "foo2";
|
|
||||||
let source_change = analysis.rename(position, new_name).unwrap();
|
|
||||||
assert_debug_snapshot!(&source_change,
|
|
||||||
@r###"
|
|
||||||
Some(
|
|
||||||
RangeInfo {
|
|
||||||
range: 4..7,
|
|
||||||
info: SourceChange {
|
|
||||||
source_file_edits: [
|
|
||||||
SourceFileEdit {
|
|
||||||
file_id: FileId(
|
|
||||||
1,
|
|
||||||
),
|
|
||||||
edit: TextEdit {
|
|
||||||
indels: [
|
|
||||||
Indel {
|
|
||||||
insert: "foo2",
|
|
||||||
delete: 4..7,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
file_system_edits: [
|
|
||||||
MoveFile {
|
|
||||||
src: FileId(
|
|
||||||
2,
|
|
||||||
),
|
|
||||||
anchor: FileId(
|
|
||||||
1,
|
|
||||||
),
|
|
||||||
dst: "../foo2/mod.rs",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
is_snippet: false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
)
|
|
||||||
"###
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
@ -852,7 +766,8 @@ fn main() {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_rename_mod_filename_and_path() {
|
fn test_rename_mod_filename_and_path() {
|
||||||
let (analysis, position) = analysis_and_position(
|
check_expect(
|
||||||
|
"foo2",
|
||||||
r#"
|
r#"
|
||||||
//- /lib.rs
|
//- /lib.rs
|
||||||
mod bar;
|
mod bar;
|
||||||
|
@ -865,60 +780,9 @@ pub mod foo<|>;
|
||||||
|
|
||||||
//- /bar/foo.rs
|
//- /bar/foo.rs
|
||||||
// pub fn fun() {}
|
// pub fn fun() {}
|
||||||
"#,
|
"#,
|
||||||
|
expect![[]],
|
||||||
);
|
);
|
||||||
let new_name = "foo2";
|
|
||||||
let source_change = analysis.rename(position, new_name).unwrap();
|
|
||||||
assert_debug_snapshot!(&source_change,
|
|
||||||
@r###"
|
|
||||||
Some(
|
|
||||||
RangeInfo {
|
|
||||||
range: 8..11,
|
|
||||||
info: SourceChange {
|
|
||||||
source_file_edits: [
|
|
||||||
SourceFileEdit {
|
|
||||||
file_id: FileId(
|
|
||||||
2,
|
|
||||||
),
|
|
||||||
edit: TextEdit {
|
|
||||||
indels: [
|
|
||||||
Indel {
|
|
||||||
insert: "foo2",
|
|
||||||
delete: 8..11,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
SourceFileEdit {
|
|
||||||
file_id: FileId(
|
|
||||||
1,
|
|
||||||
),
|
|
||||||
edit: TextEdit {
|
|
||||||
indels: [
|
|
||||||
Indel {
|
|
||||||
insert: "foo2",
|
|
||||||
delete: 27..30,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
file_system_edits: [
|
|
||||||
MoveFile {
|
|
||||||
src: FileId(
|
|
||||||
3,
|
|
||||||
),
|
|
||||||
anchor: FileId(
|
|
||||||
2,
|
|
||||||
),
|
|
||||||
dst: "foo2.rs",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
is_snippet: false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
)
|
|
||||||
"###);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|
Loading…
Reference in a new issue