1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
|
from __future__ import absolute_import
import os
import platform
import pkg_resources
import unittest
import pyface
import pyface.tests
from ..image_resource import ImageResource
from ..toolkit import toolkit_object
is_qt = toolkit_object.toolkit == 'qt4'
if is_qt:
from pyface.qt import qt_api
is_pyqt4_windows = (is_qt and qt_api == 'pyqt' and platform.system() == 'Windows')
SEARCH_PATH = pkg_resources.resource_filename('pyface', 'images')
IMAGE_DIR = pkg_resources.resource_filename(__name__, 'images')
IMAGE_PATH = os.path.join(IMAGE_DIR, 'core.png')
class TestImageResource(unittest.TestCase):
def setUp(self):
# clear cached "not found" image
ImageResource._image_not_found = None
def test_create_image(self):
image_resource = ImageResource('core')
image = image_resource.create_image()
self.assertIsNotNone(image)
self.assertEqual(image_resource.absolute_path, IMAGE_PATH)
def test_create_image_again(self):
image_resource = ImageResource('core')
image = image_resource.create_image()
self.assertIsNotNone(image)
self.assertEqual(image_resource.absolute_path, IMAGE_PATH)
def test_create_image_search_path(self):
image_resource = ImageResource('splash.jpg', [SEARCH_PATH])
self.assertEqual(image_resource.search_path,
[SEARCH_PATH, pyface.tests])
image = image_resource.create_image()
self.assertIsNotNone(image)
self.assertEqual(image_resource.absolute_path,
os.path.join(SEARCH_PATH, 'splash.jpg'))
def test_create_image_search_path_string(self):
image_resource = ImageResource('splash.jpg', SEARCH_PATH)
self.assertEqual(image_resource.search_path,
[SEARCH_PATH, pyface.tests])
image = image_resource.create_image()
self.assertIsNotNone(image)
self.assertEqual(image_resource.absolute_path,
os.path.join(SEARCH_PATH, 'splash.jpg'))
def test_create_image_missing(self):
image_resource = ImageResource('doesnt_exist.png')
image = image_resource.create_image()
self.assertIsNotNone(image)
self.assertIsNotNone(image_resource._image_not_found)
def test_create_bitmap(self):
image_resource = ImageResource('core.png')
image = image_resource.create_bitmap()
self.assertIsNotNone(image)
self.assertEqual(image_resource.absolute_path, IMAGE_PATH)
def test_create_icon(self):
image_resource = ImageResource('core.png')
image = image_resource.create_icon()
self.assertIsNotNone(image)
self.assertEqual(image_resource.absolute_path, IMAGE_PATH)
def test_image_size(self):
image_resource = ImageResource('core')
image = image_resource.create_image()
size = image_resource.image_size(image)
self.assertEqual(image_resource._ref.filename, IMAGE_PATH)
self.assertEqual(size, (64, 64))
@unittest.skipIf(is_pyqt4_windows, "QPixmap bug returns (0, 0). Issue #301.") # noqa
def test_image_size_search_path(self):
image_resource = ImageResource('splash.jpg', [SEARCH_PATH])
image = image_resource.create_image()
size = image_resource.image_size(image)
self.assertEqual(image_resource.absolute_path,
os.path.join(SEARCH_PATH, 'splash.jpg'))
self.assertEqual(size, (450, 296))
|