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 request = begin(&mut app, query::Action::Definition);
|
||||
let ready = completion(&app, request);
|
||||
let expected = ready.result.as_ref().unwrap().1.clone();
|
||||
let accepted = app.document.snapshot();
|
||||
let raw = app.source_workspace.bundle();
|
||||
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));
|
||||
assert!(app.source_symbols.in_flight.is_none(), "modal {modal}");
|
||||
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_reveal_ticket().is_none());
|
||||
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));
|
||||
let request = begin(&mut app, query::Action::Definition);
|
||||
let ready = completion(&app, request);
|
||||
let expected = ready.result.as_ref().unwrap().1.clone();
|
||||
app.page = Page::Diagram;
|
||||
send(&mut app, Message::FieldReferenceOpen(open));
|
||||
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();
|
||||
send(&mut app, Message::SourceSymbolsReady(ready));
|
||||
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.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));
|
||||
send(&mut app, messages.remove(0));
|
||||
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);
|
||||
assert_eq!(app.source_editor.cursor(), cursor);
|
||||
assert_eq!(
|
||||
|
||||
Reference in New Issue
Block a user