Bowe Strickland
2018-10-27 6e49871feaa1a60549206cf5512c9fb7f3d5fd56
commit | author | age
2869fc 1 import unittest
56df90 2 import os
CM 3
4 here = os.path.abspath(os.path.dirname(__file__))
600ea3 5
0c29cf 6
92c3e5 7 class Test_resolve_asset_spec(unittest.TestCase):
15a3c6 8     def _callFUT(self, spec, package_name='__main__'):
92c3e5 9         from pyramid.resource import resolve_asset_spec
0c29cf 10
92c3e5 11         return resolve_asset_spec(spec, package_name)
600ea3 12
CM 13     def test_abspath(self):
56df90 14         package_name, filename = self._callFUT(here, 'apackage')
CM 15         self.assertEqual(filename, here)
15a3c6 16         self.assertEqual(package_name, None)
600ea3 17
CM 18     def test_rel_spec(self):
dd3cc8 19         pkg = 'tests'
92c3e5 20         path = 'test_asset.py'
15a3c6 21         package_name, filename = self._callFUT(path, pkg)
dd3cc8 22         self.assertEqual(package_name, 'tests')
92c3e5 23         self.assertEqual(filename, 'test_asset.py')
0c29cf 24
600ea3 25     def test_abs_spec(self):
dd3cc8 26         pkg = 'tests'
92c3e5 27         path = 'pyramid.nottests:test_asset.py'
15a3c6 28         package_name, filename = self._callFUT(path, pkg)
b60bdb 29         self.assertEqual(package_name, 'pyramid.nottests')
92c3e5 30         self.assertEqual(filename, 'test_asset.py')
2869fc 31
45d08c 32     def test_package_name_is_None(self):
CM 33         pkg = None
92c3e5 34         path = 'test_asset.py'
45d08c 35         package_name, filename = self._callFUT(path, pkg)
CM 36         self.assertEqual(package_name, None)
92c3e5 37         self.assertEqual(filename, 'test_asset.py')
62b479 38
CM 39     def test_package_name_is_package_object(self):
dd3cc8 40         import tests
0c29cf 41
dd3cc8 42         pkg = tests
92c3e5 43         path = 'test_asset.py'
62b479 44         package_name, filename = self._callFUT(path, pkg)
dd3cc8 45         self.assertEqual(package_name, 'tests')
92c3e5 46         self.assertEqual(filename, 'test_asset.py')
62b479 47
bc338f 48
92c3e5 49 class Test_abspath_from_asset_spec(unittest.TestCase):
bc338f 50     def _callFUT(self, spec, pname='__main__'):
92c3e5 51         from pyramid.resource import abspath_from_asset_spec
0c29cf 52
92c3e5 53         return abspath_from_asset_spec(spec, pname)
bc338f 54
92c3e5 55     def test_pname_is_None_before_resolve_asset_spec(self):
bc338f 56         result = self._callFUT('abc', None)
CM 57         self.assertEqual(result, 'abc')
58
92c3e5 59     def test_pname_is_None_after_resolve_asset_spec(self):
bc338f 60         result = self._callFUT('/abc', '__main__')
CM 61         self.assertEqual(result, '/abc')
62
63     def test_pkgrelative(self):
dd3cc8 64         result = self._callFUT('abc', 'tests')
56df90 65         self.assertEqual(result, os.path.join(here, 'abc'))
bc338f 66
0c29cf 67
841707 68 class Test_asset_spec_from_abspath(unittest.TestCase):
CM 69     def _callFUT(self, abspath, package):
70         from pyramid.asset import asset_spec_from_abspath
0c29cf 71
841707 72         return asset_spec_from_abspath(abspath, package)
CM 73
74     def test_package_name_is_main(self):
75         pkg = DummyPackage('__main__')
76         result = self._callFUT('abspath', pkg)
77         self.assertEqual(result, 'abspath')
78
79     def test_abspath_startswith_package_path(self):
56df90 80         abspath = os.path.join(here, 'fixtureapp')
dd3cc8 81         pkg = DummyPackage('tests')
841707 82         pkg.__file__ = 'file'
CM 83         result = self._callFUT(abspath, pkg)
dd3cc8 84         self.assertEqual(result, 'tests:fixtureapp')
841707 85
CM 86     def test_abspath_doesnt_startwith_package_path(self):
dd3cc8 87         pkg = DummyPackage('tests')
56df90 88         result = self._callFUT(here, pkg)
CM 89         self.assertEqual(result, here)
841707 90
0c29cf 91
9d6fcd 92 class DummyPackage:
CM 93     def __init__(self, name):
94         self.__name__ = name