Some more tests
All checks were successful
CI / test (push) Successful in 5m6s
Lint / test (push) Successful in 33s
Trivy / test (push) Successful in 24s

This commit is contained in:
Miguel Jacq 2025-11-30 15:20:11 +11:00
parent 32aa1780cf
commit 95b7d828b5
Signed by: mig5
GPG key ID: 59B3F0C24135C6A9
3 changed files with 186 additions and 1 deletions

View file

@ -0,0 +1,31 @@
from PySide6.QtWidgets import QPushButton
from bouquin.code_block_editor_dialog import CodeBlockEditorDialog
from bouquin import strings
def _find_button_by_text(widget, text):
for btn in widget.findChildren(QPushButton):
if text.lower() in btn.text().lower():
return btn
return None
def test_code_block_dialog_delete_flow(qtbot):
dlg = CodeBlockEditorDialog("print(1)", "python", allow_delete=True)
qtbot.addWidget(dlg)
delete_txt = strings._("delete_code_block")
delete_btn = _find_button_by_text(dlg, delete_txt)
assert delete_btn is not None
assert not dlg.was_deleted()
with qtbot.waitSignal(dlg.finished, timeout=2000):
delete_btn.click()
assert dlg.was_deleted()
def test_code_block_dialog_language_and_code(qtbot):
dlg = CodeBlockEditorDialog("x = 1", "not-a-lang", allow_delete=False)
qtbot.addWidget(dlg)
delete_txt = strings._("delete_code_block")
assert _find_button_by_text(dlg, delete_txt) is None
assert dlg.code() == "x = 1"
assert dlg.language() is None