File: test_image_resource.py

package info (click to toggle)
python-pyface 6.1.2-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 11,756 kB
  • sloc: python: 39,728; makefile: 79
file content (93 lines) | stat: -rw-r--r-- 3,496 bytes parent folder | download
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))