Current Path : /usr/lib/python2.7/dist-packages/twisted/internet/test/ |
Current File : //usr/lib/python2.7/dist-packages/twisted/internet/test/inlinecb_tests.pyc |
ó ê=Nc @ sL d Z d d l m Z d d l m Z m Z m Z d e f d „ ƒ YZ d S( sw Tests for L{twisted.internet.defer.inlineCallbacks}. These tests are defined in a non-C{test_*} module because they are syntactically invalid on python < 2.5. test_inlinecb will conditionally import these tests on python 2.5 and greater. Some tests for inlineCallbacks are defined in L{twisted.test.test_defgen} as well: see U{http://twistedmatrix.com/trac/ticket/4182}. iÿÿÿÿ( t TestCase( t Deferredt returnValuet inlineCallbackst NonLocalExitTestsc B s2 e Z d Z d „ Z d „ Z d „ Z d „ Z RS( s¢ It's possible for L{returnValue} to be (accidentally) invoked at a stack level below the L{inlineCallbacks}-decorated function which it is exiting. If this happens, L{returnValue} should report useful errors. If L{returnValue} is invoked from a function not decorated by L{inlineCallbacks}, it will emit a warning if it causes an L{inlineCallbacks} function further up the stack to exit. c C s t d ƒ d S( s‹ This method mistakenly invokes L{returnValue}, despite the fact that it is not decorated with L{inlineCallbacks}. i N( R ( t self( ( sH /usr/lib/python2.7/dist-packages/twisted/internet/test/inlinecb_tests.pyt mistakenMethod s c C su | j | d g ƒ | j d | j g ƒ } | j t | ƒ d ƒ | j | d d t ƒ | j | d d d ƒ d S( sc Flush the current warnings and assert that we have been told that C{mistakenMethod} was invoked, and that the result from the Deferred that was fired (appended to the given list) is C{mistakenMethod}'s result. The warning should indicate that an inlineCallbacks function called 'inline' was made to exit. i t offendingFunctionsi t categoryt messagesŠ returnValue() in 'mistakenMethod' causing 'inline' to exit: returnValue should only be invoked by functions decorated with inlineCallbacksN( t assertEqualt flushWarningsR t lent DeprecationWarning( R t resultListt warnings( ( sH /usr/lib/python2.7/dist-packages/twisted/internet/test/inlinecb_tests.pyt assertMistakenMethodWarning&