o G_ @sHddlmZmZmZmZddlmZGdddeZGdddeZ dS))AnyCallableOptionalType)TestCasec@seZdZdZ dddZdS)HyperlinkTestCaseznThis type mostly exists to provide a backwards-compatible assertRaises method for Python 2.6 testing. NcOsNt||}|dur |S|||i|WddS1s wYdS)aFail unless an exception of class expected_exception is raised by callableObj when invoked with arguments args and keyword arguments kwargs. If a different type of exception is raised, it will not be caught, and the test case will be deemed to have suffered an error, exactly as for an unexpected exception. If called with callableObj omitted or None, will return a context object used like this:: with self.assertRaises(SomeException): do_something() The context manager keeps a reference to the exception as the 'exception' attribute. This allows you to inspect the exception after the assertion:: with self.assertRaises(SomeException) as cm: do_something() the_exception = cm.exception self.assertEqual(the_exception.error_code, 3) N)_AssertRaisesContext)selfexpected_exception callableObjargskwargscontextr7/usr/lib/python3/dist-packages/hyperlink/test/common.py assertRaises s "zHyperlinkTestCase.assertRaisesN)__name__ __module__ __qualname____doc__rrrrrrsrc@s(eZdZdZddZddZddZdS) rzCA context manager used to implement HyperlinkTestCase.assertRaises.cCs||_|j|_dSr)expectedfailureException)r r test_caserrr__init__2s z_AssertRaisesContext.__init__cCs|Srr)r rrr __enter__7sz_AssertRaisesContext.__enter__cCs:|dur|jj}|d|ft||jsdS||_dS)Nz %s not raisedFT)rrr issubclass exception)r exc_type exc_valuetbexc_namerrr__exit__;s z_AssertRaisesContext.__exit__N)rrrrrrr"rrrrr/s  rN) typingrrrrunittestrrobjectrrrrrs *