From 689700dd01403c5191f272d94fbe75ae0c82bebd Mon Sep 17 00:00:00 2001 From: Tomas Groth Date: Fri, 2 May 2014 23:48:59 +0200 Subject: [PATCH] fixes for tests --- openlp/plugins/songs/lib/ewimport.py | 2 +- .../openlp_plugins/songs/test_ewimport.py | 37 +++++++++++++++++- tests/resources/easyworshipsongs/Songs.DB | Bin 6144 -> 10240 bytes tests/resources/easyworshipsongs/Songs.MB | Bin 20480 -> 32768 bytes 4 files changed, 37 insertions(+), 2 deletions(-) diff --git a/openlp/plugins/songs/lib/ewimport.py b/openlp/plugins/songs/lib/ewimport.py index 604a70d81..e12b7e181 100644 --- a/openlp/plugins/songs/lib/ewimport.py +++ b/openlp/plugins/songs/lib/ewimport.py @@ -333,7 +333,7 @@ class EasyWorshipSongImport(SongImport): try: decoded_words = words.decode() except UnicodeDecodeError: - log.debug('The unicode chars in the rtf was not escaped in the expected manor, doing it manually.') + # The unicode chars in the rtf was not escaped in the expected manor, doing it manually. newbytes = bytearray() for b in words: if b > 127: diff --git a/tests/functional/openlp_plugins/songs/test_ewimport.py b/tests/functional/openlp_plugins/songs/test_ewimport.py index e93ce9517..e6344e39b 100644 --- a/tests/functional/openlp_plugins/songs/test_ewimport.py +++ b/tests/functional/openlp_plugins/songs/test_ewimport.py @@ -153,13 +153,14 @@ class TestEasyWorshipSongImport(TestCase): """ Test the functions in the :mod:`ewimport` module. """ - def setUp(self): + """def setUp(self): self.songimport_patcher = patch('openlp.plugins.songs.lib.ewimport.EasyWorshipSongImport.__init__') self.mocked_songimport = self.songimport_patcher.start() self.mocked_songimport.return_value = None def tearDown(self): self.songimport_patcher.stop() + """ def create_field_desc_entry_test(self): """ @@ -489,3 +490,37 @@ class TestEasyWorshipSongImport(TestCase): for verse_text, verse_tag in EWS_SONG_TEST_DATA['verses']: mocked_add_verse.assert_any_call(verse_text, verse_tag) mocked_finish.assert_called_with() + + def import_rtf_unescaped_unicode_test(self): + """ + Test import of rtf without the expected escaping of unicode + """ + + # GIVEN: Test files with a mocked out SongImport class, a mocked out "manager", a mocked out "import_wizard", + # and mocked out "author", "add_copyright", "add_verse", "finish" methods. + with patch('openlp.plugins.songs.lib.ewimport.SongImport'), \ + patch('openlp.plugins.songs.lib.ewimport.strip_rtf') as mocked_strip_rtf, \ + patch('openlp.plugins.songs.lib.ewimport.retrieve_windows_encoding') \ + as mocked_retrieve_windows_encoding: + mocked_retrieve_windows_encoding.return_value = 'cp1252' + mocked_manager = MagicMock() + mocked_import_wizard = MagicMock() + mocked_add_author = MagicMock() + mocked_add_verse = MagicMock() + mocked_finish = MagicMock() + mocked_title = MagicMock() + mocked_finish.return_value = True + importer = EasyWorshipSongImportLogger(mocked_manager) + importer.import_wizard = mocked_import_wizard + importer.stop_import_flag = False + importer.add_author = mocked_add_author + importer.add_verse = mocked_add_verse + importer.title = mocked_title + importer.finish = mocked_finish + importer.topics = [] + + # WHEN: running set_song_import_object on a verse string without the needed escaping + importer.set_song_import_object('Test Author', b'Det som var fr\x86n begynnelsen') + + # THEN: The escaping shoud be added + mocked_strip_rtf.assert_called_with("Det som var fr\'86n begynnelsen", 'cp1252') diff --git a/tests/resources/easyworshipsongs/Songs.DB b/tests/resources/easyworshipsongs/Songs.DB index b6a13abc5b28bd7fbf670ba370ad6517fc2e7cb9..3476950578a9374493f8fc0c2d318652526ec414 100644 GIT binary patch delta 246 zcmZoLXb9j%8!klf8XU#5V8;V(DHl*R^zh6V z%#&<;1EYq?j9j9d?YR{hIT?V;fslb=b0*Ij7Kp)ou jiKl~+Re*tE6ZhtLzFelwnLKA$Hs?$HV&1H;dXWhL78Mjk diff --git a/tests/resources/easyworshipsongs/Songs.MB b/tests/resources/easyworshipsongs/Songs.MB index f5c7ad54cd12d287485e8e254e2ee1c1db26590e..949d7755c20d8efd6d91c96f791d26cb61069c44 100644 GIT binary patch delta 1089 zcmZXT&u$Yj5XN`Yw2D+DQd*U?gk%8GKT?HKK`TT!KsnHIq!Jf;ak}1(6R$V2ofWx- z69+Cx%LDKVG-sr~2QSfMFG$STi6C&vX6^BBzV93F_**z0m%cn*UT6hDDOjimLHK?D z$IVJP3@(;~AedCD*Ud_~6x3JUTkE=c(R#RAwjXS#xLmDIb{~HYi>sZL;&NxH__@`7 zaB78=40iCn2syV%#Q&YYISt$~SY&k;Gh?CKqg^@R8jF)h)T;ROe3vBNcqbyHE9f#6 z(Z(8yw0e{zU1aA%DXv}XdaM~DNwi^7&^E_ou3!#{u3yd^r%pY2&PhVzBFM3o_Ks^g z(~NW`$P(U4pGoODu3%2Sq19*G@u9IKa3eeKg0Zv^QGD^ChCjdt?@cwj3d;?tq$4q6 z=X7oyp-BeA!C(*YlomMy#iOa+`=nO`9`0*F5Ca1#`qr_!R5k~5qaN4V_35a+amv!o z6lX3XM)I3Zi<52Wx6dGPZ}`M{JL8)vkC=jpVJZggq$$&2P{$OZM%MNi#9o*iHFcu9 zbYShAE;v<8TkvKK8o{)YhqjC)ydN!TA_4}kVW_br!U{_Tb2R7jWV79zx^zQT$RvP! zk^L-H&ZxiNM4kFDa_G~OD&tjV?yzj_x>StHk zCF^r1^#XH|I9yB@&!ZDcf4wuZ%s`sq*Ml``#7bfCYq?l#y(*5Yx5E9&`|6#g;>FhO a85J!bO|I78hW{)sO~$p)|1X|w%EjL)3vt%~ delta 38 ucmZo@U}{*vIKg6L+#>#o32Gcnj0~H&85kHha|ry9-xQ!Kyjj)xHV**mn+vJ{