Align root retention assertions with exact current-source drawer ownership
This commit is contained in:
@@ -2158,6 +2158,7 @@ fn combined_modal_completion_releases_worker_without_navigation_or_model_changes
|
|||||||
let mut app = fixture();
|
let mut app = fixture();
|
||||||
let request = begin(&mut app, query::Action::Definition);
|
let request = begin(&mut app, query::Action::Definition);
|
||||||
let ready = completion(&app, request);
|
let ready = completion(&app, request);
|
||||||
|
let expected = ready.result.as_ref().unwrap().1.clone();
|
||||||
let accepted = app.document.snapshot();
|
let accepted = app.document.snapshot();
|
||||||
let raw = app.source_workspace.bundle();
|
let raw = app.source_workspace.bundle();
|
||||||
let cursor = app.source_editor.cursor();
|
let cursor = app.source_editor.cursor();
|
||||||
@@ -2189,7 +2190,11 @@ fn combined_modal_completion_releases_worker_without_navigation_or_model_changes
|
|||||||
send(&mut app, Message::SourceSymbolsReady(ready));
|
send(&mut app, Message::SourceSymbolsReady(ready));
|
||||||
assert!(app.source_symbols.in_flight.is_none(), "modal {modal}");
|
assert!(app.source_symbols.in_flight.is_none(), "modal {modal}");
|
||||||
assert!(app.source_symbols.request.is_none());
|
assert!(app.source_symbols.request.is_none());
|
||||||
assert!(app.source_symbols.results.is_none());
|
// Current-source display data may finish behind a modal; it grants no navigation.
|
||||||
|
assert!(Arc::ptr_eq(
|
||||||
|
app.source_symbols.results.as_ref().unwrap(),
|
||||||
|
&expected
|
||||||
|
));
|
||||||
assert!(app.source_symbols.back.is_empty());
|
assert!(app.source_symbols.back.is_empty());
|
||||||
assert!(app.source_reveal_ticket().is_none());
|
assert!(app.source_reveal_ticket().is_none());
|
||||||
assert_eq!(app.source_workspace.active, USES);
|
assert_eq!(app.source_workspace.active, USES);
|
||||||
@@ -2240,6 +2245,7 @@ fn combined_reference_chooser_blocks_navigation_and_completion_precedes_reconcil
|
|||||||
.move_to(selection(text, offset, offset + alias.len(), false));
|
.move_to(selection(text, offset, offset + alias.len(), false));
|
||||||
let request = begin(&mut app, query::Action::Definition);
|
let request = begin(&mut app, query::Action::Definition);
|
||||||
let ready = completion(&app, request);
|
let ready = completion(&app, request);
|
||||||
|
let expected = ready.result.as_ref().unwrap().1.clone();
|
||||||
app.page = Page::Diagram;
|
app.page = Page::Diagram;
|
||||||
send(&mut app, Message::FieldReferenceOpen(open));
|
send(&mut app, Message::FieldReferenceOpen(open));
|
||||||
assert!(app.reference_input_active(), "{}", app.status);
|
assert!(app.reference_input_active(), "{}", app.status);
|
||||||
@@ -2252,7 +2258,11 @@ fn combined_reference_chooser_blocks_navigation_and_completion_precedes_reconcil
|
|||||||
let cursor = app.source_editor.cursor();
|
let cursor = app.source_editor.cursor();
|
||||||
send(&mut app, Message::SourceSymbolsReady(ready));
|
send(&mut app, Message::SourceSymbolsReady(ready));
|
||||||
assert!(app.source_symbols.in_flight.is_none());
|
assert!(app.source_symbols.in_flight.is_none());
|
||||||
assert!(app.source_symbols.results.is_none());
|
// Current-source display data may finish behind a modal; it grants no navigation.
|
||||||
|
assert!(Arc::ptr_eq(
|
||||||
|
app.source_symbols.results.as_ref().unwrap(),
|
||||||
|
&expected
|
||||||
|
));
|
||||||
assert!(app.source_reveal_ticket().is_none());
|
assert!(app.source_reveal_ticket().is_none());
|
||||||
assert!(
|
assert!(
|
||||||
app.reference_input_active(),
|
app.reference_input_active(),
|
||||||
|
|||||||
@@ -41,7 +41,14 @@ fn scoped_escape_retains_references_then_closes_them_without_losing_effective_se
|
|||||||
assert!(matches!(messages[0], Message::Escape));
|
assert!(matches!(messages[0], Message::Escape));
|
||||||
send(&mut app, messages.remove(0));
|
send(&mut app, messages.remove(0));
|
||||||
assert!(app.text_workspace.drawer().is_none());
|
assert!(app.text_workspace.drawer().is_none());
|
||||||
assert!(app.source_symbols.results.is_none() && app.source_symbols.notice.is_none());
|
assert!(Arc::ptr_eq(
|
||||||
|
app.source_symbols.results.as_ref().unwrap(),
|
||||||
|
&results
|
||||||
|
));
|
||||||
|
assert_eq!(
|
||||||
|
app.source_symbols.notice.as_deref(),
|
||||||
|
Some("Keep this reference notice")
|
||||||
|
);
|
||||||
reveal(&mut app);
|
reveal(&mut app);
|
||||||
assert_eq!(app.source_editor.cursor(), cursor);
|
assert_eq!(app.source_editor.cursor(), cursor);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
|
|||||||
Reference in New Issue
Block a user