Switch to Vec, because we do want to have duplicate keys

This commit is contained in:
Johann Hemmann 2024-01-04 13:56:53 +01:00
parent dea149d733
commit f2b872a3c5

View File

@ -365,8 +365,6 @@ fn text_edit_from_self_param(self_param: &ast::SelfParam, new_name: &str) -> Opt
#[cfg(test)] #[cfg(test)]
mod tests { mod tests {
use std::collections::BTreeMap;
use expect_test::{expect, Expect}; use expect_test::{expect, Expect};
use ide_db::source_change::{FileSystemEdit, SourceChange}; use ide_db::source_change::{FileSystemEdit, SourceChange};
use stdx::trim_indent; use stdx::trim_indent;
@ -452,7 +450,7 @@ mod tests {
.source_file_edits .source_file_edits
.into_iter() .into_iter()
.map(|(id, (text_edit, _))| (id, text_edit.into_iter().collect::<Vec<_>>())) .map(|(id, (text_edit, _))| (id, text_edit.into_iter().collect::<Vec<_>>()))
.collect::<BTreeMap<_, _>>(); .collect::<Vec<_>>();
let file_system_edits = source_change let file_system_edits = source_change
.file_system_edits .file_system_edits
@ -465,7 +463,7 @@ mod tests {
}; };
(id.clone(), file_system_edit) (id.clone(), file_system_edit)
}) })
.collect::<BTreeMap<_, _>>(); .collect::<Vec<_>>();
format!( format!(
"source_file_edits: {:#?}\nfile_system_edits: {:#?}", "source_file_edits: {:#?}\nfile_system_edits: {:#?}",
@ -945,20 +943,25 @@ mod foo$0;
// empty // empty
"#, "#,
expect![[r#" expect![[r#"
source_file_edits: { source_file_edits: [
(
FileId( FileId(
1, 1,
): [ ),
[
Indel { Indel {
insert: "foo2", insert: "foo2",
delete: 4..7, delete: 4..7,
}, },
], ],
} ),
file_system_edits: { ]
file_system_edits: [
(
FileId( FileId(
2, 2,
): MoveFile { ),
MoveFile {
src: FileId( src: FileId(
2, 2,
), ),
@ -969,7 +972,8 @@ mod foo$0;
path: "foo2.rs", path: "foo2.rs",
}, },
}, },
}"#]], ),
]"#]],
); );
} }
@ -990,28 +994,36 @@ pub struct FooContent;
use crate::foo$0::FooContent; use crate::foo$0::FooContent;
"#, "#,
expect![[r#" expect![[r#"
source_file_edits: { source_file_edits: [
(
FileId( FileId(
0, 0,
): [ ),
[
Indel { Indel {
insert: "quux", insert: "quux",
delete: 8..11, delete: 8..11,
}, },
], ],
),
(
FileId( FileId(
2, 2,
): [ ),
[
Indel { Indel {
insert: "quux", insert: "quux",
delete: 11..14, delete: 11..14,
}, },
], ],
} ),
file_system_edits: { ]
file_system_edits: [
(
FileId( FileId(
1, 1,
): MoveFile { ),
MoveFile {
src: FileId( src: FileId(
1, 1,
), ),
@ -1022,7 +1034,8 @@ use crate::foo$0::FooContent;
path: "quux.rs", path: "quux.rs",
}, },
}, },
}"#]], ),
]"#]],
); );
} }
@ -1037,20 +1050,25 @@ mod fo$0o;
// empty // empty
"#, "#,
expect![[r#" expect![[r#"
source_file_edits: { source_file_edits: [
(
FileId( FileId(
0, 0,
): [ ),
[
Indel { Indel {
insert: "foo2", insert: "foo2",
delete: 4..7, delete: 4..7,
}, },
], ],
} ),
file_system_edits: { ]
file_system_edits: [
(
FileId( FileId(
1, 1,
): MoveDir { ),
MoveDir {
src: AnchoredPathBuf { src: AnchoredPathBuf {
anchor: FileId( anchor: FileId(
1, 1,
@ -1067,7 +1085,8 @@ mod fo$0o;
path: "../foo2", path: "../foo2",
}, },
}, },
}"#]], ),
]"#]],
); );
} }
@ -1083,20 +1102,25 @@ mod outer { mod fo$0o; }
// empty // empty
"#, "#,
expect![[r#" expect![[r#"
source_file_edits: { source_file_edits: [
(
FileId( FileId(
0, 0,
): [ ),
[
Indel { Indel {
insert: "bar", insert: "bar",
delete: 16..19, delete: 16..19,
}, },
], ],
} ),
file_system_edits: { ]
file_system_edits: [
(
FileId( FileId(
1, 1,
): MoveFile { ),
MoveFile {
src: FileId( src: FileId(
1, 1,
), ),
@ -1107,7 +1131,8 @@ mod outer { mod fo$0o; }
path: "bar.rs", path: "bar.rs",
}, },
}, },
}"#]], ),
]"#]],
); );
} }
@ -1152,28 +1177,36 @@ pub mod foo$0;
// pub fn fun() {} // pub fn fun() {}
"#, "#,
expect![[r#" expect![[r#"
source_file_edits: { source_file_edits: [
(
FileId( FileId(
0, 0,
): [ ),
[
Indel { Indel {
insert: "foo2", insert: "foo2",
delete: 27..30, delete: 27..30,
}, },
], ],
),
(
FileId( FileId(
1, 1,
): [ ),
[
Indel { Indel {
insert: "foo2", insert: "foo2",
delete: 8..11, delete: 8..11,
}, },
], ],
} ),
file_system_edits: { ]
file_system_edits: [
(
FileId( FileId(
2, 2,
): MoveFile { ),
MoveFile {
src: FileId( src: FileId(
2, 2,
), ),
@ -1184,7 +1217,8 @@ pub mod foo$0;
path: "foo2.rs", path: "foo2.rs",
}, },
}, },
}"#]], ),
]"#]],
); );
} }
@ -1213,20 +1247,41 @@ mod quux;
// empty // empty
"#, "#,
expect![[r#" expect![[r#"
source_file_edits: { source_file_edits: [
(
FileId( FileId(
0, 0,
): [ ),
[
Indel { Indel {
insert: "foo2", insert: "foo2",
delete: 4..7, delete: 4..7,
}, },
], ],
} ),
file_system_edits: { ]
file_system_edits: [
(
FileId( FileId(
1, 1,
): MoveDir { ),
MoveFile {
src: FileId(
1,
),
dst: AnchoredPathBuf {
anchor: FileId(
1,
),
path: "foo2.rs",
},
},
),
(
FileId(
1,
),
MoveDir {
src: AnchoredPathBuf { src: AnchoredPathBuf {
anchor: FileId( anchor: FileId(
1, 1,
@ -1243,7 +1298,8 @@ mod quux;
path: "foo2", path: "foo2",
}, },
}, },
}"#]], ),
]"#]],
) )
} }
#[test] #[test]
@ -1310,8 +1366,8 @@ fn foo() {}
mod bar$0; mod bar$0;
"#, "#,
expect![[r#" expect![[r#"
source_file_edits: {} source_file_edits: []
file_system_edits: {}"#]], file_system_edits: []"#]],
) )
} }
@ -1332,10 +1388,12 @@ pub mod bar;
pub fn baz() {} pub fn baz() {}
"#, "#,
expect![[r#" expect![[r#"
source_file_edits: { source_file_edits: [
(
FileId( FileId(
0, 0,
): [ ),
[
Indel { Indel {
insert: "r#fn", insert: "r#fn",
delete: 4..7, delete: 4..7,
@ -1345,11 +1403,30 @@ pub fn baz() {}
delete: 22..25, delete: 22..25,
}, },
], ],
} ),
file_system_edits: { ]
file_system_edits: [
(
FileId( FileId(
1, 1,
): MoveDir { ),
MoveFile {
src: FileId(
1,
),
dst: AnchoredPathBuf {
anchor: FileId(
1,
),
path: "fn.rs",
},
},
),
(
FileId(
1,
),
MoveDir {
src: AnchoredPathBuf { src: AnchoredPathBuf {
anchor: FileId( anchor: FileId(
1, 1,
@ -1366,7 +1443,8 @@ pub fn baz() {}
path: "fn", path: "fn",
}, },
}, },
}"#]], ),
]"#]],
); );
} }
@ -1387,10 +1465,12 @@ pub mod bar;
pub fn baz() {} pub fn baz() {}
"#, "#,
expect![[r#" expect![[r#"
source_file_edits: { source_file_edits: [
(
FileId( FileId(
0, 0,
): [ ),
[
Indel { Indel {
insert: "foo", insert: "foo",
delete: 4..8, delete: 4..8,
@ -1400,11 +1480,30 @@ pub fn baz() {}
delete: 23..27, delete: 23..27,
}, },
], ],
} ),
file_system_edits: { ]
file_system_edits: [
(
FileId( FileId(
1, 1,
): MoveDir { ),
MoveFile {
src: FileId(
1,
),
dst: AnchoredPathBuf {
anchor: FileId(
1,
),
path: "foo.rs",
},
},
),
(
FileId(
1,
),
MoveDir {
src: AnchoredPathBuf { src: AnchoredPathBuf {
anchor: FileId( anchor: FileId(
1, 1,
@ -1421,7 +1520,8 @@ pub fn baz() {}
path: "foo", path: "foo",
}, },
}, },
}"#]], ),
]"#]],
); );
} }