/usr/lib/python3/dist-packages/pyramid_jinja2/tests/test_filters.py is in python3-pyramid-jinja2 2.7+dfsg-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 | import unittest
from pyramid import testing
class DummyRoot(object):
__name__ = __parent__ = None
class DummyModel(object):
__name__ = 'dummy'
__parent__ = DummyRoot()
class Base(object):
def setUp(self):
self.request = testing.DummyRequest()
self.config = testing.setUp(request=self.request)
self.request.registry = self.config.registry
from pyramid_jinja2 import Environment
self.environment = Environment()
self._addFilters()
def tearDown(self):
testing.tearDown()
def _addFilters(self): pass
def _callFUT(self, context, tmpl):
tmpl = self.environment.from_string(tmpl)
return tmpl.render(**context)
class Test_model_url_filter(Base, unittest.TestCase):
def _addFilters(self):
from pyramid_jinja2.filters import model_url_filter
self.environment.filters['model_url'] = model_url_filter
def test_filter(self):
model = DummyModel()
rendered = self._callFUT({'model': model}, '{{model|model_url}}')
self.assertEqual(rendered, 'http://example.com/dummy/')
def test_filter_with_elements(self):
model = DummyModel()
rendered = self._callFUT({'model': model}, "{{model|model_url('edit')}}")
self.assertEqual(rendered, 'http://example.com/dummy/edit')
class Test_resource_url_filter(Base, unittest.TestCase):
def _addFilters(self):
from pyramid_jinja2.filters import resource_url_filter
self.environment.filters['resource_url'] = resource_url_filter
def test_filter(self):
model = DummyModel()
rendered = self._callFUT({'model': model}, '{{model|resource_url}}')
self.assertEqual(rendered, 'http://example.com/dummy/')
def test_filter_with_elements(self):
model = DummyModel()
rendered = self._callFUT({'model': model}, "{{model|resource_url('edit')}}")
self.assertEqual(rendered, 'http://example.com/dummy/edit')
class Test_model__filter(Base, unittest.TestCase):
def _addFilters(self):
from pyramid_jinja2.filters import model_path_filter
self.environment.filters['model_path'] = model_path_filter
def test_filter(self):
model = DummyModel()
rendered = self._callFUT({'model': model}, '{{model|model_path}}')
self.assertEqual(rendered, '/dummy/')
def test_filter_with_elements(self):
model = DummyModel()
rendered = self._callFUT({'model': model}, "{{model|model_path('edit')}}")
self.assertEqual(rendered, '/dummy/edit')
class Test_route_url_filter(Base, unittest.TestCase):
def _addFilters(self):
from pyramid_jinja2.filters import route_url_filter
self.environment.filters['route_url'] = route_url_filter
self.config.add_route('dummy_route1', '/dummy/')
self.config.add_route('dummy_route2', '/dummy/:name/')
def test_filter(self):
rendered = self._callFUT({}, "{{'dummy_route1' | route_url }}")
self.assertEqual(rendered, 'http://example.com/dummy/')
def test_filter_with_arguments(self):
rendered = self._callFUT({}, "{{'dummy_route2' | route_url('x', name='test') }}")
self.assertEqual(rendered, 'http://example.com/dummy/test/x')
class Test_route_path_filter(Base, unittest.TestCase):
def _addFilters(self):
from pyramid_jinja2.filters import route_path_filter
self.environment.filters['route_path'] = route_path_filter
self.config.add_route('dummy_route1', '/dummy/')
self.config.add_route('dummy_route2', '/dummy/:name/')
def test_filter(self):
rendered = self._callFUT({}, "{{'dummy_route1' | route_path }}")
self.assertEqual(rendered, '/dummy/')
def test_filter_with_arguments(self):
rendered = self._callFUT({}, "{{'dummy_route2' | route_path('x', name='test') }}")
self.assertEqual(rendered, '/dummy/test/x')
class Test_static_url_filter(Base, unittest.TestCase):
def _addFilters(self):
from pyramid_jinja2.filters import static_url_filter
self.environment.filters['static_url'] = static_url_filter
self.config.add_static_view('myfiles', 'dummy1:static')
self.config.add_static_view('otherfiles/{owner}', 'dummy2:files')
def test_filter(self):
rendered = self._callFUT({}, "{{'dummy1:static/the/quick/brown/fox.svg' | static_url }}")
self.assertEqual(rendered, 'http://example.com/myfiles/the/quick/brown/fox.svg')
def test_filter_with_arguments(self):
rendered = self._callFUT({}, "{{'dummy2:files/report.txt' | static_url(owner='foo') }}")
self.assertEqual(rendered, 'http://example.com/otherfiles/foo/report.txt')
class Test_static_path_filter(Base, unittest.TestCase):
def _addFilters(self):
from pyramid_jinja2.filters import static_path_filter
self.environment.filters['static_path'] = static_path_filter
self.config.add_static_view('myfiles', 'dummy1:static')
self.config.add_static_view('otherfiles/{owner}', 'dummy2:files')
def test_filter(self):
rendered = self._callFUT({}, "{{'dummy1:static/the/quick/brown/fox.svg' | static_path }}")
self.assertEqual(rendered, '/myfiles/the/quick/brown/fox.svg')
def test_filter_with_arguments(self):
rendered = self._callFUT({}, "{{'dummy2:files/report.txt' | static_path(owner='foo') }}")
self.assertEqual(rendered, '/otherfiles/foo/report.txt')
class Test_filters_not_caching(Base, unittest.TestCase):
def _addFilters(self):
from pyramid_jinja2.filters import route_url_filter
self.environment.filters['route_url'] = route_url_filter
self.config.add_route('dummy_route1', '/dummy/')
self.config.add_route('dummy_route2', '/dummy/:name/')
def test_filter(self):
self.request.application_url = 'http://example.com'
self.request.host = 'example.com:80'
rendered = self._callFUT({}, "{{'dummy_route1' | route_url }}")
self.assertEqual(rendered, 'http://example.com/dummy/')
self.request.application_url = 'http://sub.example.com'
self.request.host = 'sub.example.com:80'
rendered = self._callFUT({}, "{{'dummy_route1' | route_url }}")
self.assertEqual(rendered, 'http://sub.example.com/dummy/')
def test_filter_with_arguments(self):
self.request.application_url = 'http://example.com'
self.request.host = 'example.com:80'
rendered = self._callFUT({}, "{{'dummy_route2' | route_url('x', name='test') }}")
self.assertEqual(rendered, 'http://example.com/dummy/test/x')
self.request.application_url = 'http://sub.example.com'
self.request.host = 'sub.example.com:80'
rendered = self._callFUT({}, "{{'dummy_route2' | route_url('x', name='test') }}")
self.assertEqual(rendered, 'http://sub.example.com/dummy/test/x')
|