Phase 6-07a: Fensterlokale Control-Menüs und Windows-Testkorrekturen
Control-Menüs öffnen für alle Fensterarten am [≡]-Symbol des aktiven Fensters: eigener Auswahlzustand statt Kopplung an die Menüleiste, bevorzugt unter der Titelzeile, bei Platzmangel nach oben aufgeklappt, am rechten Rand nur so weit nach links wie nötig. Regressionstest über TestBackend für Code-, Projekt-, Output-, Immediate-, Debug- und Hilfefenster, maximiert, minimiert, Rand und Maus. Nebenbefunde der Windows-Testausführung: Temporärdatei vor sync_all schreibend öffnen (Zugriff verweigert), relative Projektverweise immer mit / schreiben, zeilenendenneutrale Vergleiche in Referenzmatrix-, Kompatibilitäts- und MAK-Beispieltests, DriveListBox-Zeichenbild plattformneutral. Korpus-Sollausgaben per .gitattributes auf LF. Specs ide-oberflaeche und ide-projekte synchronisiert, Change archiviert. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -478,6 +478,9 @@ fn source_for_directives(path: &Path) -> String {
|
||||
/// Snapshots vergleichen: erst das Textbild, dann die Attributebene.
|
||||
/// Bei Abweichung im Text zählt die Zeile, bei Attributen Zeile und Spalte.
|
||||
fn assert_output_matches(file: &str, want: &str, got: &str) {
|
||||
// Sollausgaben werden je Checkout mit CRLF ausgeliefert; Snapshots sind LF.
|
||||
let (want, got) = (want.replace("\r\n", "\n"), got.replace("\r\n", "\n"));
|
||||
let (want, got) = (want.as_str(), got.as_str());
|
||||
if want == got {
|
||||
return;
|
||||
}
|
||||
@@ -688,8 +691,8 @@ fn tbc_isam_open_in_transaktion_hat_eine_harte_frist() {
|
||||
);
|
||||
assert!(out.status.success(), "{out:?}");
|
||||
assert_eq!(
|
||||
String::from_utf8_lossy(&out.stdout),
|
||||
include_str!("../../../tests/compat/isamopen.out")
|
||||
String::from_utf8_lossy(&out.stdout).replace("\r\n", "\n"),
|
||||
include_str!("../../../tests/compat/isamopen.out").replace("\r\n", "\n")
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user