;
"Ic               @   sP  d  d l  Td  d l Z d  d l Z d  d l Z d  d l m Z d Z d d e f d d e f d	 d
 e	 f d d d d d g e
 f d d e f d d d# e f d d d$ e f d d e f g Z Gd   d e j  Z d   Z e d k ob y$ e j e j j d  d e _ Wn0 e e f k
 o e d  d!  d e _ Yn Xe   n d S(%   i    (   u   *N(   u   supportu-   SOFTWARE\Python Registry Test Key - Delete Meu	   Int Valuei-   u
   String Valu   A string valueu   StringExpandu   The path is %path%u   Multi-stringu   Lotsu   ofu   stringu   valuesu   Raw Datas   binary datau
   Big Stringu   xi   i   i   u
   Big Binarys   xu   Japanese 日本u	   日本語c             B   sh   |  Ee  Z d	 Z d  d  Z d  d  Z d  d  Z d  d  Z d   Z d   Z	 d   Z
 d   Z d	 S(
   u   sub_keyc             C   s  t  | t t d  t | t  } |  j | j d k  t | |  } x- t D]% \ } } } t | | d | |  qN Wt |  \ } }	 }
 |  j	 | d d  |  j	 |	 d d  t |  \ } }	 }
 |  j	 | d d  |  j	 |	 t
 t  d  t |  } t |  y t |  |  j d  Wn t k
 o Yn Xt |  } | j   y t |  |  j d  Wn t k
 o Yn Xd  S(   Nu   Default valuei    i   u"   Not the correct number of sub keysu    Not the correct number of valuesuA   It appears the CloseKey() function does not close the actual key!uB   It appears the key.Close() function does not close the actual key!(   u   SetValueu   test_key_nameu   REG_SZu	   CreateKeyu   assert_u   handleu	   test_datau
   SetValueExu   QueryInfoKeyu   assertEqualsu   lenu   intu   CloseKeyu   failu   EnvironmentErroru   Close(   u   selfu   root_keyu	   subkeystru   keyu   sub_keyu
   value_nameu
   value_datau
   value_typeu   nkeysu   nvaluesu	   since_modu   int_sub_keyu   int_key(    (    u-   /mit/python/lib/python3.0/test/test_winreg.pyu   WriteTestData   s8     



c             C   s  t  | t  } |  j | d d  t | t  } t | |  j } j   } z | ~ } d } xQ y t | |  }	 Wn t k
 o	 PYn X|  j |	 t k d
 d  | d } qb |  j | t
 t  d  xR t D]J \ }
 } } t | |
  \ } } |  j | | d  |  j | | d  q WWd  | ~ QX| j   t | d  } |  j | | d  y t | d  |  j d	  Wn t k
 o Yn X| j   d  S(   Nu   Default valueu+   Registry didn't give back the correct valuei    u&   Didn't read back the correct test datai   u'   Didn't read the correct number of itemsu!   Could not directly read the valueu   Read subkey value wrongu2   Was able to get a second key when I only have one!T(   u
   QueryValueu   test_key_nameu   assertEqualsu   OpenKeyu   __exit__u	   __enter__u	   EnumValueu   EnvironmentErroru	   test_datau   Trueu   lenu   QueryValueExu   Closeu   EnumKeyu   fail(   u   selfu   root_keyu	   subkeystru   valu   keyu   _[2]u   _[1]u   sub_keyu   indexu   datau
   value_nameu
   value_datau
   value_typeu   read_valu   read_typ(    (    u-   /mit/python/lib/python3.0/test/test_winreg.pyu   ReadTestDataE   s@    ( 
c             C   s*  t  | t d t  } t  | | d t  } x$ t D] \ } } } t | |  q1 Wt |  \ } }	 }
 |  j | d d  |  j |	 d d  | j   t | |  y t | |  |  j	 d  Wn t
 k
 o Yn X| j   t | t  y  t  | t  } |  j	 d  Wn t k
 o Yn Xd  S(   Ni    u   subkey not empty before deleteu    Deleting the key twice succeededu   Could open the non-existent key(   u   OpenKeyu   test_key_nameu   KEY_ALL_ACCESSu	   test_datau   DeleteValueu   QueryInfoKeyu   assertEqualsu   Closeu	   DeleteKeyu   failu   EnvironmentErroru   WindowsError(   u   selfu   root_keyu	   subkeystru   keyu   sub_keyu
   value_nameu
   value_datau
   value_typeu   nkeysu   nvaluesu	   since_mod(    (    u-   /mit/python/lib/python3.0/test/test_winreg.pyu   DeleteTestDatam   s,     

c             C   s4   |  j  | |  |  j | |  |  j | |  d  S(   N(   u   WriteTestDatau   ReadTestDatau   DeleteTestData(   u   selfu   root_keyu	   subkeystr(    (    u-   /mit/python/lib/python3.0/test/test_winreg.pyu   TestAll   s    c             C   s!   |  j  t  |  j  t d  d  S(   Nu   日本-subkey(   u   TestAllu   HKEY_CURRENT_USER(   u   self(    (    u-   /mit/python/lib/python3.0/test/test_winreg.pyu   testLocalMachineRegistryWorks   s    c             C   s   t  d  t  } | j   d  S(   N(   u   ConnectRegistryu   Noneu   HKEY_LOCAL_MACHINEu   Close(   u   selfu   h(    (    u-   /mit/python/lib/python3.0/test/test_winreg.pyu&   testConnectRegistryToLocalMachineWorks   s    c             C   s2   |  j  p d  St |  j  t  } |  j |  d  S(   N(   u   remote_nameu   ConnectRegistryu   HKEY_CURRENT_USERu   TestAll(   u   selfu
   remote_key(    (    u-   /mit/python/lib/python3.0/test/test_winreg.pyu   testRemoteMachineRegistryWorks   s    
c             C   sA   t  d  } |  j t |  t  |  j | t j d d  d  S(   Nu   %windir%\testu   windiru   \test(   u   ExpandEnvironmentStringsu   assertEqualu   typeu   stru   osu   environ(   u   selfu   r(    (    u-   /mit/python/lib/python3.0/test/test_winreg.pyu   testExpandEnvironmentStrings   s    N(   u   __name__u
   __module__u   Noneu   remote_nameu   WriteTestDatau   ReadTestDatau   DeleteTestDatau   TestAllu   testLocalMachineRegistryWorksu&   testConnectRegistryToLocalMachineWorksu   testRemoteMachineRegistryWorksu   testExpandEnvironmentStrings(   u
   __locals__(    (    u-   /mit/python/lib/python3.0/test/test_winreg.pyu   WinregTests   s   
)(			u   WinregTestsc               C   s   t  j t  d  S(   N(   u   supportu   run_unittestu   WinregTests(    (    (    u-   /mit/python/lib/python3.0/test/test_winreg.pyu	   test_main   s    u   __main__u   --remoteu)   Remote registry calls can be tested usingu(   'test_winreg.py --remote \\machine_name'i @  i?  i @  (   u   winregu   osu   sysu   unittestu   testu   supportu   test_key_nameu	   REG_DWORDu   REG_SZu   REG_EXPAND_SZu   REG_MULTI_SZu
   REG_BINARYu	   test_datau   TestCaseu   WinregTestsu	   test_mainu   __name__u   argvu   indexu   remote_nameu
   IndexErroru
   ValueErroru   printu   None(    (    (    u-   /mit/python/lib/python3.0/test/test_winreg.pyu   <module>   s,   
	$