Skip to content

Commit

Permalink
Write tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
luhn committed Feb 17, 2021
1 parent 7a055e7 commit f510281
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 15 deletions.
15 changes: 0 additions & 15 deletions tests/test_config/test_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -4289,21 +4289,6 @@ def view(): # pragma: no cover
self.assertEqual(result, 'function tests.test_config.test_views.view')


class Test_viewdefaults(unittest.TestCase):
def _makeOne(self, wrapped):
from pyramid.decorator import reify

return reify(wrapped)

def test_dunder_attrs_copied(self):
from pyramid.config.views import viewdefaults

decorator = self._makeOne(viewdefaults)
self.assertEqual(decorator.__doc__, viewdefaults.__doc__)
self.assertEqual(decorator.__name__, viewdefaults.__name__)
self.assertEqual(decorator.__module__, viewdefaults.__module__)


class DummyRegistry:
utility = None

Expand Down
23 changes: 23 additions & 0 deletions tests/test_decorator.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import inspect
import unittest


Expand Down Expand Up @@ -25,6 +26,28 @@ def wrapped(inst):
result = decorator.__get__(None)
self.assertEqual(result, decorator)

def test_copy_docstring(self):
def wrapped(inst):
"""Test doc"""
return 'a' # pragma: no cover

decorator = self._makeOne(wrapped)
assert decorator.__doc__ == 'Test doc'

def test_not_function(self):
"""
Because reify'd methods act as attributes, it's important that they
aren't recognized as a function. Otherwise tools like Sphinx may
misbehave, like in https://github.com/Pylons/pyramid/issues/3655
"""

def wrapped(inst):
return 'a' # pragma: no cover

decorator = self._makeOne(wrapped)
assert not inspect.isfunction(inspect.unwrap(decorator))


class Dummy:
pass

0 comments on commit f510281

Please sign in to comment.