From 04b1d0ec30aaf02839f9e764031cb0af1b0e09e7 Mon Sep 17 00:00:00 2001 From: Samuel Mehrbrodt Date: Thu, 10 Apr 2014 09:33:25 +0200 Subject: [PATCH 01/14] Fix songbook search --- openlp/plugins/songs/lib/mediaitem.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/plugins/songs/lib/mediaitem.py b/openlp/plugins/songs/lib/mediaitem.py index ad981135f..c735f0acf 100644 --- a/openlp/plugins/songs/lib/mediaitem.py +++ b/openlp/plugins/songs/lib/mediaitem.py @@ -192,7 +192,7 @@ class SongMediaItem(MediaManagerItem): song_number = False if not search_results: search_keywords = search_keywords.rpartition(' ') - search_string = '%' + search_keywords + '%' + search_string = '%' + search_keywords[0] + '%' search_results = self.plugin.manager.get_all_objects(Book, Book.name.like(search_string), Book.name.asc()) song_number = re.sub(r'[^0-9]', '', search_keywords[2]) From 32f6005c98cb3d1d8dcd63411298f3b6c5d99f3a Mon Sep 17 00:00:00 2001 From: Samuel Mehrbrodt Date: Thu, 10 Apr 2014 09:50:30 +0200 Subject: [PATCH 02/14] Test for OpenLyrics Importer --- .../songs/test_openlyricsimport.py | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 tests/functional/openlp_plugins/songs/test_openlyricsimport.py diff --git a/tests/functional/openlp_plugins/songs/test_openlyricsimport.py b/tests/functional/openlp_plugins/songs/test_openlyricsimport.py new file mode 100644 index 000000000..a05f08d61 --- /dev/null +++ b/tests/functional/openlp_plugins/songs/test_openlyricsimport.py @@ -0,0 +1,56 @@ +# -*- coding: utf-8 -*- +# vim: autoindent shiftwidth=4 expandtab textwidth=120 tabstop=4 softtabstop=4 + +############################################################################### +# OpenLP - Open Source Lyrics Projection # +# --------------------------------------------------------------------------- # +# Copyright (c) 2008-2014 Raoul Snyman # +# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan # +# Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub, # +# Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer. # +# Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru, # +# Christian Richter, Philip Ridout, Simon Scudder, Jeffrey Smith, # +# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Dave Warnock, # +# Frode Woldsund, Martin Zibricky, Patrick Zimmermann # +# --------------------------------------------------------------------------- # +# This program is free software; you can redistribute it and/or modify it # +# under the terms of the GNU General Public License as published by the Free # +# Software Foundation; version 2 of the License. # +# # +# This program is distributed in the hope that it will be useful, but WITHOUT # +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for # +# more details. # +# # +# You should have received a copy of the GNU General Public License along # +# with this program; if not, write to the Free Software Foundation, Inc., 59 # +# Temple Place, Suite 330, Boston, MA 02111-1307 USA # +############################################################################### +""" +This module contains tests for the OpenLyrics song importer. +""" + +from unittest import TestCase + +from tests.functional import MagicMock, patch +from openlp.plugins.songs.lib.openlyricsimport import OpenLyricsImport +from openlp.plugins.songs.lib.songimport import SongImport + + +class TestSongBeamerImport(TestCase): + """ + Test the functions in the :mod:`openlyricsimport` module. + """ + def create_importer_test(self): + """ + Test creating an instance of the OpenLyrics file importer + """ + # GIVEN: A mocked out SongImport class, and a mocked out "manager" + with patch('openlp.plugins.songs.lib.songbeamerimport.SongImport'): + mocked_manager = MagicMock() + + # WHEN: An importer object is created + importer = OpenLyricsImport(mocked_manager, filenames=[]) + + # THEN: The importer should be an instance of SongImport + self.assertIsInstance(importer, SongImport) From 9da5d290cb84140a1807a36bc37f35623e4b3423 Mon Sep 17 00:00:00 2001 From: Samuel Mehrbrodt Date: Thu, 10 Apr 2014 18:18:25 +0200 Subject: [PATCH 03/14] Typo --- tests/functional/openlp_plugins/songs/test_openlyricsimport.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/functional/openlp_plugins/songs/test_openlyricsimport.py b/tests/functional/openlp_plugins/songs/test_openlyricsimport.py index a05f08d61..74a291152 100644 --- a/tests/functional/openlp_plugins/songs/test_openlyricsimport.py +++ b/tests/functional/openlp_plugins/songs/test_openlyricsimport.py @@ -37,7 +37,7 @@ from openlp.plugins.songs.lib.openlyricsimport import OpenLyricsImport from openlp.plugins.songs.lib.songimport import SongImport -class TestSongBeamerImport(TestCase): +class TestOpenLyricsImport(TestCase): """ Test the functions in the :mod:`openlyricsimport` module. """ From be4a65429879a0e15fa6ff064ce8dc2da86d50aa Mon Sep 17 00:00:00 2001 From: Samuel Mehrbrodt Date: Wed, 16 Apr 2014 00:23:29 +0200 Subject: [PATCH 04/14] More tests --- openlp/plugins/songs/lib/openlyricsimport.py | 4 +- .../songs/test_openlyricsimport.py | 40 ++++++++++++++ .../Mám zde přítele, Pána Ježíše.xml | 53 +++++++++++++++++++ 3 files changed, 95 insertions(+), 2 deletions(-) create mode 100644 tests/resources/openlyricssongs/Mám zde přítele, Pána Ježíše.xml diff --git a/openlp/plugins/songs/lib/openlyricsimport.py b/openlp/plugins/songs/lib/openlyricsimport.py index 675c0d98a..6e6cc8efa 100644 --- a/openlp/plugins/songs/lib/openlyricsimport.py +++ b/openlp/plugins/songs/lib/openlyricsimport.py @@ -53,7 +53,7 @@ class OpenLyricsImport(SongImport): Initialise the Open Lyrics importer. """ log.debug('initialise OpenLyricsImport') - SongImport.__init__(self, manager, **kwargs) + super(OpenLyricsImport, self).__init__(manager, **kwargs) self.open_lyrics = OpenLyrics(self.manager) def do_import(self): @@ -71,7 +71,7 @@ class OpenLyricsImport(SongImport): # special characters in the path (see lp:757673 and lp:744337). parsed_file = etree.parse(open(file_path, 'r'), parser) xml = etree.tostring(parsed_file).decode() - self.open_lyrics.xml_to_song(xml) + return self.open_lyrics.xml_to_song(xml) except etree.XMLSyntaxError: log.exception('XML syntax error in file %s' % file_path) self.log_error(file_path, SongStrings.XMLSyntaxError) diff --git a/tests/functional/openlp_plugins/songs/test_openlyricsimport.py b/tests/functional/openlp_plugins/songs/test_openlyricsimport.py index 74a291152..5465a03e4 100644 --- a/tests/functional/openlp_plugins/songs/test_openlyricsimport.py +++ b/tests/functional/openlp_plugins/songs/test_openlyricsimport.py @@ -30,12 +30,30 @@ This module contains tests for the OpenLyrics song importer. """ +import os from unittest import TestCase from tests.functional import MagicMock, patch from openlp.plugins.songs.lib.openlyricsimport import OpenLyricsImport from openlp.plugins.songs.lib.songimport import SongImport +TEST_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__), + '..', '..', '..', 'resources', 'openlyricssongs')) +SONG_TEST_DATA = { + 'Mám zde přítele, Pána Ježíše.xml': { + 'title': 'Mám zde přítele', + 'verses': [ + ('Mám zde přítele,\nPána Ježíše,\na na rámě jeho spoléhám;\nv něm své stěstí mám,\n\ + pokoj nalézám,\nkdyž na rámě jeho spoléhám!', 'v1'), + ('Boží rámě\nje v soužení náš pevný hrad;\nBoží rámě,\nuč se na ně vždycky spoléhat!', 'c'), + ('Jak je sladké být,\nv jeho družině,\nkdyž na rámě jeho spoléhám,\njak se života\ncesta zjasňuje\n\ + když na rámě Boží spoléhám!', 'v2'), + ('Čeho bych se bál,\nčeho strachoval,\nkdyž na rámě Boží spoléhám?\nMír je v duši mé,\n\ + když On blízko je,\nkdyž na rámě jeho spoléhám.', 'v') + ] + } +} + class TestOpenLyricsImport(TestCase): """ @@ -54,3 +72,25 @@ class TestOpenLyricsImport(TestCase): # THEN: The importer should be an instance of SongImport self.assertIsInstance(importer, SongImport) + + @patch('openlp.plugins.songs.lib.db.Song') + @patch('openlp.plugins.songs.lib.songbeamerimport.SongImport') + def file_import_test(self, mock_songimport, mock_song): + """ + Test the actual import of real song files and check that the imported data is correct. + """ + + # GIVEN: Test files with a mocked out "manager" and a mocked out "import_wizard" + for song_file in SONG_TEST_DATA: + mocked_manager = MagicMock() + mocked_import_wizard = MagicMock() + importer = OpenLyricsImport(mocked_manager, filenames=[]) + importer.import_wizard = mocked_import_wizard + + # WHEN: Importing each file + importer.import_source = [os.path.join(TEST_PATH, song_file)] + song = importer.do_import() + + # THEN: the song title should be as expected + self.assertEqual(song.title, SONG_TEST_DATA[song_file]['title'], + 'title for %s should be "%s"' % (song_file, SONG_TEST_DATA[song_file]['title'])) diff --git a/tests/resources/openlyricssongs/Mám zde přítele, Pána Ježíše.xml b/tests/resources/openlyricssongs/Mám zde přítele, Pána Ježíše.xml new file mode 100644 index 000000000..0914b4dfe --- /dev/null +++ b/tests/resources/openlyricssongs/Mám zde přítele, Pána Ježíše.xml @@ -0,0 +1,53 @@ + + + + + Mám zde přítele + + + A.J. Showalter + E.A. Hoffman + + v1 c v2 c v3 c + + + + + Mám zde přítele,
+ Pána Ježíše,
+ a na rámě jeho spoléhám;
+ v něm své stěstí mám,
+ pokoj nalézám,
+ když na rámě jeho spoléhám! +
+
+ + + Boží rámě
+ je v soužení náš pevný hrad;
+ Boží rámě,
+ uč se na ně vždycky spoléhat! +
+
+ + + Jak je sladké být,
+ v jeho družině,
+ když na rámě jeho spoléhám,
+ jak se života
+ cesta zjasňuje
+ když na rámě Boží spoléhám! +
+
+ + + Čeho bych se bál,
+ čeho strachoval,
+ když na rámě Boží spoléhám?
+ Mír je v duši mé,
+ když On blízko je,
+ když na rámě jeho spoléhám. +
+
+
+
From c3ed2c02ee6e6b46d5a2db92583f2c896b9a0d3a Mon Sep 17 00:00:00 2001 From: Samuel Mehrbrodt Date: Wed, 16 Apr 2014 09:56:37 +0200 Subject: [PATCH 05/14] Fix bug 1247493 Fixes: https://launchpad.net/bugs/1247493 --- openlp/plugins/bibles/lib/opensong.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/openlp/plugins/bibles/lib/opensong.py b/openlp/plugins/bibles/lib/opensong.py index a522c1c57..e35aa2e3b 100644 --- a/openlp/plugins/bibles/lib/opensong.py +++ b/openlp/plugins/bibles/lib/opensong.py @@ -73,13 +73,13 @@ class OpenSongBible(BibleDB): log.debug('Starting OpenSong import from "%s"' % self.filename) if not isinstance(self.filename, str): self.filename = str(self.filename, 'utf8') - file = None + import_file = None success = True try: # NOTE: We don't need to do any of the normal encoding detection here, because lxml does it's own encoding # detection, and the two mechanisms together interfere with each other. - file = open(self.filename, 'r') - opensong = objectify.parse(file) + import_file = open(self.filename, 'rb') + opensong = objectify.parse(import_file) bible = opensong.getroot() language_id = self.get_language(bible_name) if not language_id: @@ -93,7 +93,7 @@ class OpenSongBible(BibleDB): log.error('Importing books from "%s" failed' % self.filename) return False book_details = BiblesResourcesDB.get_book_by_id(book_ref_id) - db_book = self.create_book(str(book.attrib['n']), book_ref_id, book_details['testament_id']) + db_book = self.create_book(book.attrib['n'], book_ref_id, book_details['testament_id']) chapter_number = 0 for chapter in book.c: if self.stop_import_flag: @@ -122,8 +122,8 @@ class OpenSongBible(BibleDB): verse_number += 1 self.create_verse(db_book.id, chapter_number, verse_number, self.get_text(verse)) self.wizard.increment_progress_bar( - translate('BiblesPlugin.Opensong', 'Importing %s %s...', - 'Importing ...')) % (db_book.name, chapter_number) + translate('BiblesPlugin.Opensong', 'Importing %(bookname)s %(chapter)s...' % + {'bookname':db_book.name, 'chapter': chapter_number})) self.session.commit() self.application.process_events() except etree.XMLSyntaxError as inst: @@ -137,8 +137,8 @@ class OpenSongBible(BibleDB): log.exception('Loading Bible from OpenSong file failed') success = False finally: - if file: - file.close() + if import_file: + import_file.close() if self.stop_import_flag: return False else: From 5929b0258675a169b696b59646b3ce3b84869fc2 Mon Sep 17 00:00:00 2001 From: Samuel Mehrbrodt Date: Wed, 16 Apr 2014 10:25:17 +0200 Subject: [PATCH 06/14] Test: Songbeamer Authors import --- .../openlp_plugins/songs/test_songbeamerimport.py | 7 ++++++- tests/resources/songbeamersongs/Lobsinget dem Herrn.sng | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/tests/functional/openlp_plugins/songs/test_songbeamerimport.py b/tests/functional/openlp_plugins/songs/test_songbeamerimport.py index f08cedec5..c408b4dbe 100644 --- a/tests/functional/openlp_plugins/songs/test_songbeamerimport.py +++ b/tests/functional/openlp_plugins/songs/test_songbeamerimport.py @@ -49,7 +49,8 @@ SONG_TEST_DATA = { ('4. Lobsingt seiner Treu´,\ndie immerdar neu,\nbis Er uns zur Herrlichket führet!\n\n', 'v') ], 'song_book_name': 'Glaubenslieder I', - 'song_number': "1" + 'song_number': "1", + 'authors': ['Carl Brockhaus', 'Johann Jakob Vetter'] } } @@ -140,6 +141,7 @@ class TestSongBeamerImport(TestCase): add_verse_calls = SONG_TEST_DATA[song_file]['verses'] song_book_name = SONG_TEST_DATA[song_file]['song_book_name'] song_number = SONG_TEST_DATA[song_file]['song_number'] + song_authors = SONG_TEST_DATA[song_file]['authors'] # THEN: do_import should return none, the song data should be as expected, and finish should have been # called. @@ -153,6 +155,9 @@ class TestSongBeamerImport(TestCase): if song_number: self.assertEqual(importer.song_number, song_number, 'song_number for %s should be %s' % (song_file, song_number)) + if song_authors: + for author in importer.authors: + self.assertIn(author, song_authors) mocked_finish.assert_called_with() def check_verse_marks_test(self): diff --git a/tests/resources/songbeamersongs/Lobsinget dem Herrn.sng b/tests/resources/songbeamersongs/Lobsinget dem Herrn.sng index fbc9aa9fc..c93a143fa 100644 --- a/tests/resources/songbeamersongs/Lobsinget dem Herrn.sng +++ b/tests/resources/songbeamersongs/Lobsinget dem Herrn.sng @@ -1,5 +1,7 @@ #LangCount=1 #Title=GL 1 - Lobsinget dem Herrn +#Author=Carl Brockhaus +#Melody=Johann Jakob Vetter #Editor=SongBeamer 4.20 #Version=3 #Format=F/K// From bb1af7ed00a01fd8e8cef3b438d4d4d3214256c8 Mon Sep 17 00:00:00 2001 From: Samuel Mehrbrodt Date: Wed, 16 Apr 2014 21:56:54 +0200 Subject: [PATCH 07/14] PEP8 --- openlp/plugins/bibles/lib/opensong.py | 2 +- openlp/plugins/songs/lib/songbeamerimport.py | 2 +- scripts/translation_utils.py | 2 +- .../openlp_core_common/test_common.py | 4 ++-- .../openlp_core_lib/test_file_dialog.py | 2 +- tests/functional/openlp_core_lib/test_ui.py | 2 +- .../openlp_core_ui/test_maindisplay.py | 2 +- .../openlp_plugins/songs/test_ewimport.py | 14 ++++++------- .../songs/test_foilpresenterimport.py | 2 +- .../openlp_plugins/songs/test_lib.py | 1 - .../songs/test_songbeamerimport.py | 10 +++++----- .../songs/test_songshowplusimport.py | 12 +++++------ tests/helpers/songfileimport.py | 20 +++++++++---------- .../bibles/test_lib_parse_reference.py | 4 ++-- 14 files changed, 39 insertions(+), 40 deletions(-) diff --git a/openlp/plugins/bibles/lib/opensong.py b/openlp/plugins/bibles/lib/opensong.py index e35aa2e3b..c7bfa01a2 100644 --- a/openlp/plugins/bibles/lib/opensong.py +++ b/openlp/plugins/bibles/lib/opensong.py @@ -123,7 +123,7 @@ class OpenSongBible(BibleDB): self.create_verse(db_book.id, chapter_number, verse_number, self.get_text(verse)) self.wizard.increment_progress_bar( translate('BiblesPlugin.Opensong', 'Importing %(bookname)s %(chapter)s...' % - {'bookname':db_book.name, 'chapter': chapter_number})) + {'bookname': db_book.name, 'chapter': chapter_number})) self.session.commit() self.application.process_events() except etree.XMLSyntaxError as inst: diff --git a/openlp/plugins/songs/lib/songbeamerimport.py b/openlp/plugins/songs/lib/songbeamerimport.py index 5b86591e8..a0b166ded 100644 --- a/openlp/plugins/songs/lib/songbeamerimport.py +++ b/openlp/plugins/songs/lib/songbeamerimport.py @@ -137,7 +137,7 @@ class SongBeamerImport(SongImport): if line.startswith('#') and not read_verses: self.parseTags(line) elif line.startswith('--'): - # --- and -- allowed for page-breaks (difference in Songbeamer only in printout) + # --- and -- allowed for page-breaks (difference in Songbeamer only in printout) if self.current_verse: self.replace_html_tags() self.add_verse(self.current_verse, self.current_verse_type) diff --git a/scripts/translation_utils.py b/scripts/translation_utils.py index 5aa320806..ad3edcaa3 100755 --- a/scripts/translation_utils.py +++ b/scripts/translation_utils.py @@ -96,7 +96,7 @@ class CommandStack(object): return len(self.data) def __getitem__(self, index): - if not index in self.data: + if index not in self.data: return None elif self.data[index].get('arguments'): return self.data[index]['command'], self.data[index]['arguments'] diff --git a/tests/functional/openlp_core_common/test_common.py b/tests/functional/openlp_core_common/test_common.py index 90b7d0520..ab2d11b3a 100644 --- a/tests/functional/openlp_core_common/test_common.py +++ b/tests/functional/openlp_core_common/test_common.py @@ -79,5 +79,5 @@ class TestCommonFunctions(TestCase): trace_error_handler(mocked_logger) # THEN: The mocked_logger.error() method should have been called with the correct parameters - mocked_logger.error.assert_called_with('OpenLP Error trace\n File openlp.fake at line 56 \n\t called trace_error_handler_test') - + mocked_logger.error.assert_called_with( + 'OpenLP Error trace\n File openlp.fake at line 56 \n\t called trace_error_handler_test') diff --git a/tests/functional/openlp_core_lib/test_file_dialog.py b/tests/functional/openlp_core_lib/test_file_dialog.py index b2c2178a9..3120f48fa 100644 --- a/tests/functional/openlp_core_lib/test_file_dialog.py +++ b/tests/functional/openlp_core_lib/test_file_dialog.py @@ -54,7 +54,7 @@ class TestFileDialog(TestCase): self.mocked_qt_gui.reset() # GIVEN: A List of known values as a return value from QFileDialog.getOpenFileNames and a list of valid - # file names. + # file names. self.mocked_qt_gui.QFileDialog.getOpenFileNames.return_value = [ '/Valid File', '/url%20encoded%20file%20%231', '/non-existing'] self.mocked_os.path.exists.side_effect = lambda file_name: file_name in [ diff --git a/tests/functional/openlp_core_lib/test_ui.py b/tests/functional/openlp_core_lib/test_ui.py index 91d59ab5a..025b1a638 100644 --- a/tests/functional/openlp_core_lib/test_ui.py +++ b/tests/functional/openlp_core_lib/test_ui.py @@ -162,7 +162,7 @@ class TestUi(TestCase): # WHEN: We create an action with some properties action = create_action(dialog, 'my_action', text='my text', icon=':/wizards/wizard_firsttime.bmp', - tooltip='my tooltip', statustip='my statustip') + tooltip='my tooltip', statustip='my statustip') # THEN: These properties should be set self.assertIsInstance(action, QtGui.QAction) diff --git a/tests/functional/openlp_core_ui/test_maindisplay.py b/tests/functional/openlp_core_ui/test_maindisplay.py index b1a4dc7f7..6d67a3b67 100644 --- a/tests/functional/openlp_core_ui/test_maindisplay.py +++ b/tests/functional/openlp_core_ui/test_maindisplay.py @@ -106,4 +106,4 @@ class TestMainDisplay(TestCase): self.assertEqual('QGraphicsView {}', main_display.styleSheet(), 'MainDisplay instance should not be transparent') self.assertFalse(main_display.testAttribute(QtCore.Qt.WA_TranslucentBackground), - 'MainDisplay hasnt translucent background') + 'MainDisplay hasnt translucent background') diff --git a/tests/functional/openlp_plugins/songs/test_ewimport.py b/tests/functional/openlp_plugins/songs/test_ewimport.py index c1b9db52d..182a6b04a 100644 --- a/tests/functional/openlp_plugins/songs/test_ewimport.py +++ b/tests/functional/openlp_plugins/songs/test_ewimport.py @@ -141,7 +141,7 @@ class TestEasyWorshipSongImport(TestCase): self.assertIsNotNone(field_desc_entry, 'Import should not be none') self.assertEqual(field_desc_entry.name, name, 'FieldDescEntry.name should be the same as the name argument') self.assertEqual(field_desc_entry.field_type, field_type, - 'FieldDescEntry.type should be the same as the type argument') + 'FieldDescEntry.type should be the same as the type argument') self.assertEqual(field_desc_entry.size, size, 'FieldDescEntry.size should be the same as the size argument') def create_importer_test(self): @@ -229,10 +229,10 @@ class TestEasyWorshipSongImport(TestCase): for field_index, result in field_results: return_value = importer.get_field(field_index) - # THEN: get_field should return the known results + # THEN: get_field should return the known results self.assertEqual(return_value, result, - 'get_field should return "%s" when called with "%s"' % - (result, TEST_FIELDS[field_index])) + 'get_field should return "%s" when called with "%s"' % + (result, TEST_FIELDS[field_index])) def get_memo_field_test(self): """ @@ -403,11 +403,11 @@ class TestEasyWorshipSongImport(TestCase): if song_copyright: self.assertEqual(importer.copyright, song_copyright) if ccli_number: - self.assertEqual(importer.ccli_number, ccli_number, 'ccli_number for %s should be %s' - % (title, ccli_number)) + self.assertEqual(importer.ccli_number, ccli_number, + 'ccli_number for %s should be %s' % (title, ccli_number)) for verse_text, verse_tag in add_verse_calls: mocked_add_verse.assert_any_call(verse_text, verse_tag) if verse_order_list: self.assertEqual(importer.verse_order_list, verse_order_list, - 'verse_order_list for %s should be %s' % (title, verse_order_list)) + 'verse_order_list for %s should be %s' % (title, verse_order_list)) mocked_finish.assert_called_with() diff --git a/tests/functional/openlp_plugins/songs/test_foilpresenterimport.py b/tests/functional/openlp_plugins/songs/test_foilpresenterimport.py index fbd339cf3..61206b9fa 100644 --- a/tests/functional/openlp_plugins/songs/test_foilpresenterimport.py +++ b/tests/functional/openlp_plugins/songs/test_foilpresenterimport.py @@ -44,7 +44,7 @@ class TestFoilPresenter(TestCase): """ Test the functions in the :mod:`foilpresenterimport` module. """ - #TODO: The following modules still need tests written for + # TODO: The following modules still need tests written for # xml_to_song # _child # _process_authors diff --git a/tests/functional/openlp_plugins/songs/test_lib.py b/tests/functional/openlp_plugins/songs/test_lib.py index 2ab808bc9..b67c1a4be 100644 --- a/tests/functional/openlp_plugins/songs/test_lib.py +++ b/tests/functional/openlp_plugins/songs/test_lib.py @@ -129,7 +129,6 @@ class TestLib(TestCase): # THEN: The result should be a tuple of songs.. assert result == (self.song1, self.song2), 'The result should be the tuble of songs' - def songs_probably_equal_different_song_test(self): """ Test the songs_probably_equal function with two different songs. diff --git a/tests/functional/openlp_plugins/songs/test_songbeamerimport.py b/tests/functional/openlp_plugins/songs/test_songbeamerimport.py index c408b4dbe..a69d4a86c 100644 --- a/tests/functional/openlp_plugins/songs/test_songbeamerimport.py +++ b/tests/functional/openlp_plugins/songs/test_songbeamerimport.py @@ -92,7 +92,7 @@ class TestSongBeamerImport(TestCase): # THEN: do_import should return none and the progress bar maximum should not be set. self.assertIsNone(importer.do_import(), 'do_import should return None when import_source is not a list') self.assertEqual(mocked_import_wizard.progress_bar.setMaximum.called, False, - 'setMaxium on import_wizard.progress_bar should not have been called') + 'setMaxium on import_wizard.progress_bar should not have been called') def valid_import_source_test(self): """ @@ -150,11 +150,11 @@ class TestSongBeamerImport(TestCase): for verse_text, verse_tag in add_verse_calls: mocked_add_verse.assert_any_call(verse_text, verse_tag) if song_book_name: - self.assertEqual(importer.song_book_name, song_book_name, 'song_book_name for %s should be "%s"' % - (song_file, song_book_name)) + self.assertEqual(importer.song_book_name, song_book_name, + 'song_book_name for %s should be "%s"' % (song_file, song_book_name)) if song_number: - self.assertEqual(importer.song_number, song_number, 'song_number for %s should be %s' % - (song_file, song_number)) + self.assertEqual(importer.song_number, song_number, + 'song_number for %s should be %s' % (song_file, song_number)) if song_authors: for author in importer.authors: self.assertIn(author, song_authors) diff --git a/tests/functional/openlp_plugins/songs/test_songshowplusimport.py b/tests/functional/openlp_plugins/songs/test_songshowplusimport.py index f2839c332..7292bb2b0 100644 --- a/tests/functional/openlp_plugins/songs/test_songshowplusimport.py +++ b/tests/functional/openlp_plugins/songs/test_songshowplusimport.py @@ -96,7 +96,7 @@ class TestSongShowPlusImport(TestCase): # THEN: do_import should return none and the progress bar maximum should not be set. self.assertIsNone(importer.do_import(), 'do_import should return None when import_source is not a list') self.assertEqual(mocked_import_wizard.progress_bar.setMaximum.called, False, - 'setMaximum on import_wizard.progress_bar should not have been called') + 'setMaximum on import_wizard.progress_bar should not have been called') def valid_import_source_test(self): """ @@ -116,7 +116,7 @@ class TestSongShowPlusImport(TestCase): # THEN: do_import should return none and the progress bar setMaximum should be called with the length of # import_source. self.assertIsNone(importer.do_import(), 'do_import should return None when import_source is a list ' - 'and stop_import_flag is True') + 'and stop_import_flag is True') mocked_import_wizard.progress_bar.setMaximum.assert_called_with(len(importer.import_source)) def to_openlp_verse_tag_test(self): @@ -144,8 +144,8 @@ class TestSongShowPlusImport(TestCase): # THEN: The returned value should should correlate with the input arguments for original_tag, openlp_tag in test_values: self.assertEqual(importer.to_openlp_verse_tag(original_tag), openlp_tag, - 'SongShowPlusImport.to_openlp_verse_tag should return "%s" when called with "%s"' % - (openlp_tag, original_tag)) + 'SongShowPlusImport.to_openlp_verse_tag should return "%s" when called with "%s"' % + (openlp_tag, original_tag)) def to_openlp_verse_tag_verse_order_test(self): """ @@ -173,5 +173,5 @@ class TestSongShowPlusImport(TestCase): # THEN: The returned value should should correlate with the input arguments for original_tag, openlp_tag in test_values: self.assertEqual(importer.to_openlp_verse_tag(original_tag, ignore_unique=True), openlp_tag, - 'SongShowPlusImport.to_openlp_verse_tag should return "%s" when called with "%s"' % - (openlp_tag, original_tag)) + 'SongShowPlusImport.to_openlp_verse_tag should return "%s" when called with "%s"' % + (openlp_tag, original_tag)) diff --git a/tests/helpers/songfileimport.py b/tests/helpers/songfileimport.py index 49a09528c..5364c2c3b 100644 --- a/tests/helpers/songfileimport.py +++ b/tests/helpers/songfileimport.py @@ -116,24 +116,24 @@ class SongImportTestHelper(TestCase): if song_copyright: self.mocked_add_copyright.assert_called_with(song_copyright) if ccli_number: - self.assertEqual(importer.ccli_number, ccli_number, 'ccli_number for %s should be %s' % - (source_file_name, ccli_number)) + self.assertEqual(importer.ccli_number, ccli_number, + 'ccli_number for %s should be %s' % (source_file_name, ccli_number)) for verse_text, verse_tag in add_verse_calls: self.mocked_add_verse.assert_any_call(verse_text, verse_tag) if topics: self.assertEqual(importer.topics, topics, 'topics for %s should be %s' % (source_file_name, topics)) if comments: - self.assertEqual(importer.comments, comments, 'comments for %s should be "%s"' % - (source_file_name, comments)) + self.assertEqual(importer.comments, comments, + 'comments for %s should be "%s"' % (source_file_name, comments)) if song_book_name: - self.assertEqual(importer.song_book_name, song_book_name, 'song_book_name for %s should be "%s"' % - (source_file_name, song_book_name)) + self.assertEqual(importer.song_book_name, song_book_name, + 'song_book_name for %s should be "%s"' % (source_file_name, song_book_name)) if song_number: - self.assertEqual(importer.song_number, song_number, 'song_number for %s should be %s' % - (source_file_name, song_number)) + self.assertEqual(importer.song_number, song_number, + 'song_number for %s should be %s' % (source_file_name, song_number)) if verse_order_list: - self.assertEqual(importer.verse_order_list, [], 'verse_order_list for %s should be %s' % - (source_file_name, verse_order_list)) + self.assertEqual(importer.verse_order_list, [], + 'verse_order_list for %s should be %s' % (source_file_name, verse_order_list)) self.mocked_finish.assert_called_with() def _get_data(self, data, key): diff --git a/tests/interfaces/openlp_plugins/bibles/test_lib_parse_reference.py b/tests/interfaces/openlp_plugins/bibles/test_lib_parse_reference.py index 84f80e7ed..e20105ea1 100644 --- a/tests/interfaces/openlp_plugins/bibles/test_lib_parse_reference.py +++ b/tests/interfaces/openlp_plugins/bibles/test_lib_parse_reference.py @@ -103,5 +103,5 @@ class TestBibleManager(TestCase, TestMixin): # WHEN asking to parse the bible reference results = parse_reference('1 Timothy 1:1-2:1', self.manager.db_cache['tests'], MagicMock(), 54) # THEN a verse array should be returned - self.assertEqual([(54, 1, 1, -1), (54, 2, 1, 1)], results, "The bible verses should matches the expected " - "results") + self.assertEqual([(54, 1, 1, -1), (54, 2, 1, 1)], results, + "The bible verses should match the expected results") From dd4e2c8d6151c3b898d8caf2176a78b25a673011 Mon Sep 17 00:00:00 2001 From: Samuel Mehrbrodt Date: Wed, 16 Apr 2014 21:59:34 +0200 Subject: [PATCH 08/14] More PEP8 --- tests/functional/openlp_core_lib/test_lib.py | 2 +- tests/functional/openlp_core_ui/test_formattingtagsform.py | 4 ++-- tests/functional/openlp_plugins/bibles/test_http.py | 4 ++-- .../openlp_plugins/presentations/test_pptviewcontroller.py | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/functional/openlp_core_lib/test_lib.py b/tests/functional/openlp_core_lib/test_lib.py index bb3a17ebb..b4334a728 100644 --- a/tests/functional/openlp_core_lib/test_lib.py +++ b/tests/functional/openlp_core_lib/test_lib.py @@ -482,7 +482,7 @@ class TestLib(TestCase): # WHEN: we run the validate_thumb() function # THEN: we should have called a few functions, and the result should be True - #mocked_os.path.exists.assert_called_with(thumb_path) + # mocked_os.path.exists.assert_called_with(thumb_path) def validate_thumb_file_exists_and_older_test(self): """ diff --git a/tests/functional/openlp_core_ui/test_formattingtagsform.py b/tests/functional/openlp_core_ui/test_formattingtagsform.py index 05b5fed74..e71a75651 100644 --- a/tests/functional/openlp_core_ui/test_formattingtagsform.py +++ b/tests/functional/openlp_core_ui/test_formattingtagsform.py @@ -70,7 +70,7 @@ class TestFormattingTagForm(TestCase): form.save_button = MagicMock() # WHEN: on_text_edited is called with an arbitrary value - #form.on_text_edited('text') + # form.on_text_edited('text') # THEN: setEnabled and setDefault should have been called on save_push_button - #form.save_button.setEnabled.assert_called_with(True) + # form.save_button.setEnabled.assert_called_with(True) diff --git a/tests/functional/openlp_plugins/bibles/test_http.py b/tests/functional/openlp_plugins/bibles/test_http.py index 05a59a509..060c00d02 100644 --- a/tests/functional/openlp_plugins/bibles/test_http.py +++ b/tests/functional/openlp_plugins/bibles/test_http.py @@ -35,7 +35,7 @@ from bs4 import BeautifulSoup from tests.functional import patch, MagicMock from openlp.plugins.bibles.lib.http import BSExtract -#TODO: Items left to test +# TODO: Items left to test # BGExtract # __init__ # _remove_elements @@ -68,7 +68,7 @@ class TestBSExtract(TestCase): """ Test the BSExtractClass """ - #TODO: Items left to test + # TODO: Items left to test # BSExtract # __init__ # get_bible_chapter diff --git a/tests/functional/openlp_plugins/presentations/test_pptviewcontroller.py b/tests/functional/openlp_plugins/presentations/test_pptviewcontroller.py index 8a8897cec..c3d0912c0 100644 --- a/tests/functional/openlp_plugins/presentations/test_pptviewcontroller.py +++ b/tests/functional/openlp_plugins/presentations/test_pptviewcontroller.py @@ -47,7 +47,7 @@ class TestPptviewController(TestCase, TestMixin): """ Test the PptviewController Class """ -#TODO: Items left to test +# TODO: Items left to test # PptviewController # start_process(self) # kill @@ -108,7 +108,7 @@ class TestPptviewDocument(TestCase): """ Test the PptviewDocument Class """ - #TODO: Items left to test + # TODO: Items left to test # PptviewDocument # __init__ # create_thumbnails From 2c6da0603b779856b1a3ae98af2af0ed94c5577b Mon Sep 17 00:00:00 2001 From: Samuel Mehrbrodt Date: Wed, 16 Apr 2014 22:33:06 +0200 Subject: [PATCH 09/14] Fix tests --- openlp/plugins/songs/lib/openlyricsimport.py | 2 +- .../songs/test_openlyricsimport.py | 16 +++++++--------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/openlp/plugins/songs/lib/openlyricsimport.py b/openlp/plugins/songs/lib/openlyricsimport.py index 6e6cc8efa..cdb017bae 100644 --- a/openlp/plugins/songs/lib/openlyricsimport.py +++ b/openlp/plugins/songs/lib/openlyricsimport.py @@ -71,7 +71,7 @@ class OpenLyricsImport(SongImport): # special characters in the path (see lp:757673 and lp:744337). parsed_file = etree.parse(open(file_path, 'r'), parser) xml = etree.tostring(parsed_file).decode() - return self.open_lyrics.xml_to_song(xml) + self.open_lyrics.xml_to_song(xml) except etree.XMLSyntaxError: log.exception('XML syntax error in file %s' % file_path) self.log_error(file_path, SongStrings.XMLSyntaxError) diff --git a/tests/functional/openlp_plugins/songs/test_openlyricsimport.py b/tests/functional/openlp_plugins/songs/test_openlyricsimport.py index 5465a03e4..5f005e10e 100644 --- a/tests/functional/openlp_plugins/songs/test_openlyricsimport.py +++ b/tests/functional/openlp_plugins/songs/test_openlyricsimport.py @@ -73,24 +73,22 @@ class TestOpenLyricsImport(TestCase): # THEN: The importer should be an instance of SongImport self.assertIsInstance(importer, SongImport) - @patch('openlp.plugins.songs.lib.db.Song') - @patch('openlp.plugins.songs.lib.songbeamerimport.SongImport') - def file_import_test(self, mock_songimport, mock_song): + def file_import_test(self): """ - Test the actual import of real song files and check that the imported data is correct. + Test the actual import of real song files and check that the importer is called. """ - # GIVEN: Test files with a mocked out "manager" and a mocked out "import_wizard" for song_file in SONG_TEST_DATA: mocked_manager = MagicMock() mocked_import_wizard = MagicMock() importer = OpenLyricsImport(mocked_manager, filenames=[]) importer.import_wizard = mocked_import_wizard + importer.open_lyrics = MagicMock() + importer.open_lyrics.xml_to_song = MagicMock() # WHEN: Importing each file importer.import_source = [os.path.join(TEST_PATH, song_file)] - song = importer.do_import() + importer.do_import() - # THEN: the song title should be as expected - self.assertEqual(song.title, SONG_TEST_DATA[song_file]['title'], - 'title for %s should be "%s"' % (song_file, SONG_TEST_DATA[song_file]['title'])) + # THEN: The xml_to_song() method should have been called + self.assertTrue(importer.open_lyrics.xml_to_song.called) From 655ebc009d7e93c1c55a9c154e364a1d55dcf142 Mon Sep 17 00:00:00 2001 From: Samuel Mehrbrodt Date: Wed, 16 Apr 2014 22:37:15 +0200 Subject: [PATCH 10/14] binary open --- openlp/plugins/songs/lib/openlyricsimport.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/plugins/songs/lib/openlyricsimport.py b/openlp/plugins/songs/lib/openlyricsimport.py index cdb017bae..031c5ba72 100644 --- a/openlp/plugins/songs/lib/openlyricsimport.py +++ b/openlp/plugins/songs/lib/openlyricsimport.py @@ -69,7 +69,7 @@ class OpenLyricsImport(SongImport): try: # Pass a file object, because lxml does not cope with some # special characters in the path (see lp:757673 and lp:744337). - parsed_file = etree.parse(open(file_path, 'r'), parser) + parsed_file = etree.parse(open(file_path, 'rb'), parser) xml = etree.tostring(parsed_file).decode() self.open_lyrics.xml_to_song(xml) except etree.XMLSyntaxError: From 9010e05430cfbc3bc4f392a1e8dd0c4c1992ba99 Mon Sep 17 00:00:00 2001 From: Samuel Mehrbrodt Date: Wed, 16 Apr 2014 22:42:44 +0200 Subject: [PATCH 11/14] add new openlyrics file --- .../songs/test_openlyricsimport.py | 18 ++++++-- .../What a friend we have in Jesus.xml | 44 +++++++++++++++++++ 2 files changed, 59 insertions(+), 3 deletions(-) create mode 100644 tests/resources/openlyricssongs/What a friend we have in Jesus.xml diff --git a/tests/functional/openlp_plugins/songs/test_openlyricsimport.py b/tests/functional/openlp_plugins/songs/test_openlyricsimport.py index 5f005e10e..c7a176d07 100644 --- a/tests/functional/openlp_plugins/songs/test_openlyricsimport.py +++ b/tests/functional/openlp_plugins/songs/test_openlyricsimport.py @@ -40,8 +40,20 @@ from openlp.plugins.songs.lib.songimport import SongImport TEST_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..', 'resources', 'openlyricssongs')) SONG_TEST_DATA = { - 'Mám zde přítele, Pána Ježíše.xml': { - 'title': 'Mám zde přítele', + #'Mám zde přítele, Pána Ježíše.xml': { + # 'title': 'Mám zde přítele', + # 'verses': [ + # ('Mám zde přítele,\nPána Ježíše,\na na rámě jeho spoléhám;\nv něm své stěstí mám,\n\ + # pokoj nalézám,\nkdyž na rámě jeho spoléhám!', 'v1'), + # ('Boží rámě\nje v soužení náš pevný hrad;\nBoží rámě,\nuč se na ně vždycky spoléhat!', 'c'), + # ('Jak je sladké být,\nv jeho družině,\nkdyž na rámě jeho spoléhám,\njak se života\ncesta zjasňuje\n\ + # když na rámě Boží spoléhám!', 'v2'), + # ('Čeho bych se bál,\nčeho strachoval,\nkdyž na rámě Boží spoléhám?\nMír je v duši mé,\n\ + # když On blízko je,\nkdyž na rámě jeho spoléhám.', 'v') + # ] + #}, + 'What a friend we have in Jesus.xml': { + 'title': 'What A Friend We Have In Jesus', 'verses': [ ('Mám zde přítele,\nPána Ježíše,\na na rámě jeho spoléhám;\nv něm své stěstí mám,\n\ pokoj nalézám,\nkdyž na rámě jeho spoléhám!', 'v1'), @@ -75,7 +87,7 @@ class TestOpenLyricsImport(TestCase): def file_import_test(self): """ - Test the actual import of real song files and check that the importer is called. + Test the actual import of real song files """ # GIVEN: Test files with a mocked out "manager" and a mocked out "import_wizard" for song_file in SONG_TEST_DATA: diff --git a/tests/resources/openlyricssongs/What a friend we have in Jesus.xml b/tests/resources/openlyricssongs/What a friend we have in Jesus.xml new file mode 100644 index 000000000..a111c853c --- /dev/null +++ b/tests/resources/openlyricssongs/What a friend we have in Jesus.xml @@ -0,0 +1,44 @@ + + + + + What A Friend We Have In Jesus + + + Joseph M. Scriven + Charles C. Convers + + Public Domain + 27714 + + Christ: Love/Mercy + Fruit: Peace/Comfort + + + + + + What a friend we have in Jesus, All ours sins and griefs to bear;
+ What a privilege to carry, Everything to God in prayer!
+ O what peace we often forfeit, O what needless pain we bear;
+ All because we do not carry, Everything to God in prayer! +
+
+ + + Have we trials and temptations? Is there trouble anywhere?
+ We should never be discouraged, Take it to the Lord in prayer.
+ Can we find a friend so faithful? Who will all our sorrows share?
+ Jesus knows our every weakness; Take it to the Lord in prayer. +
+
+ + + Are we weak and heavy laden, Cumbered with a load of care?
+ Precious Saviour still our refuge; Take it to the Lord in prayer.
+ Do thy friends despise forsake thee? Take it to the Lord in prayer!
+ In His arms He’ll take and shield thee; Thou wilt find a solace there. +
+
+
+
From 5f86811f8251edadd0202bfe233743626034d97d Mon Sep 17 00:00:00 2001 From: Samuel Mehrbrodt Date: Wed, 16 Apr 2014 23:01:57 +0200 Subject: [PATCH 12/14] Fix tests --- .../songs/test_openlyricsimport.py | 35 +++++++++++-------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/tests/functional/openlp_plugins/songs/test_openlyricsimport.py b/tests/functional/openlp_plugins/songs/test_openlyricsimport.py index c7a176d07..8ac0637be 100644 --- a/tests/functional/openlp_plugins/songs/test_openlyricsimport.py +++ b/tests/functional/openlp_plugins/songs/test_openlyricsimport.py @@ -40,20 +40,8 @@ from openlp.plugins.songs.lib.songimport import SongImport TEST_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..', 'resources', 'openlyricssongs')) SONG_TEST_DATA = { - #'Mám zde přítele, Pána Ježíše.xml': { - # 'title': 'Mám zde přítele', - # 'verses': [ - # ('Mám zde přítele,\nPána Ježíše,\na na rámě jeho spoléhám;\nv něm své stěstí mám,\n\ - # pokoj nalézám,\nkdyž na rámě jeho spoléhám!', 'v1'), - # ('Boží rámě\nje v soužení náš pevný hrad;\nBoží rámě,\nuč se na ně vždycky spoléhat!', 'c'), - # ('Jak je sladké být,\nv jeho družině,\nkdyž na rámě jeho spoléhám,\njak se života\ncesta zjasňuje\n\ - # když na rámě Boží spoléhám!', 'v2'), - # ('Čeho bych se bál,\nčeho strachoval,\nkdyž na rámě Boží spoléhám?\nMír je v duši mé,\n\ - # když On blízko je,\nkdyž na rámě jeho spoléhám.', 'v') - # ] - #}, - 'What a friend we have in Jesus.xml': { - 'title': 'What A Friend We Have In Jesus', + 'Mám zde přítele, Pána Ježíše.xml': { + 'title': 'Mám zde přítele', 'verses': [ ('Mám zde přítele,\nPána Ježíše,\na na rámě jeho spoléhám;\nv něm své stěstí mám,\n\ pokoj nalézám,\nkdyž na rámě jeho spoléhám!', 'v1'), @@ -61,7 +49,24 @@ SONG_TEST_DATA = { ('Jak je sladké být,\nv jeho družině,\nkdyž na rámě jeho spoléhám,\njak se života\ncesta zjasňuje\n\ když na rámě Boží spoléhám!', 'v2'), ('Čeho bych se bál,\nčeho strachoval,\nkdyž na rámě Boží spoléhám?\nMír je v duši mé,\n\ - když On blízko je,\nkdyž na rámě jeho spoléhám.', 'v') + když On blízko je,\nkdyž na rámě jeho spoléhám.', 'v3') + ] + }, + 'What a friend we have in Jesus.xml': { + 'title': 'What A Friend We Have In Jesus', + 'verses': [ + ('What a friend we have in Jesus, All ours sins and griefs to bear;\n\ + What a privilege to carry, Everything to God in prayer!\n\ + O what peace we often forfeit, O what needless pain we bear;\n\ + All because we do not carry, Everything to God in prayer!', 'v1'), + ('Have we trials and temptations? Is there trouble anywhere?\n\ + We should never be discouraged, Take it to the Lord in prayer.\n\ + Can we find a friend so faithful? Who will all our sorrows share?\n\ + Jesus knows our every weakness; Take it to the Lord in prayer.', 'v2'), + ('Are we weak and heavy laden, Cumbered with a load of care?\n\ + Precious Saviour still our refuge; Take it to the Lord in prayer.\n\ + Do thy friends despise forsake thee? Take it to the Lord in prayer!\n\ + In His arms He’ll take and shield thee; Thou wilt find a solace there.', 'v3') ] } } From d3443d12c2a35e6ac14a81e3f08714f53ce79e62 Mon Sep 17 00:00:00 2001 From: Samuel Mehrbrodt Date: Thu, 17 Apr 2014 16:32:56 +0200 Subject: [PATCH 13/14] Remove one test for now --- .../openlp_plugins/songs/test_openlyricsimport.py | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/tests/functional/openlp_plugins/songs/test_openlyricsimport.py b/tests/functional/openlp_plugins/songs/test_openlyricsimport.py index 8ac0637be..93ecafb78 100644 --- a/tests/functional/openlp_plugins/songs/test_openlyricsimport.py +++ b/tests/functional/openlp_plugins/songs/test_openlyricsimport.py @@ -40,18 +40,6 @@ from openlp.plugins.songs.lib.songimport import SongImport TEST_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..', 'resources', 'openlyricssongs')) SONG_TEST_DATA = { - 'Mám zde přítele, Pána Ježíše.xml': { - 'title': 'Mám zde přítele', - 'verses': [ - ('Mám zde přítele,\nPána Ježíše,\na na rámě jeho spoléhám;\nv něm své stěstí mám,\n\ - pokoj nalézám,\nkdyž na rámě jeho spoléhám!', 'v1'), - ('Boží rámě\nje v soužení náš pevný hrad;\nBoží rámě,\nuč se na ně vždycky spoléhat!', 'c'), - ('Jak je sladké být,\nv jeho družině,\nkdyž na rámě jeho spoléhám,\njak se života\ncesta zjasňuje\n\ - když na rámě Boží spoléhám!', 'v2'), - ('Čeho bych se bál,\nčeho strachoval,\nkdyž na rámě Boží spoléhám?\nMír je v duši mé,\n\ - když On blízko je,\nkdyž na rámě jeho spoléhám.', 'v3') - ] - }, 'What a friend we have in Jesus.xml': { 'title': 'What A Friend We Have In Jesus', 'verses': [ From 9460b39a0150a5c35b85ed37d72fd44bc1add8a7 Mon Sep 17 00:00:00 2001 From: Samuel Mehrbrodt Date: Thu, 17 Apr 2014 17:00:28 +0200 Subject: [PATCH 14/14] Remove utf8 file --- .../Mám zde přítele, Pána Ježíše.xml | 53 ------------------- 1 file changed, 53 deletions(-) delete mode 100644 tests/resources/openlyricssongs/Mám zde přítele, Pána Ježíše.xml diff --git a/tests/resources/openlyricssongs/Mám zde přítele, Pána Ježíše.xml b/tests/resources/openlyricssongs/Mám zde přítele, Pána Ježíše.xml deleted file mode 100644 index 0914b4dfe..000000000 --- a/tests/resources/openlyricssongs/Mám zde přítele, Pána Ježíše.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - Mám zde přítele - - - A.J. Showalter - E.A. Hoffman - - v1 c v2 c v3 c - - - - - Mám zde přítele,
- Pána Ježíše,
- a na rámě jeho spoléhám;
- v něm své stěstí mám,
- pokoj nalézám,
- když na rámě jeho spoléhám! -
-
- - - Boží rámě
- je v soužení náš pevný hrad;
- Boží rámě,
- uč se na ně vždycky spoléhat! -
-
- - - Jak je sladké být,
- v jeho družině,
- když na rámě jeho spoléhám,
- jak se života
- cesta zjasňuje
- když na rámě Boží spoléhám! -
-
- - - Čeho bych se bál,
- čeho strachoval,
- když na rámě Boží spoléhám?
- Mír je v duši mé,
- když On blízko je,
- když na rámě jeho spoléhám. -
-
-
-