File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -222,7 +222,7 @@ def _setup_ui(self):
222222 "Öffnet den Dialog zum Bereitstellen und Committen von Git-Änderungen."
223223 )
224224 self .btn_commit .setEnabled (False )
225- self .btn_commit .clicked .connect (lambda : self .open_commit_dialog () )
225+ self .btn_commit .clicked .connect (self ._on_commit_clicked )
226226 header .addWidget (self .btn_commit )
227227
228228 layout .addLayout (header )
@@ -338,6 +338,9 @@ def _setup_ui(self):
338338
339339 layout .addWidget (self .tree )
340340
341+ def _on_commit_clicked (self , _checked = False ):
342+ self .open_commit_dialog ()
343+
341344 def set_workspace (self , workspace : Optional [WorkspaceManager ]):
342345 """Verbindet die ProjectView mit dem WorkspaceManager."""
343346 if self ._workspace is not None :
Original file line number Diff line number Diff line change 11"""Regressionstests für ProjectView und Pfadsync im Hauptfenster."""
2+ import gc
3+ import weakref
24from unittest .mock import patch
35
46from PySide6 .QtWidgets import QApplication
@@ -11,6 +13,23 @@ def _ensure_app():
1113 return QApplication .instance () or QApplication ([])
1214
1315
16+ def test_commit_button_dispatch_and_closed_view_collection ():
17+ app = _ensure_app ()
18+ references = []
19+ for _ in range (3 ):
20+ view = ProjectView ()
21+ with patch .object (view , "open_commit_dialog" ) as open_dialog :
22+ view .btn_commit .setEnabled (True )
23+ view .btn_commit .click ()
24+ open_dialog .assert_called_once_with ()
25+ references .append (weakref .ref (view ))
26+ view .close ()
27+ del view
28+ gc .collect ()
29+ app .processEvents ()
30+ assert all (reference () is None for reference in references )
31+
32+
1433def test_new_file_in_shows_error_on_write_failure (tmp_path ):
1534 """Regression (B-008): _new_file_in() muss OSError abfangen und eine
1635 Fehlermeldung zeigen, statt die Ausnahme unkontrolliert zu propagieren."""
You can’t perform that action at this time.
0 commit comments