ó
Én¤Uc           @   sz  d  d l  Z  d  d l Z d  d l Z d  d l m Z d  d l m Z m Z m	 Z	 m
 Z
 d  d l m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z d  d l m Z m Z d Z e rÍ d Z e Z n  e j e Z d e Z e d	 „ Z  e j! a" e j# Z$ d
 e% f d „  ƒ  YZ& d e Z' e& d „ Z( d e% f d „  ƒ  YZ) d e j* f d „  ƒ  YZ+ e d k rve j, ƒ  n  d S(   iÿÿÿÿN(   t   support(   t   inPy3kt	   SomeClasst   is_instancet   callable(
   t   NonCallableMockt   CallableMixint   patcht   sentinelt	   MagicMockt   Mockt   NonCallableMagicMockR   t   DEFAULTt   call(   t   _patcht   _get_targett   __builtin__t   builtinss   %s.PTModulec            s\   d t  f ‡  f d †  ƒ  Y} | sU ‡  f d †  } ‡  f d †  } | | _ | | _ n  | ƒ  S(   Nt   Proxyc              s   e  Z ‡  f d  †  Z RS(   c            s   t  ˆ  | ƒ S(   N(   t   getattr(   t   selft   name(   t   obj(    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   __getattr__   s    (   t   __name__t
   __module__R   (    (   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR      s   c            s   t  ˆ  | | ƒ d  S(   N(   t   setattr(   R   R   t   value(   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   __setattr__"   s    c            s   t  ˆ  | ƒ d  S(   N(   t   delattr(   R   R   (   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   __delattr__$   s    (   t   objectR   R   (   R   t   get_onlyR   R   R   (    (   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt
   _get_proxy   s    	t   Fooc           B   s?   e  Z d  „  Z d „  Z d „  Z d Z d e f d „  ƒ  YZ RS(   c         C   s   d  S(   N(    (   R   t   a(    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   __init__1   s    c         C   s   d  S(   N(    (   R   R#   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   f3   s    c         C   s   d  S(   N(    (   R   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   g5   s    t   bart   Barc           B   s   e  Z d  „  Z RS(   c         C   s   d  S(   N(    (   R   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR#   :   s    (   R   R   R#   (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR(   9   s   (   R   R   R$   R%   R&   t   fooR   R(   (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR"   0   s
   			s   %s.Fooc         C   s   d  S(   N(    (   R#   t   b(    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   function@   s    t	   Containerc           B   s5   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s   i  |  _  d  S(   N(   t   values(   R   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR$   E   s    c         C   s   |  j  | S(   N(   R-   (   R   R   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   __getitem__H   s    c         C   s   | |  j  | <d  S(   N(   R-   (   R   R   R   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   __setitem__K   s    c         C   s   |  j  | =d  S(   N(   R-   (   R   R   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   __delitem__N   s    c         C   s   t  |  j ƒ S(   N(   t   iterR-   (   R   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   __iter__Q   s    (   R   R   R$   R.   R/   R0   R2   (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR,   D   s
   				t	   PatchTestc           B   s¿  e  Z e d  „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z  d „  Z! d „  Z" d  „  Z# d! „  Z$ e% j& d" „  ƒ Z' d# „  Z( d$ „  Z) d% „  Z* d& „  Z+ d' „  Z, d( „  Z- d) „  Z. d* „  Z/ d+ „  Z0 d, „  Z1 d- „  Z2 d. „  Z3 d/ „  Z4 d0 „  Z5 d1 „  Z6 d2 „  Z7 d3 „  Z8 d4 „  Z9 d5 „  Z: d6 „  Z; d7 „  Z< d8 „  Z= d9 „  Z> d: „  Z? d; „  Z@ d< „  ZA d= „  ZB d> „  ZC d? „  ZD d@ „  ZE dA „  ZF dB „  ZG dC „  ZH dD „  ZI dE „  ZJ dF „  ZK dG „  ZL dH „  ZM dI „  ZN dJ „  ZO dK „  ZP dL „  ZQ dM „  ZR dN „  ZS dO „  ZT eU dP dQ ƒ dR „  ƒ ZV eU dP dS ƒ dT „  ƒ ZW dU „  ZX dV „  ZY dW „  ZZ dX „  Z[ dY „  Z\ dZ „  Z] d[ „  Z^ d\ „  Z_ d] „  Z` d^ „  Za d_ „  Zb d` „  Zc da „  Zd db „  Ze dc „  Zf dd „  Zg de „  Zh df „  Zi dg „  Zj RS(h   c         C   sU   t  } | s t } n  |  j t | ƒ |  j t | | ƒ ƒ |  j t | t ƒ ƒ d  S(   N(   R   R   t   assertRaisest	   TypeErrort
   assertTrueR   t   assertFalseR   (   R   R   t   magict	   MockClass(    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   assertNotCallableX   s    	c            sd   d t  f d „  ƒ  Y‰  t j  ˆ  d t j ƒ ‡  ‡ f d †  ƒ } | ƒ  ˆ j ˆ  j t j d ƒ d  S(   Nt	   Somethingc           B   s   e  Z e j Z RS(    (   R   R   R   t   Originalt	   attribute(    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR;   c   s   R=   c              s   ˆ j  ˆ  j t j d ƒ d  S(   Nt	   unpatched(   t   assertEqualR=   R   t   Patched(    (   R;   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   testf   s    s   patch not restored(   R   R   R   R@   R?   R=   R<   (   R   RA   (    (   R;   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_single_patchobjectb   s
    *c            sa   d t  f d „  ƒ  Y‰  t j  ˆ  d d  ƒ ‡  ‡ f d †  ƒ } | ƒ  ˆ j ˆ  j t j d ƒ d  S(   NR;   c           B   s   e  Z e j Z RS(    (   R   R   R   R<   R=   (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR;   p   s   R=   c              s   ˆ j  ˆ  j d ƒ d  S(   NR>   (   t   assertIsNoneR=   (    (   R;   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   s   s    s   patch not restored(   R   R   t   NoneR?   R=   R   R<   (   R   RA   (    (   R;   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_patchobject_with_noneo   s
    'c            s•   d t  f d „  ƒ  Y‰  t j  ˆ  d t j ƒ t j  ˆ  d t j ƒ ‡  ‡ f d †  ƒ ƒ } | ƒ  ˆ j ˆ  j t j d ƒ ˆ j ˆ  j t j	 d ƒ d  S(   NR;   c           B   s   e  Z e j Z e j Z RS(    (   R   R   R   R<   R=   t	   Original2t   next_attribute(    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR;   }   s   	R=   RG   c              s6   ˆ j  ˆ  j t j d ƒ ˆ j  ˆ  j t j d ƒ d  S(   NR>   (   R?   R=   R   R@   RG   t   Patched2(    (   R;   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA      s    s   patch not restored(
   R   R   R   R@   RH   R?   R=   R<   RG   RF   (   R   RA   (    (   R;   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_multiple_patchobject|   s    -c         C   sZ   t  } t d t t j ƒ d „  ƒ } z' t j a  | ƒ  |  j t  t j ƒ Wd  | a  Xd  S(   Ns   %s.somethingc           S   s   d  S(   N(    (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   “   s    (   t	   somethingR   R   R   t
   Something2t   replacement_valueR?   (   R   t   originalRA   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt    test_object_lookup_is_quite_lazy   s    	c            sG  t  d t t j ƒ ‡  f d †  ƒ } | ƒ  ˆ  j t j t j d ƒ t  d t t j ƒ t  d t t j ƒ ‡  f d †  ƒ ƒ } ˆ  j t j t j d ƒ ˆ  j t j	 t j d ƒ | ƒ  ˆ  j t j t j d ƒ ˆ  j t j	 t j d ƒ t
 ƒ  } t j | _ t  d t | ƒ ‡  f d †  ƒ } | ƒ  | ƒ  ˆ  j t | d ƒ d  S(   Ns   %s.somethingc              s   ˆ  j  t j t j d ƒ d  S(   NR>   (   R?   t   PTModuleRJ   R   RK   (    (   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA       s    s   patch not restoreds   %s.something_elsec              s6   ˆ  j  t j t j d ƒ ˆ  j  t j t j d ƒ d  S(   NR>   (   R?   RO   RJ   R   RK   t   something_elset   SomethingElse(    (   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   ©   s    s   %s.openc              s#   ˆ  j  t d d ƒ t j d ƒ d  S(   Nt   filenamet   rs   open not patched(   R?   t   openR   t   Handle(    (   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   À   s    (   R   R   R   RK   R?   RO   RJ   R;   RQ   RP   R
   RU   t   return_valuet   builtin_stringt   assertNotEqualRT   (   R   RA   t   mock(    (   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt
   test_patchŸ   s*    %(	"c            sF   t  d t t j ƒ ‡  f d †  ƒ } | ƒ  ˆ  j t j j d ƒ d  S(   Ns   %s.SomeClass.class_attributec              s    ˆ  j  t j j t j d ƒ d  S(   NR>   (   R?   RO   R   t   class_attributeR   t   ClassAttribute(    (   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   Ë   s    s   patch not restored(   R   R   R   R\   RC   RO   R   R[   (   R   RA   (    (   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_patch_class_attributeÊ   s
    
c            s¹   d t  f d „  ƒ  Y‰  t j  ˆ  d ƒ ‡  ‡ f d †  ƒ } | ƒ  t j  ˆ  d ƒ t j  ˆ  d ƒ ‡  ‡ ‡ ‡ f d †  ƒ ƒ } d  ‰ ‰ | t j t j ƒ \ ‰ ‰ | t j t j ƒ d  S(   Nt   Testc           B   s   e  Z e j Z e j Z RS(    (   R   R   R   R<   RJ   RF   t
   something2(    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR^   ×   s   	RJ   c            s-   ˆ j  |  ˆ  j d ƒ ˆ j |  t d ƒ d  S(   Ns"   Mock not passed into test functions.   patch with two arguments did not create a mock(   R?   RJ   t   assertIsInstanceR	   (   RY   (   R^   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   Û   s    R_   c            s®   ˆ j  |  t j d ƒ ˆ j  | t j d ƒ ˆ j  | ˆ  j d ƒ ˆ j  | ˆ  j d ƒ ˆ j | t d ƒ ˆ j | t d ƒ ˆ j ˆ | d ƒ ˆ j ˆ | d ƒ | | f S(   Ns0   Patched function didn't receive initial arguments/   Patched function didn't receive second arguments"   Mock not passed into test functions)   Second Mock not passed into test functions.   patch with two arguments did not create a mocks   unexpected value for mock1(	   R?   R   t   this1t   this2R_   RJ   R`   R	   RX   (   Ra   Rb   t   mock1t   mock2(   R^   t
   outerMock1t
   outerMock2R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   ä   s    (   R   R   RD   R   Ra   Rb   (   R   RA   (    (   R^   Re   Rf   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt"   test_patchobject_with_default_mockÖ   s    $-
c            s0   t  d t d t ƒ‡  f d †  ƒ } | ƒ  d  S(   Ns   %s.SomeClasst   specc            s@   ˆ  j  t |  ƒ ˆ  j t t j t ƒ ƒ ˆ  j t d „  ƒ d  S(   Nc           S   s   t  j S(   N(   R   t
   not_wibble(    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   <lambda>  s    (   R?   R   R6   R   t   wibbleR	   R4   t   AttributeError(   t   MockSomeClass(   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA     s    (   R   R   R   (   R   RA   (    (   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_patch_with_spec   s    %c            s2   t  j t d d t ƒ‡  f d †  ƒ } | ƒ  d  S(   NR[   Rh   c            sF   ˆ  j  t j |  ƒ ˆ  j t t j j t ƒ ƒ ˆ  j t d „  ƒ d  S(   Nc           S   s
   t  j j S(   N(   R   R[   Ri   (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRj     s    (	   R?   R   R[   R6   R   Rk   R	   R4   Rl   (   t   MockAttribute(   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA     s
    
	(   R   R   R   (   R   RA   (    (   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_patchobject_with_spec
  s    'c            s3   t  d t d d g ƒ‡  f d †  ƒ } | ƒ  d  S(   Ns   %s.SomeClassRh   Rk   c            s@   ˆ  j  t |  ƒ ˆ  j t t j t ƒ ƒ ˆ  j t d „  ƒ d  S(   Nc           S   s   t  j S(   N(   R   Ri   (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRj     s    (   R?   R   R6   R   Rk   R	   R4   Rl   (   Rm   (   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA     s    (   R   R   (   R   RA   (    (   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_patch_with_spec_as_list  s    (c            s5   t  j t d d d g ƒ‡  f d †  ƒ } | ƒ  d  S(   NR[   Rh   Rk   c            sF   ˆ  j  t j |  ƒ ˆ  j t t j j t ƒ ƒ ˆ  j t d „  ƒ d  S(   Nc           S   s
   t  j j S(   N(   R   R[   Ri   (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRj   '  s    (	   R?   R   R[   R6   R   Rk   R	   R4   Rl   (   Ro   (   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   !  s
    
	(   R   R   R   (   R   RA   (    (   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt"   test_patchobject_with_spec_as_list   s    *c            sC   t  d t ƒ t  d t d d g ƒ‡  f d †  ƒ ƒ } | ƒ  d  S(   Ns   %s.opens   %s.SomeClassRh   Rk   c            s@   ˆ  j  t |  ƒ ˆ  j t t j t ƒ ƒ ˆ  j t d „  ƒ d  S(   Nc           S   s   t  j S(   N(   R   Ri   (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRj   3  s    (   R?   R   R6   R   Rk   R	   R4   Rl   (   Rm   t   MockOpen(   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   .  s    (   R   RW   R   (   R   RA   (    (   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt#   test_nested_patch_with_spec_as_list,  s    +c            s0   t  d t d t ƒ‡  f d †  ƒ } | ƒ  d  S(   Ns   %s.SomeClassRh   c            s4   ˆ j  t ˆ  ƒ ˆ  j ˆ j t ‡  f d †  ƒ d  S(   Nc              s   ˆ  j  S(   N(   Ri   (    (   Rm   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRj   >  s    (   R?   R   Rk   R4   Rl   (   Rm   (   R   (   Rm   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   8  s    (   R   R   t   True(   R   RA   (    (   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_patch_with_spec_as_boolean7  s    %c            s2   t  j t d d t ƒ‡  f d †  ƒ } | ƒ  d  S(   NR   Rh   c            s4   ˆ j  t ˆ  ƒ ˆ  j ˆ j t ‡  f d †  ƒ d  S(   Nc              s   ˆ  j  S(   N(   Ri   (    (   Rm   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRj   J  s    (   R?   R   Rk   R4   Rl   (   Rm   (   R   (   Rm   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   D  s    (   R   R   RO   Ru   (   R   RA   (    (   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt&   test_patch_object_with_spec_as_booleanC  s    'c            s0   t  d t d t ƒ‡  f d †  ƒ } | ƒ  d  S(   Ns   %s.SomeClassRh   c            sP   ˆ j  t |  t ƒ ƒ |  ƒ  ‰  ˆ j ˆ  ƒ ˆ  j ˆ j t ‡  f d †  ƒ d  S(   Nc              s   ˆ  j  S(   N(   Ri   (    (   t   instance(    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRj   X  s    (   R6   R   R	   R:   Rk   R4   Rl   (   Rm   (   R   (   Rx   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   P  s
    	(   R   R   Ru   (   R   RA   (    (   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt,   test_patch_class_acts_with_spec_is_inheritedO  s    %
c            sI   t  d t t j d t ƒ‡  f d †  ƒ } | ƒ  ˆ  j t d „  ƒ d  S(   Ns
   %s.frooblet   createc              s   ˆ  j  t t j ƒ d  S(   N(   R?   t   froobleR   t   Frooble(    (   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   ^  s    c           S   s   t  S(   N(   R{   (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRj   c  s    (   R   RW   R   R|   Ru   R4   t	   NameError(   R   RA   (    (   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt4   test_patch_with_create_mocks_non_existent_attributes]  s    +c            sN   t  j t d t j d t ƒ‡  f d †  ƒ } | ƒ  ˆ  j t t d ƒ ƒ d  S(   NR{   Rz   c              s   ˆ  j  t j t j ƒ d  S(   N(   R?   R   R{   R   R|   (    (   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   g  s    (   R   R   R   R   R|   Ru   R7   t   hasattr(   R   RA   (    (   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt:   test_patchobject_with_create_mocks_non_existent_attributesf  s    -c            sh   y0 t  d t t j ƒ ‡  f d †  ƒ } | ƒ  Wn t k
 rC n Xˆ  j d ƒ ˆ  j t d „  ƒ d  S(   Ns
   %s.frooblec              s   ˆ  j  t t j ƒ d  S(   N(   R?   R{   R   R|   (    (   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   q  s    s,   Patching non existent attributes should failc           S   s   t  S(   N(   R{   (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRj   {  s    (   R   RW   R   R|   Rl   t   failR4   R}   (   R   RA   (    (   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt!   test_patch_wont_create_by_defaulto  s    %c            sm   y2 t  j t d t j ƒ ‡  f d †  ƒ } | ƒ  Wn t k
 rE n Xˆ  j d ƒ ˆ  j t t d ƒ ƒ d  S(   Nt   ordc              s   ˆ  j  d ƒ d  S(   Ns,   Patching non existent attributes should fail(   R   (    (   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   €  s    s,   Patching non existent attributes should fail(	   R   R   R   R   R|   Rl   R   R7   R   (   R   RA   (    (   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt'   test_patchobject_wont_create_by_default~  s    'c         C   s\   t  t d ƒ d „  ƒ } t  t d ƒ d „  ƒ } |  j | ƒ  d ƒ |  j | ƒ  d ƒ d  S(   Ns   .ordc         S   s   d |  _  t d ƒ S(   Nie   t   c(   RV   Rƒ   (   t   mock_ord(    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_ord  s    	s   .openc         S   s;   |  j  } d | j _  t d ƒ } | j ƒ  } | j ƒ  | S(   Nt   abcds   doesnotexists.txt(   RV   t   readRT   t   close(   t	   mock_opent   mt   fobjt   data(    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt	   test_open’  s    	
ie   Rˆ   (   R   R   R?   (   R   R‡   R   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt"   test_patch_builtins_without_createŒ  s    
c            sj   d t  f d „  ƒ  Y‰  t j  ˆ  d t d „  ƒ ƒ ‡  ‡ f d †  ƒ } | ƒ  ˆ j ˆ  j ƒ  t j ƒ d  S(   NR"   c           B   s   e  Z e d  „  ƒ Z RS(   c           S   s   t  j S(   N(   R   t   Static(    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   woot¢  s    (   R   R   t   staticmethodR’   (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR"   ¡  s   R’   c           S   s   t  j S(   N(   R   R@   (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRj   ¦  s    c              s   ˆ j  ˆ  j ƒ  t j ƒ d  S(   N(   R?   R’   R   R@   (    (   R"   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt	   anonymous¦  s    (   R   R   R“   R?   R’   R   R‘   (   R   R”   (    (   R"   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_patch_with_static_methods   s    0c            sK   t  j } t j t  d d ƒ ‡  f d †  ƒ } | ƒ  ˆ  j t  j | ƒ d  S(   NR"   c              s   ˆ  j  t j d ƒ d  S(   NR"   (   R?   R   R"   (    (   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR”   °  s    (   R   R"   R   R   R?   (   R   R)   R”   (    (   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_patch_local®  s    	$c            ss   d t  f d „  ƒ  Y} | ƒ  ‰  t j ˆ  _ t j  ˆ  d d ƒ ‡  ‡ f d †  ƒ } | ƒ  ˆ j ˆ  j t j ƒ d  S(   NR"   c           B   s   e  Z d Z RS(   R"   (   s   Foo(   R   R   t	   __slots__(    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR"   ¹  s   c              s   ˆ j  ˆ  j d ƒ d  S(   NR"   (   R?   R"   (    (   R)   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR”   ¿  s    (   R   R   R"   R   R?   (   R   R"   R”   (    (   R)   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_patch_slots¸  s    	'c            s   d t  f d „  ƒ  Y‰  d t  f ‡  ‡ f d †  ƒ  Y} t j  ˆ  d t j ƒ | ƒ } | ƒ  } | j ƒ  | j ƒ  ˆ j ˆ  j t j d ƒ d  S(   NR;   c           B   s   e  Z e j Z RS(    (   R   R   R   R<   R=   (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR;   È  s   R"   c              s,   e  Z ‡  ‡ f d  †  Z ‡  ‡ f d †  Z RS(   c            s   ˆ j  ˆ  j t j d ƒ d  S(   NR>   (   R?   R=   R   R@   (   t
   other_self(   R;   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_methodÌ  s    c            s   ˆ j  ˆ  j t j d ƒ d  S(   Ns   non-test method patched(   R?   R=   R   R<   (   R™   (   R;   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   not_test_methodÏ  s    (   R   R   Rš   R›   (    (   R;   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR"   Ë  s   R=   s   patch not restored(	   R   R   R   R@   Rš   R›   R?   R=   R<   (   R   R"   R%   (    (   R;   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt    test_patchobject_class_decoratorÇ  s    	

c            s›   d t  f d „  ƒ  Y} d t  f ‡  f d †  ƒ  Y} t d t ƒ | ƒ } | ƒ  } | j ƒ  | j ƒ  ˆ  j | j t j d ƒ ˆ  j t	 j
 t j d ƒ d  S(   NR;   c           B   s   e  Z e j Z RS(    (   R   R   R   R<   R=   (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR;   Þ  s   R"   c              s&   e  Z ‡  f d  †  Z ‡  f d †  Z RS(   c            s   ˆ  j  t j | d ƒ d  S(   NR>   (   R?   RO   RJ   (   R™   t   mock_something(   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRš   â  s    c            s   ˆ  j  t j t j d ƒ d  S(   Ns   non-test method patched(   R?   RO   RJ   R   R;   (   R™   (   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR›   å  s    (   R   R   Rš   R›   (    (   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR"   á  s   s   %s.somethings   patch not restored(   R   R   R   Rš   R›   R?   R=   R   R<   RO   RJ   R;   (   R   R;   R"   R%   (    (   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_patch_class_decoratorÝ  s    	

c            s|   d t  f d „  ƒ  Y‰  t j  ˆ  d t j ƒ t j  ˆ  d t j ƒ ‡  ‡ f d †  ƒ ƒ } | ƒ  ˆ j ˆ  j t j d ƒ d  S(   NR;   c           B   s   e  Z e j Z e j Z RS(    (   R   R   R   R<   R=   RF   RG   (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR;   õ  s   	R=   c              s   ˆ j  ˆ  j t j d ƒ d  S(   NR>   (   R?   R=   R   R@   (    (   R;   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   ù  s    s   patch not restored(   R   R   R   R@   R?   R=   R<   (   R   RA   (    (   R;   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_patchobject_twiceô  s    -c            sÜ   i t  ƒ  d 6d d 6‰  ˆ  j ƒ  } t j ˆ  ƒ ‡  f d †  ƒ } | ƒ  ˆ j ˆ  | ƒ t j ˆ  i d d 6ƒ ‡  ‡ f d †  ƒ } | ƒ  ˆ j ˆ  | ƒ t j ˆ  d	 g ƒ ‡  ‡ f d †  ƒ } | ƒ  ˆ j ˆ  | ƒ d  S(
   Nt   initialRJ   t   otherc              s   d ˆ  d <ˆ  d =d ˆ  d <d  S(   Ni   R#   R    s   something elseR¡   (    (    (   R)   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA     s    
R*   R#   c              s.   ˆ j  t ˆ  ƒ d ƒ ˆ j  ˆ  d d ƒ d  S(   Ni   R#   R*   (   R?   t   len(    (   R)   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA     s    c              s.   ˆ j  t ˆ  ƒ d ƒ ˆ j  ˆ  d d ƒ d  S(   Ni   R#   R*   (   R?   R¢   (    (   R)   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA     s    (   R#   R*   (   R   t   copyR   t   dictR?   (   R   RM   RA   (    (   R)   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_patch_dict  s    +'c            s°   t  ƒ  ‰  t ƒ  ˆ  d <d ˆ  d <ˆ  j j ƒ  } t j ˆ  ƒ ‡  f d †  ƒ } | ƒ  ˆ j ˆ  j | ƒ t j ˆ  i d d 6ƒ ‡  ‡ f d †  ƒ } | ƒ  ˆ j ˆ  j | ƒ d  S(   NR    RJ   R¡   c              s   d ˆ  d <ˆ  d =d ˆ  d <d  S(   Ni   R#   R    s   something elseR¡   (    (    (   R)   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   ,  s    
R*   R#   c              s1   ˆ j  t ˆ  j ƒ d ƒ ˆ j  ˆ  d d ƒ d  S(   Ni   R#   R*   (   R?   R¢   R-   (    (   R)   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   6  s    (   R,   R   R-   R£   R   R¤   R?   (   R   RM   RA   (    (   R)   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt%   test_patch_dict_with_container_object%  s    	
+c            sñ   i t  ƒ  d 6d d 6‰  ˆ  j ƒ  } t j ˆ  d t ƒ‡  ‡ f d †  ƒ } | ƒ  ˆ j ˆ  | ƒ t j ˆ  i d d 6d t ƒ‡  ‡ f d †  ƒ } | ƒ  ˆ j ˆ  | ƒ t j ˆ  d
 g d t ƒ‡  ‡ f d	 †  ƒ } | ƒ  ˆ j ˆ  | ƒ d  S(   NR    RJ   R¡   t   clearc              s(   ˆ j  ˆ  i  ƒ d ˆ  d <d ˆ  d <d  S(   Ni   R#   s   something elseR¡   (   R?   (    (   R)   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   D  s    
R*   R#   c              s   ˆ j  ˆ  i d d 6ƒ d  S(   NR*   R#   (   R?   (    (   R)   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   N  s    c              s   ˆ j  ˆ  i d d 6ƒ d  S(   NR*   R#   (   R?   (    (   R)   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   V  s    (   R#   R*   (   R   R£   R   R¤   Ru   R?   (   R   RM   RA   (    (   R)   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_patch_dict_with_clear@  s    '1-c            s¿   t  ƒ  ‰  t ƒ  ˆ  d <d ˆ  d <ˆ  j j ƒ  } t j ˆ  d t ƒ‡  ‡ f d †  ƒ } | ƒ  ˆ j ˆ  j | ƒ t j ˆ  i d d 6d t ƒ‡  ‡ f d †  ƒ } | ƒ  ˆ j ˆ  j | ƒ d  S(	   NR    RJ   R¡   R§   c              s+   ˆ j  ˆ  j i  ƒ d ˆ  d <d ˆ  d <d  S(   Ni   R#   s   something elseR¡   (   R?   R-   (    (   R)   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   f  s    
R*   R#   c              s   ˆ j  ˆ  j i d d 6ƒ d  S(   NR*   R#   (   R?   R-   (    (   R)   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   p  s    (   R,   R   R-   R£   R   R¤   Ru   R?   (   R   RM   RA   (    (   R)   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt/   test_patch_dict_with_container_object_and_clear_  s    	
'1c         C   s|   i  } t  d t t ƒ  ƒ t  d t t ƒ  d t ƒt  j t t ƒ  ƒ t  j | ƒ d „  ƒ ƒ ƒ ƒ } |  j | j d ƒ d  S(   Ns   %s.SomeClasst   autospecc           S   s   d  S(   N(    (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt	   some_name|  s    R«   (   R   R   R   Ru   R   R¤   R?   (   R   R)   R«   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_name_preservedy  s    !c         C   sh   i  } t  j | i d d 6ƒ d „  ƒ } y | ƒ  Wn t k
 rF n X|  j d ƒ |  j | i  ƒ d  S(   NR*   R#   c           S   s   t  d ƒ ‚ d  S(   Nt   Konrad(   R}   (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   ‰  s    s   NameError not raised by test(   R   R¤   R}   R   R?   (   R   R)   RA   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_patch_with_exception†  s    "c            s3   t  j d i d d 6ƒ ‡  f d †  ƒ } | ƒ  d  S(   Ns
   os.environs
   some valuet   konrad_delongc              s   ˆ  j  d t j ƒ d  S(   NR¯   (   t   assertInt   ost   environ(    (   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   —  s    (   R   R¤   (   R   RA   (    (   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_patch_dict_with_string–  s    (c            sÑ   d t  f d „  ƒ  Y‰  d t  f ‡  ‡ ‡ f d †  ƒ  Y‰ ˆ j ˆ j d ƒ d ƒ ˆ j ƒ  ˆ j ˆ j d ƒ d ƒ ˆ j ƒ  ˆ ƒ  } ˆ j | j d ƒ d ƒ | j ƒ  ˆ j | j d ƒ d ƒ | j ƒ  d  S(   Nt   Nothingc           B   s   e  Z d  Z RS(   N(   R   R   RD   R)   (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR´   ¢  s   R;   c              s¤   e  Z i  Z e j ˆ  d  d ƒ e ‡ ‡ f d †  ƒ ƒ Z e j ˆ  d  d ƒ e d „  ƒ ƒ Z e j	 e ƒ e ‡ ‡ f d †  ƒ ƒ Z
 e j	 e ƒ e d „  ƒ ƒ Z RS(   R)   i   c            s   ˆ j  |  ˆ  ƒ d  S(   N(   t   assertIs(   t   cls(   R;   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   klass¨  s    c         S   s   |  S(   N(    (   t   arg(    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   static­  s    c            s   ˆ j  |  ˆ  ƒ d  S(   N(   Rµ   (   R¶   (   R;   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt
   klass_dict²  s    c         S   s   |  S(   N(    (   R¸   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   static_dict·  s    (   R   R   R)   R   R   t   classmethodR·   R“   R¹   R¤   Rº   R»   (    (   R´   R;   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR;   ¥  s   t   f00(   R   R?   R¹   R·   R»   Rº   (   R   RJ   (    (   R´   R;   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_patch_descriptorž  s    "

	
c         C   sÄ   t  d t d t ƒd „  ƒ } |  j t | ƒ t  j t d d t ƒd „  ƒ } |  j t | ƒ t  d t d t ƒd „  ƒ } |  j t | ƒ t  j t d d t ƒd „  ƒ } |  j t | ƒ d  S(   Ns   %s.SomeClasst   spec_setc         S   s   d |  _  d  S(   NR)   (   t   z(   R9   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   Ê  s    R   c         S   s   d |  _  d  S(   NR)   (   RÀ   (   R9   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   Ð  s    c         S   s   d |  _  d  S(   NR)   (   RÀ   (   R9   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   Õ  s    c         S   s   d |  _  d  S(   NR)   (   RÀ   (   R9   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   Û  s    (   R   R   R   R4   Rl   R   R    Ru   (   R   RA   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_patch_spec_setÉ  s    !!c         C   s3   t  d t d t ƒd „  ƒ } |  j t | ƒ d  S(   Ns   %s.SomeClassR¿   c         S   s   |  ƒ  } d | _  d  S(   NR)   (   RÀ   (   R9   Rx   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   ã  s    	(   R   R   Ru   R4   Rl   (   R   RA   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_spec_set_inheritâ  s    c         C   sx   t  } t d t ƒ } |  j t  | ƒ | j ƒ  } z$ |  j | | ƒ |  j t  | ƒ Wd  | j ƒ  X|  j t  | ƒ d  S(   Ns   %s.something(   RJ   R   R   Rµ   t   startt   assertIsNott   stop(   R   RM   t   patcherRY   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_patch_start_stopë  s    c         C   s)   t  t d d ƒ } |  j t | j ƒ d  S(   NR'   i   (   R   t   foo_nameR4   t   RuntimeErrorRÅ   (   R   RÆ   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_stop_without_startø  s    c         C   s}   t  } t j t d d ƒ } |  j t  | ƒ | j ƒ  } z$ |  j | d ƒ |  j t  | ƒ Wd  | j ƒ  X|  j t  | ƒ d  S(   NRJ   R)   (   RJ   R   R   RO   Rµ   RÃ   R?   RÅ   (   R   RM   RÆ   t   replaced(    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_patchobject_start_stopÿ  s    c         C   s‹   i d d 6} | j  ƒ  } t j | d g d t ƒ} |  j | | ƒ | j ƒ  z |  j | i d d 6ƒ Wd  | j ƒ  X|  j | | ƒ d  S(   NR'   R)   t   spamt   eggsR§   (   RÍ   RÎ   (   R£   R   R¤   Ru   R?   RÃ   RÅ   (   R   t   dRM   RÆ   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_patch_dict_start_stop  s    
c            sñ   |  ‰ i d d 6‰  ˆ  j  ƒ  } d t f ‡  ‡ f d †  ƒ  Y} t j ˆ  i d d 6d t ƒ| ƒ } |  j ˆ  | ƒ | ƒ  } | j ƒ  |  j ˆ  | ƒ | j ƒ  |  j ˆ  | ƒ | ƒ  } | j ƒ  |  j ˆ  | ƒ | j ƒ  |  j ˆ  | ƒ d  S(   NRÎ   RÍ   R^   c              s,   e  Z ‡  ‡ f d  †  Z ‡  ‡ f d †  Z RS(   c            s   ˆ j  ˆ  i d d 6ƒ d  S(   NR'   R)   (   R?   (   R   (   RÏ   t   this(    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt
   test_first   s    c            s   ˆ j  ˆ  i d d 6ƒ d  S(   NR'   R)   (   R?   (   R   (   RÏ   RÑ   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_second"  s    (   R   R   RÒ   RÓ   (    (   RÏ   RÑ   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR^     s   R'   R)   R§   (   R£   R   R   R¤   Ru   R?   RÒ   RÓ   (   R   RM   R^   RA   (    (   RÏ   RÑ   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_patch_dict_class_decorator  s     %	

	

c            sÀ   d t  f d „  ƒ  Y} d d d „  ƒ  Y} x | | | ƒ  | f D]y } t | ƒ ‰  t j  ˆ  d d ƒ ‡  ‡ f d †  ƒ } | ƒ  ˆ j ˆ  j d ƒ ˆ j | j d ƒ ˆ j d ˆ  j ƒ q? Wd  S(	   NR;   c           B   s   e  Z d  Z RS(   R)   (   R   R   R)   (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR;   :  s   RQ   c           B   s   e  Z d  Z RS(   R)   (   R   R   R)   (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRQ   <  s   R)   R'   c              s   ˆ j  ˆ  j d ƒ d  S(   NR'   (   R?   R)   (    (   t   proxyR   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   B  s    (    (   R   R!   R   R?   R)   t   assertNotInt   __dict__(   R   R;   RQ   t   thingRA   (    (   RÕ   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_get_only_proxy9  s    'c            sÆ   d t  f d „  ƒ  Y} d d	 d „  ƒ  Y} x– | | | ƒ  | f D] } t | d t ƒ‰  t j  ˆ  d d ƒ ‡  ‡ f d †  ƒ } | ƒ  ˆ j ˆ  j d ƒ ˆ j | j d ƒ ˆ j d ˆ  j ƒ q? Wd  S(
   NR;   c           B   s   e  Z d  Z RS(   R)   (   R   R   R)   (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR;   L  s   RQ   c           B   s   e  Z d  Z RS(   R)   (   R   R   R)   (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRQ   N  s   R    R)   R'   c              s   ˆ j  ˆ  j d ƒ d  S(   NR'   (   R?   R)   (    (   RÕ   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   T  s    (    (   R   R!   t   FalseR   R?   R)   RÖ   R×   (   R   R;   RQ   RØ   RA   (    (   RÕ   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_get_set_delete_proxyK  s    'c         C   sƒ   i t  d 6d d 6t ƒ  d 6} t t |  } | j ƒ  } | j ƒ  |  j t  | ƒ |  j | j j	 ƒ  d ƒ |  j
 | j t ƒ d  S(   Nt   side_effecti!   s   foo.bar.return_valueR)   (   t   KeyErrorR	   R   RÈ   RÃ   RÅ   R4   R?   R)   R'   R`   (   R   t   kwargsRÆ   RY   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_patch_keyword_args]  s    
c         C   s‰   i t  d 6d d 6t ƒ  d 6} t j t d |  } | j ƒ  } | j ƒ  |  j t  | ƒ |  j | j	 j
 ƒ  d ƒ |  j | j	 t ƒ d  S(   NRÜ   i!   s   foo.bar.return_valueR)   R%   (   RÝ   R	   R   R   R"   RÃ   RÅ   R4   R?   R)   R'   R`   (   R   RÞ   RÆ   RY   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_patch_object_keyword_argsj  s    
c      	   C   s   i d d 6} | j  ƒ  } t j | d d d d d d ƒ} | j ƒ  z) |  j | t d d d d d d ƒ ƒ Wd  | j ƒ  X|  j | | ƒ d  S(   NR'   R)   i   i   t   bazi   (   R£   R   R¤   RÃ   R?   RÅ   (   R   RM   R£   RÆ   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_patch_dict_keyword_argsw  s    !
)c            sÐ   d t  f d „  ƒ  Y} ‡ f d †  ‰  ‡ f d †  ‰ ‡  ‡ ‡ f d †  } t t d t ƒ| ƒ } | ƒ  } ˆ j t | ƒ | ƒ  t j t } t j  | d d t ƒ| ƒ } | ƒ  } ˆ j t | ƒ | ƒ  d  S(   Nt   Booc           B   s?   e  Z d  „  Z d „  Z d „  Z d Z d e f d „  ƒ  YZ RS(   c         S   s   d  S(   N(    (   R   R#   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR$   ˆ  s    c         S   s   d  S(   N(    (   R   R#   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR%   Š  s    c         S   s   d  S(   N(    (   R   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR&   Œ  s    R'   R(   c           B   s   e  Z d  „  Z RS(   c         S   s   d  S(   N(    (   R   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR#   ‘  s    (   R   R   R#   (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR(     s   (   R   R   R$   R%   R&   R)   R   R(   (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRã   ‡  s
   			c            s+   |  d ƒ |  j  d ƒ ˆ  j t |  ƒ d  S(   Ni   (   t   assert_called_withR4   R5   (   RY   (   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   _test”  s    
c            sn  |  j  d ƒ |  j  j d ƒ ˆ  j t |  j  ƒ |  j ƒ  |  j j ƒ  ˆ  j t |  j d ƒ ˆ  j t t |  d ƒ |  j j ƒ  |  j j j ƒ  ˆ  j t t |  j d ƒ |  j	 ƒ  |  j	 j ƒ  |  j	 j
 ƒ  |  j	 j
 j ƒ  ˆ  j t |  j	 j
 d ƒ |  j	 ƒ  j
 ƒ  |  j	 ƒ  j
 j ƒ  ˆ  j t |  j	 ƒ  j
 d ƒ ˆ  j t t |  j	 d ƒ ˆ  j t t |  j	 ƒ  d ƒ d  S(   Ni   t   hR'   R*   (   R%   Rä   R4   R5   R&   Rl   R   R)   t   lowerR(   R#   (   RY   (   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   _test2™  s(    

c            s8   ˆ  |  ƒ ˆ |  ƒ ˆ |  d ƒ ƒ ˆ j  |  t ƒ |  S(   Ni   (   Rµ   R"   (   RY   (   Rå   Rè   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR+   ¶  s
    

Rª   R"   (	   R   R   RÈ   Ru   RÄ   R"   t   syst   modulesR   (   R   Rã   R+   RA   RY   t   module(    (   Rå   Rè   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_autospec†  s    		c            s0   t  d t d t ƒ‡  f d †  ƒ } | ƒ  d  S(   Ns   %s.functionRª   c            s^   t  d ƒ t  j d ƒ t  d d ƒ t  j d d ƒ ˆ  j t t  ƒ ˆ  j t t t  d ƒ d  S(   Ni   i   i   R)   (   R+   Rä   R4   R5   Rl   R   (   RY   (   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   Î  s    
(   R   R   Ru   (   R   RA   (    (   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_autospec_functionÍ  s    %
c         C   sB   t  d t d t d d ƒd „  ƒ } | ƒ  } |  j | d ƒ d  S(   Ns   %s.functionRª   RV   i   c         S   s   t  d d ƒ S(   Ni   i   (   R+   (   t   mock_function(    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   Ü  s    (   R   R   Ru   R?   (   R   RA   t   result(    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_autospec_keywordsÛ  s    	c         C   sq   t  d t d d d t ƒ} |  j t | j ƒ t j t } t  j | d d d d t ƒ} |  j t | j ƒ d  S(   Ns   %s.functiont   newi   Rª   R+   (	   R   R   Ru   R4   R5   RÃ   Ré   Rê   R   (   R   RÆ   Rë   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_autospec_with_newæ  s
    c         C   sm   d t  f d „  ƒ  Y} t t d | ƒ} | j ƒ  } z' |  j | | ƒ |  j | j t ƒ Wd  | j ƒ  Xd  S(   NR(   c           B   s   e  Z g  Z RS(    (   R   R   t   extra(    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR(   ð  s   Rª   (   R"   R   RÈ   RÃ   R`   Ró   t   listRÅ   (   R   R(   RÆ   RY   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_autospec_with_objectï  s    c         C   s`   t  } t t d t ƒ} | j ƒ  } z* |  j | | ƒ |  j | d ƒ | ƒ Wd  | j ƒ  Xd  S(   NRª   i   (   R"   R   RÈ   Ru   RÃ   R`   RÅ   (   R   t   FooClassRÆ   RY   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_autospec_inheritsü  s    c         C   sž   t  t d t ƒ} | j ƒ  } zn |  j d t | ƒ ƒ |  j d t | j ƒ ƒ |  j d t | d  ƒ ƒ ƒ |  j d t | d  ƒ j ƒ ƒ Wd  | j ƒ  Xd  S(   NRª   s    name='Foo's    name='Foo.f's    name='Foo()'s    name='Foo().f'(	   R   RÈ   Ru   RÃ   R°   t   reprR%   RD   RÅ   (   R   RÆ   RY   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_autospec_name  s    #c         C   s}   t  j t d t ƒ  ƒ d „  ƒ } y | ƒ  Wn t j ƒ  } n Xt j d  d  d ƒ } | j | |  ƒ } |  j	 d | ƒ d  S(   NR%   c           S   s
   t  ‚ d  S(   N(   t   AssertionError(    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA     s    i    s   raise AssertionError(
   R   R   R"   Ré   t   exc_infot   unittestt   TextTestResultRD   t   _exc_info_to_stringR°   (   R   RA   t   errRï   t	   traceback(    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_tracebacks  s    !c         C   sv   t  t d t ƒ} | j ƒ  } | j ƒ  | j ƒ  } | j ƒ  |  j | | ƒ x! | | f D] } |  j | ƒ q[ Wd  S(   Nt   new_callable(   R   RÈ   R   RÃ   RÅ   RÄ   R:   (   R   RÆ   t   m1t   m2RY   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_new_callable_patch"  s    

c         C   s|   t  j t d d t ƒ} | j ƒ  } | j ƒ  | j ƒ  } | j ƒ  |  j | | ƒ x! | | f D] } |  j | ƒ qa Wd  S(   NR%   R  (   R   R   R"   R   RÃ   RÅ   RÄ   R:   (   R   RÆ   R  R  RY   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_new_callable_patch_object/  s    

c            s”   d t  f ‡  f d †  ƒ  Y‰  t t d ˆ  d d d d ƒ} | j ƒ  } z< |  j t | ƒ ˆ  ƒ |  j ˆ  j t d d d d ƒ ƒ Wd  | j	 ƒ  Xd  S(   NR(   c              s   e  Z d Z ‡  f d  †  Z RS(   c            s   | ˆ  _  d  S(   N(   RÞ   (   R   RÞ   (   R(   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR$   ?  s    N(   R   R   RD   RÞ   R$   (    (   R(   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR(   =  s   R  t   arg1i   t   arg2i   (
   R   R   RÈ   RÃ   Rµ   t   typeR?   RÞ   R¤   RÅ   (   R   RÆ   RŒ   (    (   R(   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt#   test_new_callable_keyword_arguments<  s    &c            sÀ   d t  f ‡  f d †  ƒ  Y‰  t t d ˆ  d ˆ  ƒ} | j ƒ  z  |  j ˆ  j t d ˆ  ƒ ƒ Wd  | j ƒ  Xt t d ˆ  d ˆ  ƒ} | j ƒ  z  |  j ˆ  j t d ˆ  ƒ ƒ Wd  | j ƒ  Xd  S(   NR(   c              s   e  Z d Z ‡  f d  †  Z RS(   c            s   | ˆ  _  d  S(   N(   RÞ   (   R   RÞ   (   R(   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR$   N  s    N(   R   R   RD   RÞ   R$   (    (   R(   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR(   L  s   R  Rh   R¿   (   R   R   RÈ   RÃ   R?   RÞ   R¤   RÅ   (   R   RÆ   (    (   R(   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_new_callable_specK  s    
 
 c         C   s|   d t  } t | d t ƒ} |  j t | j ƒ t | d t d t ƒ} | j ƒ  } z |  j | d t ƒWd  | j	 ƒ  Xd  S(   Ns	   %s.weeeeeR  Rz   R8   (
   RÈ   R   R   R4   Rl   RÃ   Ru   R:   RÚ   RÅ   (   R   t   non_existent_attrt   pRŒ   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_new_callable_create`  s    
	c      	   C   sN   |  j  t t t d t ƒ  d t ƒ|  j  t t j t d d t ƒ  d t ƒd  S(   NRñ   R  R%   (   R4   t
   ValueErrorR   RÈ   R   R	   R"   (   R   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt'   test_new_callable_incompatible_with_newn  s
    c      	   C   sH   |  j  t t t d t d t ƒ|  j  t t j t d d t d t ƒd  S(   NR  Rª   R%   (   R4   R  R   RÈ   R	   Ru   R   R"   (   R   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt,   test_new_callable_incompatible_with_autospecx  s    c   	      C   s°   d t  f d „  ƒ  Y} t t t t  | f } x~ | D]v } xm d D]e } i t | 6} t t d | | } | j ƒ  } z# | j } |  j	 t
 t | d ƒ Wd  | j ƒ  Xq? Wq2 Wd  S(   Nt   MockSubc           B   s   e  Z RS(    (   R   R   (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR  „  s   Rh   R¿   R  t   x(   s   specs   spec_set(   R
   R   R   R	   Ru   R   RÈ   RÃ   RV   R4   Rl   R   RÅ   (	   R   R  t   MockClassest   KlassR¸   RÞ   R  RŒ   Rx   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt#   test_new_callable_inherit_for_mocksƒ  s    	c         C   s   d t  f d „  ƒ  Y} t t d | d t ƒ} | j ƒ  } z0 |  j t | | ƒ ƒ |  j t t	 | d ƒ Wd  | j
 ƒ  X|  j | j t ƒ d  S(   Nt   NotAMockc           B   s   e  Z d  „  Z RS(   c         S   s   | |  _  d  S(   N(   Rh   (   R   Rh   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR$   ˜  s    (   R   R   R$   (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR  —  s   R  Rh   RV   (   R   R   RÈ   Ru   RÃ   R6   R   R4   Rl   R   RÅ   R?   Rh   R"   (   R   R  R  RŒ   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt"   test_new_callable_inherit_non_mock–  s    c            sq   |  ‰ t  ‰  d t f ‡  ‡ f d †  ƒ  Y} t t d t ƒ| ƒ } | ƒ  j ƒ  | ƒ  j ƒ  |  j t  ˆ  ƒ d  S(   Nt   SomeTestc              s,   e  Z ‡  ‡ f d  †  Z d „  Z d „  Z RS(   c            s4   ˆ j  t ˆ  ƒ ˆ j t | ƒ ˆ j t t ƒ d  S(   N(   RÄ   R"   Rµ   R`   R   (   R   t   mock_foo(   RM   RA   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRå   «  s    c         S   s   |  j  | ƒ d  S(   N(   Rå   (   R   R  (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_two°  s    c         S   s   |  j  | ƒ d  S(   N(   Rå   (   R   R  (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_one²  s    (   R   R   Rå   R  R  (    (   RM   RA   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR  ©  s   	R  (   R"   R   R   RÈ   R   R  R  Rµ   (   R   R  (    (   RM   RA   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt"   test_new_callable_class_decorating¦  s    c            s%  t  ‰  t  j } t  j } t j t d d d d ƒ} t j t  d d d d ƒ} xœ | | f D]Ž } | j ƒ  z: ˆ j t  ˆ  ƒ ˆ j t  j d ƒ ˆ j t  j d ƒ Wd  | j	 ƒ  Xˆ j t  ˆ  ƒ ˆ j t  j | ƒ ˆ j t  j | ƒ q[ Wt j t d d d d ƒ‡  ‡ f d †  ƒ } | ƒ  d  S(   NR%   i   R&   i   i   i   c              s:   ˆ j  t ˆ  ƒ ˆ j t j d ƒ ˆ j t j d ƒ d  S(   Ni   i   (   Rµ   R"   R?   R%   R&   (    (   t   original_fooR   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   Ñ  s    (
   R"   R%   R&   R   t   multipleRÈ   RÃ   Rµ   R?   RÅ   (   R   t
   original_ft
   original_gt   patcher1t   patcher2RÆ   RA   (    (   R  R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_patch_multiple»  s"    		
-c         C   s0   |  j  t t j t ƒ |  j  t t j t ƒ d  S(   N(   R4   R  R   R  RÈ   R"   (   R   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_patch_multiple_no_kwargsÚ  s    c            s|   t  ‰  t  j } t  j } t j t d t d d d t ƒ‡  ‡ f d †  ƒ } | ƒ  ˆ j t  j | ƒ ˆ j t  j | ƒ d  S(   NR%   R&   i   R)   c            sy   ˆ j  t ˆ  ƒ ˆ j  t j |  ƒ ˆ j t j d ƒ ˆ j  t j | ƒ ˆ j t |  t ƒ ƒ ˆ j t | t ƒ ƒ d  S(   Ni   (	   Rµ   R"   R%   R?   R&   R)   R6   R   R	   (   R%   R)   (   R  R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   ä  s    (   R"   R%   R&   R   R  RÈ   R   R?   (   R   R   R!  RA   (    (   R  R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt    test_patch_multiple_create_mocksß  s    		3	c            s    t  j } t  j } t j t  d d ƒ } d | _ t j t  d t ƒ } d | _ | g | _ | ‡  f d †  ƒ } | ƒ  ˆ  j t  j | ƒ ˆ  j t  j | ƒ d  S(   NR%   i   R&   c            s*   ˆ  j  t j |  ƒ ˆ  j t j d ƒ d  S(   Ni   (   Rµ   R"   R&   R?   R%   (   R&   (   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   þ  s    (	   R"   R%   R&   R   R   t   attribute_nameR   t   additional_patchersR?   (   R   R   R!  RÆ   R¡   RA   (    (   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt0   test_patch_multiple_create_mocks_different_orderò  s    				c            sD  t  ‰ t  j } t  j } t j t d t ƒt j t d t ƒt t d ƒ ‡  f d †  ƒ ƒ ƒ } t j t d t ƒt t d ƒ t j t d t ƒ‡  f d †  ƒ ƒ ƒ } t t d ƒ t j t d t ƒt j t d t ƒ‡  f d †  ƒ ƒ ƒ } ‡ ‡ f d †  ‰  | ƒ  | ƒ  | ƒ  ˆ j t  j | ƒ ˆ j t  j | ƒ d  S(   NR%   R)   s   .gc            s   ˆ  |  |  d  S(   N(    (   R&   RÞ   (   Rå   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test1  s    c            s   ˆ  |  |  d  S(   N(    (   R&   RÞ   (   Rå   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test2  s    c            s   ˆ  |  |  d  S(   N(    (   R&   RÞ   (   Rå   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test3  s    c            sº   | j  d ƒ } | j  d ƒ } ˆ j | ƒ ˆ j t ˆ  ƒ ˆ j t j | ƒ ˆ j t j |  ƒ ˆ j t j | ƒ ˆ j t | t	 ƒ ƒ ˆ j t |  t	 ƒ ƒ ˆ j t | t	 ƒ ƒ d  S(   NR%   R)   (
   t   popR7   Rµ   R"   R%   R&   R)   R6   R   R	   (   R&   RÞ   R%   R)   (   R  R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRå     s    (   R"   R%   R&   R   R  RÈ   R   R?   (   R   R   R!  R*  R+  R,  (    (   Rå   R  R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt&   test_patch_multiple_stacked_decorators  s$    		%**c         C   s  t  } t  j } t  j } t j t d t d d d t ƒ} | j ƒ  } zœ | d } | d } |  j t	 | ƒ t	 d d g ƒ ƒ |  j
 t  | ƒ |  j
 t  j | ƒ |  j
 t  j | ƒ |  j t | t ƒ ƒ |  j t | t ƒ ƒ Wd  | j ƒ  X|  j t  j | ƒ |  j t  j | ƒ d  S(   NR%   R&   i   R)   (   R"   R%   R&   R   R  RÈ   R   RÃ   R?   t   setRµ   R)   R6   R   R	   RÅ   (   R   R  R   R!  RÆ   Rï   R%   R)   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt(   test_patch_multiple_create_mocks_patcher3  s"    		!

"c            s«   |  ‰ t  ‰  t  j } t  j } d t f ‡  ‡ f d †  ƒ  Y} t j t d t d d d t ƒ| ƒ } | ƒ  } | j ƒ  | j	 ƒ  |  j
 t  j | ƒ |  j
 t  j | ƒ d  S(   NR  c              s,   e  Z ‡  ‡ f d  †  Z d „  Z d „  Z RS(   c            sy   ˆ j  t ˆ  ƒ ˆ j  t j | ƒ ˆ j t j d ƒ ˆ j  t j | ƒ ˆ j t | t ƒ ƒ ˆ j t | t ƒ ƒ d  S(   Ni   (	   Rµ   R"   R%   R?   R&   R)   R6   R   R	   (   R   R%   R)   (   R  RA   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRå   T  s    c         S   s   |  j  | | ƒ d  S(   N(   Rå   (   R   R%   R)   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR  \  s    c         S   s   |  j  | | ƒ d  S(   N(   Rå   (   R   R%   R)   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR  ^  s    (   R   R   Rå   R  R  (    (   R  RA   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR  R  s   	R%   R&   i   R)   (   R"   R%   R&   R   R   R  RÈ   R   R  R  R?   (   R   R   R!  R  RØ   (    (   R  RA   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt$   test_patch_multiple_decorating_classL  s    				

c         C   sŒ   t  j t d d ƒ} |  j t | j ƒ t  j t d d d t ƒ} | j ƒ  z |  j t j d ƒ Wd  | j	 ƒ  X|  j
 t t d ƒ ƒ d  S(   Nt   blamRz   (   R   R  R"   R4   Rl   RÃ   Ru   R?   R2  RÅ   R7   R   (   R   RÆ   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_patch_multiple_createm  s    
c         C   s¼   t  j t d t d d d g ƒ} | j ƒ  } z} |  j t j | d ƒ t j j d ƒ t j j d ƒ t j j j	 d ƒ t j j j	 d ƒ |  j
 t t t j d d  ƒ Wd  | j ƒ  Xd  S(   NR)   R¿   R#   R*   i   i   R…   (   R   R  R"   R   RÃ   R?   R)   R#   R*   Rä   R4   Rl   R   RD   RÅ   (   R   RÆ   Rï   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_patch_multiple_spec_set{  s    ! c         C   sÃ   d t  f d „  ƒ  Y} t j t d t d t d | ƒ} | j ƒ  } zn |  j t j | d ƒ |  j t j | d ƒ |  j	 t j | ƒ |  j	 t j | ƒ |  j
 t j t j ƒ Wd  | j ƒ  Xd  S(   Nt   Thingc           B   s   e  Z RS(    (   R   R   (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR5  Œ  s   R%   R&   R  (   R   R   R  R"   R   RÃ   Rµ   R%   R&   R`   RÄ   RÅ   (   R   R5  RÆ   Rï   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt    test_patch_multiple_new_callable‹  s    c         C   s>  t  j } t  j } t j t  d d ƒ t j t  d d ƒ t j t  d d ƒ d „  ƒ ƒ ƒ } t j t  d d ƒ t j t  d d ƒ t j t  d d ƒ d „  ƒ ƒ ƒ } t j t  d d ƒ t j t  d d ƒ t j t  d d ƒ d „  ƒ ƒ ƒ } xM | | | f D]< } |  j t | ƒ |  j t  j | ƒ |  j t  j | ƒ qú Wd  S(   NR&   i   t   missingR%   c           S   s   d  S(   N(    (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   thing1¡  s    c           S   s   d  S(   N(    (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   thing2§  s    c           S   s   d  S(   N(    (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   thing3­  s    (   R"   R%   R&   R   R   R4   Rl   R?   (   R   R   R!  R8  R9  R:  t   func(    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_nested_patch_failure  s    		$$$c   	      C   sl  t  j } t  j } t  j } d „  } t j t  d d ƒ t j t  d d | ƒt j t  d d ƒ d „  ƒ ƒ ƒ } t j t  d d | ƒt j t  d d ƒ t j t  d d ƒ d „  ƒ ƒ ƒ } t j t  d d ƒ t j t  d d ƒ t j t  d d | ƒd	 „  ƒ ƒ ƒ } x` | | | f D]O } |  j t | ƒ |  j t  j | ƒ |  j t  j | ƒ |  j t  j | ƒ qWd  S(
   Nc           S   s   t  d ƒ ‚ d  S(   Nt   crasher(   R}   (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR=  ¾  s    R&   i   R)   R  R%   c           S   s   d  S(   N(    (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR8  Á  s    c           S   s   d  S(   N(    (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR9  Ç  s    c           S   s   d  S(   N(    (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR:  Í  s    (	   R"   R%   R&   R)   R   R   R4   R}   R?   (	   R   R   R!  R  R=  R8  R9  R:  R;  (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_new_callable_failure¹  s$    				$$'c         C   sá   t  j } t  j } t j t  d d ƒ } d | _ t j t  d d ƒ } d | _ t j t  d d ƒ } d | _ xn | | g | | g f D]T } | | _ | d „  ƒ } |  j t | ƒ |  j	 t  j | ƒ |  j	 t  j | ƒ q… Wd  S(   NR%   i   R&   R7  c           S   s   d  S(   N(    (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR;  ê  s    (
   R"   R%   R&   R   R   R'  R(  R4   Rl   R?   (   R   R   R!  RÆ   t   goodt   badt   additionalsR;  (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_patch_multiple_failureÚ  s    						c   
      C   s	  t  j } t  j } t  j } d „  } t j t  d d ƒ } d | _ t j t  d d ƒ } d | _ t j t  d d | ƒ} d | _ x | | g | | g f D]g } | | _ | d „  ƒ }	 |  j t	 |	 ƒ |  j
 t  j | ƒ |  j
 t  j | ƒ |  j
 t  j | ƒ qš Wd  S(   Nc           S   s   t  d ƒ ‚ d  S(   NR=  (   R}   (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR=  ø  s    R%   i   R&   R)   R  c           S   s   d  S(   N(    (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR;    s    (   R"   R%   R&   R)   R   R   R'  R(  R4   R}   R?   (
   R   R   R!  R  R=  RÆ   R?  R@  RA  R;  (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt(   test_patch_multiple_new_callable_failureó  s"    								c            s   xz t  t f D]l } t d | f i d d 6ƒ } | ƒ  ‰  t j ˆ  d d ƒ‡  ‡ f d †  ƒ } | ƒ  ˆ j ˆ  j d ƒ q Wd  S(   NR"   t   tastyt   fishs   nearly gonec              s   ˆ j  ˆ  j d ƒ d  S(   Ns   nearly gone(   R?   RE  (    (   R)   R   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA     s    (   t   strt   unicodeR	  R   R  R?   RE  (   R   t   baseR"   RA   (    (   R)   R   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt%   test_patch_multiple_string_subclasses  s    	's   mock.patch.TEST_PREFIXR)   c         C   s–   d t  f d „  ƒ  Y} t j  | d d ƒ | ƒ } | ƒ  } |  j | j ƒ  d ƒ |  j | j ƒ  d ƒ |  j | j ƒ  d ƒ |  j | j ƒ  d ƒ d  S(   NR"   c           B   s2   e  Z d  Z d „  Z d „  Z d „  Z d „  Z RS(   RM   c         S   s   |  j  S(   N(   RØ   (   R   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   foo_one"  s    c         S   s   |  j  S(   N(   RØ   (   R   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   foo_two$  s    c         S   s   |  j  S(   N(   RØ   (   R   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR  &  s    c         S   s   |  j  S(   N(   RØ   (   R   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR  (  s    (   R   R   RØ   RJ  RK  R  R  (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR"     s
   			RØ   t   changedRM   (   R   R   R?   RJ  RK  R  R  (   R   R"   R)   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_patch_test_prefix  s    	R'   c            sÅ   d t  f ‡  f d †  ƒ  Y} i d d 6‰  t j ˆ  d d ƒ| ƒ } | ƒ  } |  j | j ƒ  i d d 6ƒ |  j | j ƒ  i d d 6ƒ |  j | j ƒ  i d d 6ƒ |  j | j ƒ  i d d 6ƒ d  S(   NR"   c              sD   e  Z ‡  f d  †  Z ‡  f d †  Z ‡  f d †  Z ‡  f d †  Z RS(   c            s
   t  ˆ  ƒ S(   N(   R¤   (   R   (   t   the_dict(    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   bar_one7  s    c            s
   t  ˆ  ƒ S(   N(   R¤   (   R   (   RN  (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   bar_two9  s    c            s
   t  ˆ  ƒ S(   N(   R¤   (   R   (   RN  (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR  ;  s    c            s
   t  ˆ  ƒ S(   N(   R¤   (   R   (   RN  (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR  =  s    (   R   R   RO  RP  R  R  (    (   RN  (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR"   6  s   RM   t   keyRL  (   R   R   R¤   R?   RO  RP  R  R  (   R   R"   R)   (    (   RN  s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_patch_dict_test_prefix4  s    
	c         C   s±   xª d	 D]¢ } t  d t i t | 6 } | j ƒ  } zh |  j d t | ƒ ƒ |  j d t | j ƒ ƒ |  j d t | ƒ  ƒ ƒ |  j d t | ƒ  j ƒ ƒ Wd  | j ƒ  Xq Wd  S(
   NRh   Rª   R¿   s   %s.SomeClasss    name='SomeClass's!    name='SomeClass.class_attribute's    name='SomeClass()'s#    name='SomeClass().class_attribute'(   s   specs   autospecs   spec_set(   R   R   Ru   RÃ   R°   Rø   R[   RÅ   (   R   R¸   R  RŒ   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_patch_with_spec_mock_reprJ  s    		c         C   su   t  d d t ƒ} | j ƒ  } zE |  j d t | j j ƒ  ƒ ƒ |  j d t | j ƒ  j ƒ  ƒ ƒ Wd  | j ƒ  Xd  S(   Ns   mock.tests.supportRª   s"    name='support.SomeClass.wibble()'s$    name='support.SomeClass().wibble()'(   R   Ru   RÃ   R°   Rø   R   Rk   RÅ   (   R   R  RŒ   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_patch_nested_autospec_reprY  s    		c         C   s[  xTd D]L} t  d t i t | 6 } | j ƒ  } z| j ƒ  t j ƒ  g } |  j | j | ƒ |  j | j | ƒ |  j | j j t ƒ  g ƒ | ƒ  } | j	 t ƒ  ƒ |  j | j | ƒ | j ƒ  | j	 t ƒ  j ƒ  ƒ |  j | j | ƒ |  j | j t j ƒ  g ƒ |  j | j j t ƒ  g ƒ |  j | j t j ƒ  g ƒ Wd  | j
 ƒ  Xq Wd  S(   NRh   Rª   R¿   s   %s.SomeClass(   s   specs   autospecs   spec_set(   R   R   Ru   RÃ   Rk   R   R?   t
   mock_callst   method_callst   appendRÅ   (   R   R¸   R  RŒ   t   kallsRï   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_mock_calls_with_patche  s&    
	
 c         C   s‘   t  j j d d  ƒ t d ƒ } |  j t | j ƒ t ƒ  } d | _	 | t  j d <t d ƒ } d | _	 | j ƒ  | j
 ƒ  |  j | j	 d ƒ d  S(   Nt   squizzs   squizz.squozzi   i   (   Ré   Rê   R-  RD   R   R4   t   ImportErrorRÃ   R
   t   squozzRÅ   R?   (   R   t   p1RZ  (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_patch_imports_lazily€  s    			

c            s¬   d d d „  ƒ  Y‰ d t  f ‡ f d †  ƒ  Y‰  ‡  f d †  } | d ƒ d „  ƒ } |  j t | ƒ |  j ˆ j d t ƒ |  j ˆ j d	 d
 ƒ |  j ˆ j d d ƒ d  S(   Nt   holderc           B   s   e  Z d Z RS(   N(   NNN(   R   R   RD   Rû   (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR_  ‘  s   t   custom_patchc              s&   e  Z d d d ‡  f d  † Z e Z RS(   c            s,   t  j |  | | | ƒ | | | f ˆ  _ d  S(   N(   R   t   __exit__Rû   (   R   t   etypet   valt   tb(   R_  (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRa  •  s    N(   R   R   RD   Ra  RÅ   (    (   R_  (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR`  ”  s   c      
      s4   t  |  ƒ \ } } ˆ  | | t d  t d  d  d  i  ƒ	 S(   N(   R   R   RD   RÚ   (   t   targett   getterR=   (   R`  (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   with_custom_patchš  s    s   squizz.squozzc         S   s
   t  ‚ d  S(   N(   RÉ   (   RY   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRA   ¡  s    i    i   s   exception value not propgatedi   s!   exception traceback not propgated(    (   R   R4   RÉ   Rµ   Rû   t   assertIsNotNone(   R   Rg  RA   (    (   R`  R_  s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt"   test_patch_propogrates_exc_on_exit  s    c         C   s‹   x„ d D]| } t  d t d t i t | 6} |  j t | j ƒ |  j t d „  ƒ t  t d t i t | 6} | j ƒ  | j ƒ  q Wd  S(   NRh   R¿   Rª   s   %s.doesnotexistRz   c           S   s   t  S(   N(   t   doesnotexist(    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRj   ²  s    (   s   specs   spec_sets   autospec(	   R   R   Ru   R4   R5   RÃ   R}   t   MODNAMERÅ   (   R   t   kwargR  (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_create_and_specs­  s    
c         C   sú   t  } xM d D]E } t t d d i d | 6} |  j t | j ƒ |  j t  | ƒ q WxM d D]E } t t d d i d | 6} |  j t | j ƒ |  j t  | ƒ q] WxM d D]E } t t d d i d | 6} |  j t | j ƒ |  j t  | ƒ q­ Wd  S(   NRh   R¿   Rª   i    (   s   specs   spec_set(   s   specRª   (   s   spec_setRª   (   RO   R   Rk  R4   R5   RÃ   Rµ   (   R   RM   Rl  R  (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_multiple_specsº  s    c         C   sP   t  t d t d t d t ƒ} | j ƒ  } z | j d | _ Wd  | j ƒ  Xd  S(   NRh   R¿   Rª   i   (   R   Rk  RÚ   RÃ   t   does_not_existRÅ   (   R   R  RY   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt    test_specs_false_instead_of_noneÌ  s    c         C   s_   xX d D]P } t  t i d | 6 } | j ƒ  } z |  j t t | d ƒ Wd  | j ƒ  Xq Wd  S(   NRh   Rª   R¿   i    t   doesnotexit(   s   specs   autospecs   spec_set(   R   Rk  RÃ   R4   Rl   R   RÅ   (   R   Rl  R  RŒ   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_falsey_spec×  s    c         C   s~   xw d D]o } t  t d t i t | 6} | j ƒ  } z3 |  j t t | d d ƒ |  j t t | d ƒ Wd  | j ƒ  Xq Wd  S(   NRh   Rª   R¿   Rj  RJ   (   s   specs   autospec(	   R   Rk  Ru   RÃ   R4   Rl   R   R   RÅ   (   R   Rl  R  RŒ   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_spec_set_trueá  s    
c         C   sM   d } t  t d | ƒ} | j ƒ  } z |  j t | ƒ ƒ Wd  | j ƒ  Xd  S(   Nt   __call__Rh   (   s   __call__(   R   Rk  RÃ   R6   R   RÅ   (   R   Rh   R  RŒ   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_callable_spec_as_listí  s    c         C   sM   d } t  t d | ƒ} | j ƒ  } z |  j t | ƒ ƒ Wd  | j ƒ  Xd  S(   NR)   R'   Rh   (   s   foos   bar(   R   Rk  RÃ   R7   R   RÅ   (   R   Rh   R  RŒ   (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_not_callable_spec_as_list÷  s    c            s€   t  j ‰ t  j ‰  t  j } t d t ƒ j ƒ  t d t ƒ j ƒ  t d ƒ ‡  ‡ ‡ f d †  ƒ } | ƒ  ˆ j t  j | ƒ d  S(   Ns	   os.unlinks   os.chdirs   os.pathc            sG   t  j ƒ  ˆ j t j |  ƒ ˆ j t j ˆ ƒ ˆ j t j ˆ  ƒ d  S(   N(   R   t   stopallRµ   R±   t   patht   unlinkt   chdir(   t	   mock_path(   Rz  R   Ry  (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   patched  s    
(	   R±   Ry  Rz  Rx  R   RJ   RÃ   RP   Rµ   (   R   Rx  R|  (    (   Rz  R   Ry  s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_patch_stopall  s    			!c         C   s)   t  d ƒ t ƒ } |  j | j t ƒ d  S(   Ns   sys.modules(   R   R+   Rµ   t   __wrapped__(   R   t	   decorated(    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_wrapped_patch  s    c         C   s;   t  d ƒ t ƒ } t  d ƒ | ƒ } |  j | j t ƒ d  S(   Ns   sys.modules(   R   R+   Rµ   R~  (   R   R  (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt    test_wrapped_several_times_patch  s    c         C   s/   t  j t d ƒ t ƒ } |  j | j t ƒ d  S(   NRê   (   R   R   Ré   R+   Rµ   R~  (   R   R  (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_wrapped_patch_object  s    c         C   s,   t  j d ƒ t ƒ } |  j | j t ƒ d  S(   Ns   sys.modules(   R   R¤   R+   Rµ   R~  (   R   R  (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_wrapped_patch_dict#  s    c         C   s2   t  j d d i  ƒt ƒ } |  j | j t ƒ d  S(   NRé   Rê   (   R   R  R+   Rµ   R~  (   R   R  (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_wrapped_patch_multiple(  s    c            sx   g  ‰  d t  f d „  ƒ  Y‰ ‡  ‡ f d †  } g  d D] } | | ƒ j ƒ  ^ q5 t j ƒ  |  j ˆ  d d d g ƒ d  S(   NRØ   c           B   s   e  Z d  Z Z Z RS(   N(   R   R   RD   t   onet   twot   three(    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRØ   .  s   c      
      sM   d t  f ‡  ‡ ‡ f d †  ƒ  Y‰ ˆ ‡ f d †  ˆ  d  d  t d  d  d  i  ƒ	 S(   Nt   mypatchc              s   e  Z ‡  ‡ ‡ f d  †  Z RS(   c            s    ˆ j  ˆ  ƒ t ˆ |  ƒ j ƒ  S(   N(   RW  t   superRÅ   (   R   (   R=   Rˆ  t   stopped(    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRÅ   3  s    (   R   R   RÅ   (    (   R=   Rˆ  RŠ  (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRˆ  2  s   c              s   ˆ  S(   N(    (    (   RØ   (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyRj   6  s    (   R   RD   RÚ   (   R=   (   RŠ  RØ   (   R=   Rˆ  s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt	   get_patch1  s    "R…  R†  R‡  (   s   ones   twos   three(   R   RÃ   R   Rw  R?   (   R   R‹  Rc  (    (   RŠ  RØ   s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   test_stopall_lifo,  s    #
(k   R   R   Ru   R:   RB   RE   RI   RN   RZ   R]   Rg   Rn   Rp   Rq   Rr   Rt   Rv   Rw   Ry   R~   R€   R‚   R„   R   R•   R–   R˜   Rœ   Rž   RŸ   R¥   R¦   R¨   R©   R¬   R®   R³   Rü   t   expectedFailureR¾   RÁ   RÂ   RÇ   RÊ   RÌ   RÐ   RÔ   RÙ   RÛ   Rß   Rà   Râ   Rì   Rí   Rð   Rò   Rõ   R÷   Rù   R  R  R  R
  R  R  R  R  R  R  R  R$  R%  R&  R)  R.  R0  R1  R3  R4  R6  R<  R>  RB  RC  RI  R   RM  RR  RS  RT  RY  R^  Ri  Rm  Rn  Rp  Rr  Rs  Ru  Rv  R}  R€  R  R‚  Rƒ  R„  RŒ  (    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyR3   V   sÊ   
					+		*	
		
														
					!						+														G														
									+		!					!												
		
	
						t   __main__(-   R±   Ré   t	   unittest2Rü   t
   mock.testsR    t   mock.tests.supportR   R   R   R   RY   R   R   R   R   R	   R
   R   R   R   t	   mock.mockR   R   RW   RF  RG  Rê   R   RO   Rk  Ru   R!   R;   RJ   RQ   RP   R   R"   RÈ   R+   R,   t   TestCaseR3   t   main(    (    (    s8   /usr/lib/python2.7/dist-packages/mock/tests/testpatch.pyt   <module>   s8   "F	
		
ÿ ÿ ÿ ÿ ÿ ÿ î