From bc03652cda4dbef79f0074f1daa9f7718c4d236f Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Fri, 11 Aug 2017 17:09:14 +0100 Subject: [PATCH] Finish tests --- openlp/plugins/songs/forms/editverseform.py | 22 ++++++++-------- .../songs/test_editverseform.py | 25 +++++++++++++------ 2 files changed, 29 insertions(+), 18 deletions(-) diff --git a/openlp/plugins/songs/forms/editverseform.py b/openlp/plugins/songs/forms/editverseform.py index 5d58dd336..6a12f0eac 100644 --- a/openlp/plugins/songs/forms/editverseform.py +++ b/openlp/plugins/songs/forms/editverseform.py @@ -71,25 +71,25 @@ class EditVerseForm(QtWidgets.QDialog, Ui_EditVerseDialog): def on_split_button_clicked(self): """ - The split button has been pressed + The optional split button has been pressed so we need add the split """ - text = self.verse_text_edit.toPlainText() - position = self.verse_text_edit.textCursor().position() - insert_string = '[---]' - if position and text[position - 1] != '\n': - insert_string = '\n' + insert_string - if position == len(text) or text[position] != '\n': - insert_string += '\n' - self.verse_text_edit.insertPlainText(insert_string) - self.verse_text_edit.setFocus() + self._add_splitter_to_text('[---]') def on_divide_split_button_clicked(self): """ The force split button has been pressed so we need add the split """ + self._add_splitter_to_text('[--}{--]') + + def _add_splitter_to_text(self, insert_string): + """ + Add a custom splitter to the song text + + :param insert_string: The string to insert + :return: + """ text = self.verse_text_edit.toPlainText() position = self.verse_text_edit.textCursor().position() - insert_string = '[--}{--]' if position and text[position - 1] != '\n': insert_string = '\n' + insert_string if position == len(text) or text[position] != '\n': diff --git a/tests/functional/openlp_plugins/songs/test_editverseform.py b/tests/functional/openlp_plugins/songs/test_editverseform.py index 634b5bd4c..223cb7e4a 100644 --- a/tests/functional/openlp_plugins/songs/test_editverseform.py +++ b/tests/functional/openlp_plugins/songs/test_editverseform.py @@ -78,14 +78,25 @@ class TestEditVerseForm(TestCase, TestMixin): Test that divide adds text at the correct position """ # GIVEN some input values - self.edit_verse_form.has_single_verse = True - self.edit_verse_form.verse_type_combo_box.currentIndex = MagicMock(return_value=0) - self.edit_verse_form.verse_text_edit.toPlainText = MagicMock(return_value='Text') - self.edit_verse_form.verse_number_box.setValue(3) + self.edit_verse_form.verse_type_combo_box.currentIndex = MagicMock(return_value=4) + self.edit_verse_form.verse_text_edit.setPlainText('Text\n') # WHEN the method is called self.edit_verse_form.on_divide_split_button_clicked() - a = self.edit_verse_form.verse_text_edit.toPlainText() # THEN the verse number must not be changed - self.assertEqual('--}{--Text', self.edit_verse_form.verse_text_edit.toPlainText(), - 'The verse number should be 3') + self.assertEqual('[--}{--]\nText\n', self.edit_verse_form.verse_text_edit.toPlainText(), + 'The verse number should be [--}{--]\nText\n') + + def test_on_split_button_clicked(self): + """ + Test that divide adds text at the correct position + """ + # GIVEN some input values + self.edit_verse_form.verse_type_combo_box.currentIndex = MagicMock(return_value=4) + self.edit_verse_form.verse_text_edit.setPlainText('Text\n') + + # WHEN the method is called + self.edit_verse_form.on_split_button_clicked() + # THEN the verse number must not be changed + self.assertEqual('[---]\nText\n', self.edit_verse_form.verse_text_edit.toPlainText(), + 'The verse number should be [---]\nText\n')