/usr/share/pyshared/zope/component/tests/test_hookable.py is in python-zope.component 4.0.2-0ubuntu1.
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 | ##############################################################################
#
# Copyright (c) 2012 Zope Foundation and Contributors.
# All Rights Reserved.
#
# This software is subject to the provisions of the Zope Public License,
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE.
#
##############################################################################
"""Pure-Python hookable tests
"""
import unittest
class HookableTests(unittest.TestCase):
def test_ctor_no_func(self):
from zope.component.hookable import hookable
self.assertRaises(TypeError, hookable)
def test_ctor_simple(self):
from zope.component.hookable import hookable
def foo():
pass
hooked = hookable(foo)
self.failUnless(hooked.original is foo)
self.failUnless(hooked.implementation is foo)
def test_ctor_extra_arg(self):
from zope.component.hookable import hookable
def foo():
pass
self.assertRaises(TypeError, hookable, foo, foo)
def test_ctor_extra_arg_miss(self):
from zope.component.hookable import hookable
def foo():
pass
self.assertRaises(TypeError, hookable, foo, nonesuch=foo)
def test_sethook(self):
from zope.component.hookable import hookable
def foo():
pass
def bar():
pass
hooked = hookable(foo)
hooked.sethook(bar)
self.failUnless(hooked.original is foo)
self.failUnless(hooked.implementation is bar)
def test_reset(self):
from zope.component.hookable import hookable
def foo():
pass
def bar():
pass
hooked = hookable(foo)
hooked.sethook(bar)
hooked.reset()
self.failUnless(hooked.original is foo)
self.failUnless(hooked.implementation is foo)
def test_cant_assign_original(self):
from zope.component.hookable import hookable
def foo():
pass
def bar():
pass
hooked = hookable(foo)
try:
hooked.original = bar
except TypeError:
pass
except AttributeError:
pass
else:
self.fail('Assigned original')
def test_cant_delete_original(self):
from zope.component.hookable import hookable
def foo():
pass
hooked = hookable(foo)
try:
del hooked.original
except TypeError:
pass
except AttributeError:
pass
else:
self.fail('Deleted original')
def test_cant_assign_implementation(self):
from zope.component.hookable import hookable
def foo():
pass
def bar():
pass
hooked = hookable(foo)
try:
hooked.implementation = bar
except TypeError:
pass
except AttributeError:
pass
else:
self.fail('Assigned implementation')
def test_cant_delete_implementation(self):
from zope.component.hookable import hookable
def foo():
pass
hooked = hookable(foo)
try:
del hooked.implementation
except TypeError:
pass
except AttributeError:
pass
else:
self.fail('Deleted implementation')
def test_ctor___call__(self):
from zope.component.hookable import hookable
_called = []
def foo(*args, **kw):
_called.append((args, kw))
hooked = hookable(foo)
hooked('one', 'two', bar='baz')
self.assertEqual(_called, [(('one', 'two'), {'bar': 'baz'})])
def test_suite():
return unittest.TestSuite((
unittest.makeSuite(HookableTests),
))
|