forked from openlp/openlp
Check for Div0 and added unit test cases
This commit is contained in:
parent
3cdbaff2a6
commit
a7466f1ea7
@ -179,6 +179,9 @@ def create_thumb(image_path, thumb_path, return_icon=True, size=None):
|
|||||||
reader = QtGui.QImageReader(image_path)
|
reader = QtGui.QImageReader(image_path)
|
||||||
if size is None:
|
if size is None:
|
||||||
# No size given; use default height of 88
|
# No size given; use default height of 88
|
||||||
|
if reader.size().isEmpty():
|
||||||
|
ratio = 1
|
||||||
|
else:
|
||||||
ratio = reader.size().width() / reader.size().height()
|
ratio = reader.size().width() / reader.size().height()
|
||||||
reader.setScaledSize(QtCore.QSize(int(ratio * 88), 88))
|
reader.setScaledSize(QtCore.QSize(int(ratio * 88), 88))
|
||||||
elif size.isValid():
|
elif size.isValid():
|
||||||
@ -186,6 +189,9 @@ def create_thumb(image_path, thumb_path, return_icon=True, size=None):
|
|||||||
reader.setScaledSize(size)
|
reader.setScaledSize(size)
|
||||||
else:
|
else:
|
||||||
# Invalid size given
|
# Invalid size given
|
||||||
|
if reader.size().isEmpty():
|
||||||
|
ratio = 1
|
||||||
|
else:
|
||||||
ratio = reader.size().width() / reader.size().height()
|
ratio = reader.size().width() / reader.size().height()
|
||||||
if size.width() >= 0:
|
if size.width() >= 0:
|
||||||
# Valid width; scale height
|
# Valid width; scale height
|
||||||
|
@ -421,6 +421,55 @@ class TestLib(TestCase):
|
|||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def create_thumb_empty_img_test(self):
|
||||||
|
"""
|
||||||
|
Test the create_thumb() function with a size of only height specified.
|
||||||
|
"""
|
||||||
|
# GIVEN: An image to create a thumb of.
|
||||||
|
image_path = os.path.join(TEST_PATH, 'church.jpg')
|
||||||
|
thumb_path = os.path.join(TEST_PATH, 'church_thumb.jpg')
|
||||||
|
thumb_size = QtCore.QSize(-1, 100)
|
||||||
|
expected_size_1 = QtCore.QSize(88, 88)
|
||||||
|
expected_size_2 = QtCore.QSize(100, 100)
|
||||||
|
|
||||||
|
|
||||||
|
# Remove the thumb so that the test actually tests if the thumb will be created. Maybe it was not deleted in the
|
||||||
|
# last test.
|
||||||
|
try:
|
||||||
|
os.remove(thumb_path)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
# Only continue when the thumb does not exist.
|
||||||
|
self.assertFalse(os.path.exists(thumb_path), 'Test was not run, because the thumb already exists.')
|
||||||
|
|
||||||
|
# WHEN: Create the thumb.
|
||||||
|
with patch('openlp.core.lib.QtGui.QImageReader.size') as mocked_size:
|
||||||
|
mocked_size.return_value = QtCore.QSize(0, 0)
|
||||||
|
icon = create_thumb(image_path, thumb_path, size=None)
|
||||||
|
|
||||||
|
# THEN: Check if the thumb was created with aspect ratio of 1.
|
||||||
|
self.assertTrue(os.path.exists(thumb_path), 'Test was not ran, because the thumb already exists')
|
||||||
|
self.assertIsInstance(icon, QtGui.QIcon, 'The icon should be a QIcon')
|
||||||
|
self.assertFalse(icon.isNull(), 'The icon should not be null')
|
||||||
|
self.assertEqual(expected_size_1, QtGui.QImageReader(thumb_path).size(), 'The thumb should have the given size')
|
||||||
|
|
||||||
|
# WHEN: Create the thumb.
|
||||||
|
with patch('openlp.core.lib.QtGui.QImageReader.size') as mocked_size:
|
||||||
|
mocked_size.return_value = QtCore.QSize(0, 0)
|
||||||
|
icon = create_thumb(image_path, thumb_path, size=thumb_size)
|
||||||
|
|
||||||
|
# THEN: Check if the thumb was created with aspect ratio of 1.
|
||||||
|
self.assertIsInstance(icon, QtGui.QIcon, 'The icon should be a QIcon')
|
||||||
|
self.assertFalse(icon.isNull(), 'The icon should not be null')
|
||||||
|
self.assertEqual(expected_size_2, QtGui.QImageReader(thumb_path).size(), 'The thumb should have the given size')
|
||||||
|
|
||||||
|
# Remove the thumb so that the test actually tests if the thumb will be created.
|
||||||
|
try:
|
||||||
|
os.remove(thumb_path)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
def check_item_selected_true_test(self):
|
def check_item_selected_true_test(self):
|
||||||
"""
|
"""
|
||||||
Test that the check_item_selected() function returns True when there are selected indexes
|
Test that the check_item_selected() function returns True when there are selected indexes
|
||||||
|
Loading…
Reference in New Issue
Block a user