mirror of
https://github.com/chidiwilliams/buzz.git
synced 2026-03-14 22:55:46 +01:00
Adding tests
This commit is contained in:
parent
6359157bec
commit
59b4e1e109
3 changed files with 131 additions and 1 deletions
|
|
@ -245,7 +245,7 @@ class RecordingTranscriberWidget(QWidget):
|
|||
layout.addWidget(text_size_label)
|
||||
|
||||
self.text_size_spinbox = QSpinBox(bar)
|
||||
self.text_size_spinbox.setRange(12, 72) #12pt to 72pt
|
||||
self.text_size_spinbox.setRange(10, 100) #10pt to 100pt
|
||||
|
||||
saved_text_size = self.settings.value(
|
||||
Settings.Key.PRESENTATION_WINDOW_TEXT_SIZE,
|
||||
|
|
|
|||
|
|
@ -59,6 +59,90 @@ class TestAdvancedSettingsDialogSilenceThreshold:
|
|||
assert emitted[0].silence_threshold == pytest.approx(0.005)
|
||||
|
||||
|
||||
class TestAdvancedSettingsDialogLineSeparator:
|
||||
def test_line_separator_shown_when_recording_settings(self, qtbot: QtBot):
|
||||
options = TranscriptionOptions()
|
||||
dialog = AdvancedSettingsDialog(
|
||||
transcription_options=options, show_recording_settings=True
|
||||
)
|
||||
qtbot.add_widget(dialog)
|
||||
assert hasattr(dialog, "line_separator_line_edit")
|
||||
assert dialog.line_separator_line_edit is not None
|
||||
|
||||
def test_line_separator_hidden_by_default(self, qtbot: QtBot):
|
||||
options = TranscriptionOptions()
|
||||
dialog = AdvancedSettingsDialog(transcription_options=options)
|
||||
qtbot.add_widget(dialog)
|
||||
assert not hasattr(dialog, "line_separator_line_edit")
|
||||
|
||||
def test_line_separator_initial_value_displayed_as_escape(self, qtbot: QtBot):
|
||||
options = TranscriptionOptions(line_separator="\n\n")
|
||||
dialog = AdvancedSettingsDialog(
|
||||
transcription_options=options, show_recording_settings=True
|
||||
)
|
||||
qtbot.add_widget(dialog)
|
||||
assert dialog.line_separator_line_edit.text() == r"\n\n"
|
||||
|
||||
def test_line_separator_change_updates_options(self, qtbot: QtBot):
|
||||
options = TranscriptionOptions(line_separator="\n\n")
|
||||
dialog = AdvancedSettingsDialog(
|
||||
transcription_options=options, show_recording_settings=True
|
||||
)
|
||||
qtbot.add_widget(dialog)
|
||||
dialog.line_separator_line_edit.setText(r"\n")
|
||||
assert dialog.transcription_options.line_separator == "\n"
|
||||
|
||||
def test_line_separator_change_emits_signal(self, qtbot: QtBot):
|
||||
options = TranscriptionOptions(line_separator="\n\n")
|
||||
dialog = AdvancedSettingsDialog(
|
||||
transcription_options=options, show_recording_settings=True
|
||||
)
|
||||
qtbot.add_widget(dialog)
|
||||
emitted = []
|
||||
dialog.transcription_options_changed.connect(lambda o: emitted.append(o))
|
||||
dialog.line_separator_line_edit.setText(r"\n")
|
||||
assert len(emitted) == 1
|
||||
assert emitted[0].line_separator == "\n"
|
||||
|
||||
def test_line_separator_invalid_escape_does_not_crash(self, qtbot: QtBot):
|
||||
options = TranscriptionOptions(line_separator="\n\n")
|
||||
dialog = AdvancedSettingsDialog(
|
||||
transcription_options=options, show_recording_settings=True
|
||||
)
|
||||
qtbot.add_widget(dialog)
|
||||
dialog.line_separator_line_edit.setText("\\")
|
||||
# Options unchanged — previous valid value kept
|
||||
assert dialog.transcription_options.line_separator == "\n\n"
|
||||
|
||||
def test_line_separator_tab_character(self, qtbot: QtBot):
|
||||
options = TranscriptionOptions()
|
||||
dialog = AdvancedSettingsDialog(
|
||||
transcription_options=options, show_recording_settings=True
|
||||
)
|
||||
qtbot.add_widget(dialog)
|
||||
dialog.line_separator_line_edit.setText(r"\t")
|
||||
assert dialog.transcription_options.line_separator == "\t"
|
||||
|
||||
def test_line_separator_plain_text(self, qtbot: QtBot):
|
||||
options = TranscriptionOptions()
|
||||
dialog = AdvancedSettingsDialog(
|
||||
transcription_options=options, show_recording_settings=True
|
||||
)
|
||||
qtbot.add_widget(dialog)
|
||||
dialog.line_separator_line_edit.setText(" | ")
|
||||
assert dialog.transcription_options.line_separator == " | "
|
||||
|
||||
|
||||
class TestTranscriptionOptionsLineSeparator:
|
||||
def test_default_line_separator(self):
|
||||
options = TranscriptionOptions()
|
||||
assert options.line_separator == "\n\n"
|
||||
|
||||
def test_custom_line_separator(self):
|
||||
options = TranscriptionOptions(line_separator="\n")
|
||||
assert options.line_separator == "\n"
|
||||
|
||||
|
||||
class TestTranscriptionOptionsSilenceThreshold:
|
||||
def test_default_silence_threshold(self):
|
||||
options = TranscriptionOptions()
|
||||
|
|
|
|||
|
|
@ -193,6 +193,52 @@ class TestRecordingTranscriberWidget:
|
|||
widget.close()
|
||||
|
||||
|
||||
class TestRecordingTranscriberWidgetLineSeparator:
|
||||
@pytest.mark.timeout(60)
|
||||
def test_line_separator_loaded_from_settings(self, qtbot: QtBot):
|
||||
settings = Settings()
|
||||
settings.set_value(Settings.Key.RECORDING_TRANSCRIBER_LINE_SEPARATOR, "\n")
|
||||
|
||||
with _widget_ctx(qtbot) as widget:
|
||||
assert widget.transcription_options.line_separator == "\n"
|
||||
|
||||
@pytest.mark.timeout(60)
|
||||
def test_line_separator_saved_on_close(self, qtbot: QtBot):
|
||||
settings = Settings()
|
||||
|
||||
with _widget_ctx(qtbot) as widget:
|
||||
widget.transcription_options.line_separator = " | "
|
||||
|
||||
assert settings.value(Settings.Key.RECORDING_TRANSCRIBER_LINE_SEPARATOR, "") == " | "
|
||||
|
||||
@pytest.mark.timeout(60)
|
||||
def test_line_separator_used_in_append_below(self, qtbot: QtBot):
|
||||
with _widget_ctx(qtbot) as widget:
|
||||
widget.transcription_options.line_separator = " | "
|
||||
widget.transcriber_mode = RecordingTranscriberMode.APPEND_BELOW
|
||||
widget.on_next_transcription("first")
|
||||
widget.on_next_transcription("second")
|
||||
assert widget.transcription_text_box.toPlainText() == "first | second"
|
||||
|
||||
@pytest.mark.timeout(60)
|
||||
def test_line_separator_used_in_append_above(self, qtbot: QtBot):
|
||||
with _widget_ctx(qtbot) as widget:
|
||||
widget.transcription_options.line_separator = " | "
|
||||
widget.transcriber_mode = RecordingTranscriberMode.APPEND_ABOVE
|
||||
widget.on_next_transcription("first")
|
||||
widget.on_next_transcription("second")
|
||||
assert widget.transcription_text_box.toPlainText() == "second | first | "
|
||||
|
||||
@pytest.mark.timeout(60)
|
||||
def test_line_separator_used_in_translation_append_below(self, qtbot: QtBot):
|
||||
with _widget_ctx(qtbot) as widget:
|
||||
widget.transcription_options.line_separator = " | "
|
||||
widget.transcriber_mode = RecordingTranscriberMode.APPEND_BELOW
|
||||
widget.on_next_translation("hello")
|
||||
widget.on_next_translation("world")
|
||||
assert widget.translation_text_box.toPlainText() == "hello | world"
|
||||
|
||||
|
||||
class TestRecordingTranscriberWidgetSilenceThreshold:
|
||||
@pytest.mark.timeout(60)
|
||||
def test_silence_threshold_loaded_from_settings(self, qtbot: QtBot):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue