Tests für sn_basis/ui/base_dockwidget.py: closeEvent (Issue #65) und Scroll-Bereich je Tab (Basis #104).
flowchart TD
root(["test_base_dockwidget.py"])
class root rootnode
root --> g1["CloseEventTests (5)"]
class g1 groupnode
g1 --> t1("ruft_cleanup_aller_tabs_auf")
g1 --> t2("ignoriert_tabs_ohne_cleanup")
g1 --> t3("fehler_in_cleanup_wird_abgefangen_und_andere_tabs_laufen_weiter")
g1 --> t4("setzt_toolbar_action_zurueck")
g1 --> t5("ohne_action_wird_nichts_zurueckgesetzt")
root --> g2["ScrollbereichTests (5)"]
class g2 groupnode
g2 --> t6("jeder_tab_liegt_in_einem_scrollbereich")
g2 --> t7("fachplugin_mit_eigenem_tabaufbau_bekommt_scrollbereich")
g2 --> t8("scrollbereich_wird_nicht_doppelt_angelegt")
g2 --> t9("setwidget_none_und_andere_widgets_bleiben_unveraendert")
g2 --> t10("cleanup_erreicht_tabs_im_scrollbereich")
class t1 ok
class t2 ok
class t3 ok
class t4 ok
class t5 ok
class t6 ok
class t7 ok
class t8 ok
class t9 ok
class t10 ok
classDef rootnode fill:#1f4038,stroke:#16302a,stroke-width:1px,color:#f4f1e8,font-weight:600;
classDef groupnode fill:#cfe0da,stroke:#5c8a7d,stroke-width:1px,color:#152420;
classDef ok fill:#dcefdc,stroke:#3f7d4a,stroke-width:1px,color:#1c3a20;
classDef warn fill:#f6ead9,stroke:#b5722a,stroke-width:1px,color:#4a2c08;
classDef skip fill:#e6e6ee,stroke:#6f7285,stroke-width:1px,color:#2b2d38;| Testfall | prüft | Status |
|---|---|---|
| CloseEventTests test_ruft_cleanup_aller_tabs_auf | Prüft, dass closeEvent cleanup() auf allen Tabs des Dock-Widgets aufruft. | grün |
| CloseEventTests test_ignoriert_tabs_ohne_cleanup | Prüft, dass ein Tab ohne cleanup()-Methode nicht zu einem Fehler führt. | grün |
| CloseEventTests test_fehler_in_cleanup_wird_abgefangen_und_andere_tabs_laufen_weiter | Prüft, dass ein Fehler in cleanup() eines Tabs nicht die übrigen Tabs verhindert. | grün |
| CloseEventTests test_setzt_toolbar_action_zurueck | Prüft, dass closeEvent die verknüpfte Toolbar-Action auf 'nicht gedrückt' zurücksetzt. | grün |
| CloseEventTests test_ohne_action_wird_nichts_zurueckgesetzt | Prüft, dass closeEvent ohne verknüpfte Toolbar-Action keine Ausnahme wirft. | grün |
| ScrollbereichTests test_jeder_tab_liegt_in_einem_scrollbereich | Prüft, dass BaseDockWidget jeden Tab in einen mitwachsenden Scroll-Bereich packt, damit ein langer Tab scrollt, statt das Fenster zu verlängern. | grün |
| ScrollbereichTests test_fachplugin_mit_eigenem_tabaufbau_bekommt_scrollbereich | Prüft, dass auch ein Fachplugin, das seine Tabs selbst aufbaut und per setWidget einsetzt (wie Plan41, Verfahrensgebiet), Scroll-Bereiche bekommt. | grün |
| ScrollbereichTests test_scrollbereich_wird_nicht_doppelt_angelegt | Prüft, dass ein Tab, der schon in einem Scroll-Bereich liegt, beim erneuten Einsetzen nicht ein zweites Mal verpackt wird. | grün |
| ScrollbereichTests test_setwidget_none_und_andere_widgets_bleiben_unveraendert | Prüft, dass setWidget(None) und Widgets ohne Tabs ohne Fehler und unverändert eingesetzt werden. | grün |
| ScrollbereichTests test_cleanup_erreicht_tabs_im_scrollbereich | Prüft, dass closeEvent cleanup() auch für Tabs aufruft, die in einem Scroll-Bereich liegen. | grün |