Replace project_path with project_entry in workspace::{Item, ItemView}

This commit is contained in:
Antonio Scandurra 2022-01-19 15:56:04 +01:00
parent 18f1040c85
commit 9c9a09cccb
7 changed files with 122 additions and 64 deletions

View file

@ -268,9 +268,11 @@ mod tests {
.await
.unwrap();
cx.read(|cx| {
let pane = workspace.read(cx).active_pane().read(cx);
let workspace = workspace.read(cx);
let pane = workspace.active_pane().read(cx);
let entry = pane.active_item().unwrap().project_entry(cx).unwrap();
assert_eq!(
pane.active_item().unwrap().project_path(cx),
workspace.project().read(cx).path_for_entry(entry, cx),
Some(file1.clone())
);
assert_eq!(pane.item_views().count(), 1);
@ -282,9 +284,11 @@ mod tests {
.await
.unwrap();
cx.read(|cx| {
let pane = workspace.read(cx).active_pane().read(cx);
let workspace = workspace.read(cx);
let pane = workspace.active_pane().read(cx);
let entry = pane.active_item().unwrap().project_entry(cx).unwrap();
assert_eq!(
pane.active_item().unwrap().project_path(cx),
workspace.project().read(cx).path_for_entry(entry, cx),
Some(file2.clone())
);
assert_eq!(pane.item_views().count(), 2);
@ -298,9 +302,11 @@ mod tests {
assert_eq!(entry_1.id(), entry_1b.id());
cx.read(|cx| {
let pane = workspace.read(cx).active_pane().read(cx);
let workspace = workspace.read(cx);
let pane = workspace.active_pane().read(cx);
let entry = pane.active_item().unwrap().project_entry(cx).unwrap();
assert_eq!(
pane.active_item().unwrap().project_path(cx),
workspace.project().read(cx).path_for_entry(entry, cx),
Some(file1.clone())
);
assert_eq!(pane.item_views().count(), 2);
@ -315,13 +321,11 @@ mod tests {
.await
.unwrap();
workspace.read_with(&cx, |w, cx| {
workspace.read_with(&cx, |workspace, cx| {
let pane = workspace.active_pane().read(cx);
let entry = pane.active_item().unwrap().project_entry(cx).unwrap();
assert_eq!(
w.active_pane()
.read(cx)
.active_item()
.unwrap()
.project_path(cx.as_ref()),
workspace.project().read(cx).path_for_entry(entry, cx),
Some(file2.clone())
);
});
@ -336,14 +340,22 @@ mod tests {
t1.await.unwrap();
t2.await.unwrap();
cx.read(|cx| {
let pane = workspace.read(cx).active_pane().read(cx);
let workspace = workspace.read(cx);
let pane = workspace.active_pane().read(cx);
let entry = pane.active_item().unwrap().project_entry(cx).unwrap();
assert_eq!(
pane.active_item().unwrap().project_path(cx),
workspace.project().read(cx).path_for_entry(entry, cx),
Some(file3.clone())
);
let pane_entries = pane
.item_views()
.map(|i| i.project_path(cx).unwrap())
.map(|i| {
workspace
.project()
.read(cx)
.path_for_entry(i.project_entry(cx).unwrap(), cx)
.unwrap()
})
.collect::<Vec<_>>();
assert_eq!(pane_entries, &[file1, file2, file3]);
});
@ -666,8 +678,15 @@ mod tests {
.await
.unwrap();
cx.read(|cx| {
let workspace = workspace.read(cx);
let pane1_entry = pane_1
.read(cx)
.active_item()
.unwrap()
.project_entry(cx)
.unwrap();
assert_eq!(
pane_1.read(cx).active_item().unwrap().project_path(cx),
workspace.project().read(cx).path_for_entry(pane1_entry, cx),
Some(file1.clone())
);
});
@ -682,7 +701,15 @@ mod tests {
assert_ne!(pane_1, pane_2);
let pane2_item = pane_2.read(cx).active_item().unwrap();
assert_eq!(pane2_item.project_path(cx.as_ref()), Some(file1.clone()));
let pane2_entry = pane2_item.project_entry(cx).unwrap();
assert_eq!(
workspace
.read(cx)
.project()
.read(cx)
.path_for_entry(pane2_entry, cx),
Some(file1.clone())
);
cx.dispatch_action(window_id, vec![pane_2.id()], &workspace::CloseActiveItem);
let workspace = workspace.read(cx);
@ -862,7 +889,11 @@ mod tests {
let item = workspace.active_item(cx).unwrap();
let editor = item.to_any().downcast::<Editor>().unwrap();
let selections = editor.update(cx, |editor, cx| editor.selected_display_ranges(cx));
(item.project_path(cx).unwrap(), selections[0].start)
let path = workspace
.project()
.read(cx)
.path_for_entry(item.project_entry(cx).unwrap(), cx);
(path.unwrap(), selections[0].start)
})
}
}