Mercurial > boomslang
annotate pyntnclick/tests/test_resources.py @ 844:6a345dcbb209 pyntnclick
Complete textification of the bridge computer
author | Neil Muller <neil@dip.sun.ac.za> |
---|---|
date | Wed, 30 Jan 2013 17:33:23 +0200 |
parents | 1466365bd395 |
children |
rev | line source |
---|---|
561 | 1 import os.path |
2 from unittest import TestCase | |
3 | |
571
20e296d4a3a5
Add load_image to Resources.
Jeremy Thurgood <firxen@gmail.com>
parents:
562
diff
changeset
|
4 from pygame.surface import Surface |
20e296d4a3a5
Add load_image to Resources.
Jeremy Thurgood <firxen@gmail.com>
parents:
562
diff
changeset
|
5 |
562 | 6 from pyntnclick.resources import Resources, ResourceNotFound |
561 | 7 |
8 | |
9 TEST_PATH = os.path.dirname(__file__) | |
10 DATA_PATH = os.path.join(os.path.dirname(TEST_PATH), 'data') | |
11 | |
12 test_path = lambda p: os.path.join(TEST_PATH, p) | |
13 data_path = lambda p: os.path.join(DATA_PATH, p) | |
14 | |
15 | |
16 class ResourcesTestCase(TestCase): | |
573 | 17 def setUp(self): |
18 self.res = self.get_resource_loader() | |
19 | |
20 def get_resource_loader(self, *args, **kw): | |
21 res = Resources('pyntnclick.tests', *args, **kw) | |
22 res.CONVERT_ALPHA = False # Because we have no display. | |
23 return res | |
24 | |
561 | 25 def test_get_paths_no_lang(self): |
26 self.assertEqual([test_path('thing'), data_path('thing')], | |
573 | 27 self.res.get_paths('thing')) |
561 | 28 |
29 def test_get_paths_lang(self): | |
573 | 30 res = self.get_resource_loader('en') |
561 | 31 self.assertEqual([test_path('en/thing'), test_path('thing'), |
32 data_path('en/thing'), data_path('thing')], | |
33 res.get_paths('thing')) | |
562 | 34 |
789
1466365bd395
Add a test for loading a resource with a dialect.
Stefano Rivera <stefano@rivera.za.net>
parents:
625
diff
changeset
|
35 def test_get_paths_lang_dialect(self): |
1466365bd395
Add a test for loading a resource with a dialect.
Stefano Rivera <stefano@rivera.za.net>
parents:
625
diff
changeset
|
36 res = self.get_resource_loader('en_ZA') |
1466365bd395
Add a test for loading a resource with a dialect.
Stefano Rivera <stefano@rivera.za.net>
parents:
625
diff
changeset
|
37 self.assertEqual([test_path('en_ZA/thing'), test_path('en/thing'), |
1466365bd395
Add a test for loading a resource with a dialect.
Stefano Rivera <stefano@rivera.za.net>
parents:
625
diff
changeset
|
38 test_path('thing'), data_path('en_ZA/thing'), |
1466365bd395
Add a test for loading a resource with a dialect.
Stefano Rivera <stefano@rivera.za.net>
parents:
625
diff
changeset
|
39 data_path('en/thing'), data_path('thing')], |
1466365bd395
Add a test for loading a resource with a dialect.
Stefano Rivera <stefano@rivera.za.net>
parents:
625
diff
changeset
|
40 res.get_paths('thing')) |
1466365bd395
Add a test for loading a resource with a dialect.
Stefano Rivera <stefano@rivera.za.net>
parents:
625
diff
changeset
|
41 |
562 | 42 def test_get_resource_path_missing(self): |
43 try: | |
573 | 44 self.res.get_resource_path('should_not_exist') |
562 | 45 self.fail('Expected ResourceNotFound error.') |
46 except ResourceNotFound, e: | |
47 self.assertEqual('should_not_exist', e.args[0]) | |
48 | |
49 def test_get_resource_path_in_test(self): | |
50 self.assertEqual(test_path('test_resources.py'), | |
573 | 51 self.res.get_resource_path('test_resources.py')) |
562 | 52 |
53 def test_get_resource_path_in_data(self): | |
573 | 54 self.assertEqual( |
55 data_path('images/pyntnclick/hand.png'), | |
56 self.res.get_resource_path('images/pyntnclick/hand.png')) | |
571
20e296d4a3a5
Add load_image to Resources.
Jeremy Thurgood <firxen@gmail.com>
parents:
562
diff
changeset
|
57 |
587
f20d211d2c91
load_image() -> get_image() and more docs.
Jeremy Thurgood <firxen@gmail.com>
parents:
584
diff
changeset
|
58 def test_get_image(self): |
f20d211d2c91
load_image() -> get_image() and more docs.
Jeremy Thurgood <firxen@gmail.com>
parents:
584
diff
changeset
|
59 image = self.res.get_image('pyntnclick/hand.png') |
571
20e296d4a3a5
Add load_image to Resources.
Jeremy Thurgood <firxen@gmail.com>
parents:
562
diff
changeset
|
60 self.assertTrue(isinstance(image, Surface)) |
580
27809609eeca
Allow different image basedir.
Jeremy Thurgood <firxen@gmail.com>
parents:
573
diff
changeset
|
61 |
587
f20d211d2c91
load_image() -> get_image() and more docs.
Jeremy Thurgood <firxen@gmail.com>
parents:
584
diff
changeset
|
62 def test_get_image_fragments(self): |
625
85153f422522
Differently yuck get_image().
Jeremy Thurgood <firxen@gmail.com>
parents:
587
diff
changeset
|
63 image = self.res.get_image('pyntnclick', 'hand.png') |
584
96ff2d8a8a9a
Allow list of image name fragments in load_image. Also, some docs.
Jeremy Thurgood <firxen@gmail.com>
parents:
580
diff
changeset
|
64 self.assertTrue(isinstance(image, Surface)) |
96ff2d8a8a9a
Allow list of image name fragments in load_image. Also, some docs.
Jeremy Thurgood <firxen@gmail.com>
parents:
580
diff
changeset
|
65 |
587
f20d211d2c91
load_image() -> get_image() and more docs.
Jeremy Thurgood <firxen@gmail.com>
parents:
584
diff
changeset
|
66 def test_get_image_different_basedir(self): |
f20d211d2c91
load_image() -> get_image() and more docs.
Jeremy Thurgood <firxen@gmail.com>
parents:
584
diff
changeset
|
67 image = self.res.get_image('hand.png', basedir='images/pyntnclick') |
580
27809609eeca
Allow different image basedir.
Jeremy Thurgood <firxen@gmail.com>
parents:
573
diff
changeset
|
68 self.assertTrue(isinstance(image, Surface)) |
27809609eeca
Allow different image basedir.
Jeremy Thurgood <firxen@gmail.com>
parents:
573
diff
changeset
|
69 |
27809609eeca
Allow different image basedir.
Jeremy Thurgood <firxen@gmail.com>
parents:
573
diff
changeset
|
70 def test_load_missing(self): |
27809609eeca
Allow different image basedir.
Jeremy Thurgood <firxen@gmail.com>
parents:
573
diff
changeset
|
71 try: |
587
f20d211d2c91
load_image() -> get_image() and more docs.
Jeremy Thurgood <firxen@gmail.com>
parents:
584
diff
changeset
|
72 self.res.get_image('should_not_exist') |
580
27809609eeca
Allow different image basedir.
Jeremy Thurgood <firxen@gmail.com>
parents:
573
diff
changeset
|
73 self.fail('Expected ResourceNotFound error.') |
27809609eeca
Allow different image basedir.
Jeremy Thurgood <firxen@gmail.com>
parents:
573
diff
changeset
|
74 except ResourceNotFound, e: |
27809609eeca
Allow different image basedir.
Jeremy Thurgood <firxen@gmail.com>
parents:
573
diff
changeset
|
75 self.assertEqual('images/should_not_exist', e.args[0]) |