-ν
ιΆ<c       s_  d  Z  d k Z d k l Z l Z l Z d k Z d k Z d k Z d k	 Z	 e i
 i d  p e i
 d j o e d e i
 d   n e d Z e i i e d  Z e i i 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 e i f d     YZ d   Z e d j o e   n d S(   s1   
   Tests for the mhlib module
   Nick Mathewson
N(   s   run_unittests   TESTFNs   TestSkippeds   wins   riscoss   test_mhlib skipped on %s -- s   too many Unix assumptionss   _MHs   MHs   .mh_profilec    s   t  i i |  i d    Sd  S(   Ns   /(   s   oss   paths   joins   fs   split(   s   f(    (    s%   /usr/lib/python2.2/test/test_mhlib.pys   normF s    c    si   t  i i |   d } | o t  i i |  o t |  n t |  d  } | i	 |  | i   d  S(   Ni    s   w(   s   oss   paths   splits   fnames   dirs   existss   mkdirss   opens   fs   writes   contentss   close(   s   fnames   contentss   dirs   f(    (    s%   /usr/lib/python2.2/test/test_mhlib.pys	   writeFile s    c    s*   t  |   } | i   } | i   | Sd  S(   N(   s   opens   fnames   fs   reads   rs   close(   s   fnames   rs   f(    (    s%   /usr/lib/python2.2/test/test_mhlib.pys   readFile" s    
c    sW   g  i  } |  i   D]  \ } } | d | | f  q ~ } t t d i	 |   d  S(   Ns   %s: %s
s    (
   s   appends   _[1]s   dicts	   iteritemss   ks   vs   contentss	   writeFiles
   _mhprofiles   join(   s   dicts   _[1]s   vs   ks   contents(    (    s%   /usr/lib/python2.2/test/test_mhlib.pys   writeProfile( s     )c    s0   t  |   }  t t i i t d  d |   d  S(   Ns   contexts   Current-Folder: %s
(   s   normFs   folders	   writeFiles   oss   paths   joins   _mhpath(   s   folder(    (    s%   /usr/lib/python2.2/test/test_mhlib.pys   writeContext, s    c    s3   t  |   }  t t i i t |  d  d |  d  S(   Ns   .mh_sequencess   cur: %s
(   s   normFs   folders	   writeFiles   oss   paths   joins   _mhpaths   cur(   s   folders   cur(    (    s%   /usr/lib/python2.2/test/test_mhlib.pys   writeCurMessage1 s    c    s€   t  |   }  d i g  i } | i   D]  \ } } | d | | f  q& ~  } d | | f } t t i i t |    t t i i t |  t |   |  d  S(   Ns    s   %s: %s
s   %s
%s
(   s   normFs   folders   joins   appends   _[1]s   headerss	   iteritemss   ks   vs   bodys   contentss   mkdirss   oss   paths   _mhpaths	   writeFiles   strs   n(   s   folders   ns   headerss   bodys   ks   _[1]s   vs   contents(    (    s%   /usr/lib/python2.2/test/test_mhlib.pys   writeMessage6 s     ,c      s    t  i t i i t  t  Sd  S(   N(   s   mhlibs   MHs   oss   paths   abspaths   _mhpaths
   _mhprofile(    (    (    s%   /usr/lib/python2.2/test/test_mhlib.pys   getMH= s    c    se   |  i d  } g  i } | D]- } t |  d j o | | i    n q ~ } | i   | Sd  S(   Ns   
i   (	   s   ss   splits   liness   appends   _[1]s   lines   lens   strips   sort(   s   ss   _[1]s   liness   line(    (    s%   /usr/lib/python2.2/test/test_mhlib.pys	   sortLines@ s      0
c    s[   t  i i |   p
 |  d j o d  Sn t  i i |   \ } } t |  t  i |   d  S(   Ns    (	   s   oss   paths   existss   fnames   splits   bases   files   mkdirss   mkdir(   s   fnames   bases   file(    (    s%   /usr/lib/python2.2/test/test_mhlib.pys   mkdirsG s
     
c    s¦   t  i i |   o d  Sn xh t  i |   D]W } t  i i |  |  } t  i i |  o t	 |  n y t  i
 |  Wn n Xq, Wy t  i |   Wn n Xd  S(   N(   s   oss   paths   existss   fnames   listdirs   fs   joins   fullnames   isdirs   deltrees   unlinks   rmdir(   s   fnames   fullnames   f(    (    s%   /usr/lib/python2.2/test/test_mhlib.pys   deltreeN s     s
   MhlibTestsc      sG   t  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   Nc    sm  t  t  t t  t h  t i i t  d <d d <d d < t d d h  d d	 <d
 d <d d <d  t d d h  d
 d	 <d d <d d <d  xT t	 d d  t	 d d d  D]3 } t d | h  d d	 <d | d <d |  qΑ Wd   } | d d  | d d  | d d  | d d  | d d  | d  d  | d! d  | d! d  d  S("   Ns   Paths   emacss   Editors   camping holidays   ignored-attributes   inboxi   s   Mrs. Premises   Froms   Mrs. Conclusions   Tos   18 July 2001s   Dates   Hullo, Mrs. Conclusion!
i   s   29 July 2001s   Hullo, Mrs. Premise!
i   ie   iΙ   s   wides   nowheres   message #%ss   Subjects   This is message number %s
c    s4   t  |  | h  d |  | f d <d | |  f  d  S(   Ns   Message %s/%ss   Subjects    This is message number %s in %s
(   s   writeMessages   folders   n(   s   folders   n(    (    s%   /usr/lib/python2.2/test/test_mhlib.pys   deepz s    	s   deep/f1i   s   deep/f2i   i   s   deeps
   deep/f2/f3(   s   deltrees   _mhroots   mkdirss   _mhpaths   writeProfiles   oss   paths   abspaths   writeMessages   ranges   is   deep(   s   selfs   is   deep(    (    s%   /usr/lib/python2.2/test/test_mhlib.pys   setUp` s.    

1		  		c    s   t  t  d  S(   N(   s   deltrees   _mhroot(   s   self(    (    s%   /usr/lib/python2.2/test/test_mhlib.pys   tearDown s    c    s|  t  d  t d d  t   } |  i } | | i d  d  | | i d  t  | | i	   t
 i i t   | | i   d  | i d  | | i   d  | t t
 i i t d   d  | i d  | i d  } | | i   t
 i i t
 i i t  d   | | i   t
 i i t
 i i t  d d	   | | i d
  t
 i i t
 i i t  d d   d  S(   Ns   inboxi   s   Editors   emacss   not-sets   wides   contexts   Current-Folder: wide
s   .mh_sequencesi   s   1(   s   writeContexts   writeCurMessages   getMHs   mhs   selfs   assertEqualss   eqs
   getprofiles   Nones   getpaths   oss   paths   abspaths   _mhpaths
   getcontexts
   setcontexts   readFiles   joins
   openfolders   inboxs   getfullnames   getsequencesfilenames   getmessagefilename(   s   selfs   eqs   mhs   inbox(    (    s%   /usr/lib/python2.2/test/test_mhlib.pys
   test_basic s(    
		"%c    sN  t    } |  i } | i   } | i   | | d d d g  | i   } | i   t	 t
 d d d d d d g  } | i   | | |  | i d  } | i   | | t	 t
 d d g   | i d  } | i   | | t	 t
 d d d g   | | i t
 d   t
 d  g  | | i d  g   | | i d  g   d  S(   Ns   deeps   inboxs   wides   deep/f1s   deep/f2s
   deep/f2/f3(   s   getMHs   mhs   selfs   assertEqualss   eqs   listfolderss   folderss   sorts   listallfolderss   maps   normFs   tfolderss   listsubfolderss   listallsubfolders(   s   selfs   folderss   tfolderss   eqs   mh(    (    s%   /usr/lib/python2.2/test/test_mhlib.pys   test_listfolders€ s&    		

!


%c  
  s  t    } |  i  t d d  | i d      i   }  | t
 d d  t
 d d d      i   d    i d   t t i i t d d   d	     d
   }
 |
 d t
 d d   |
 d t
 d d  t
 d d d   |
 d t
 d d  t
 d d d   |
 d t
 d d   |
 d t
 d d   |
 d t
 d d d   |
 d d g  |
 d d g  |
 d d g  |
 d d g  |
 d d d d g  |
 d t
 d d   |
 d t
 d  d d   |
 d! d d d g  d d" d# d$ d% d& d' d( g } g  i } t
 d d)  D]" }	 |	 | j o | |	  n q+~ }   i h  d g d <| d* <| d+ < t t i i t d d   } t |  }  | d, d- d. g  |
 d* |  |
 d/ d g  |
 d0 d d" g  |
 d1 d' d( g  d  S(2   Ns   widei7   i   ie   iΙ   i   ic   s   .mh_sequencess   cur: 99
c    s      i |   |  d  S(   N(   s   eqs   fs   parsesequences   seqs   val(   s   seqs   val(   s   eqs   f(    s%   /usr/lib/python2.2/test/test_mhlib.pys   seqeqΜ s    s   5-55i8   s   90-108iZ   im   s   10:10i
   i   s   10:+10s   101:10iy   s   curs   .s   previb   s   nextid   s   cur:-3ia   s	   first-curs   150-lasti   s	   prev-nexti   i   i   i   i   i   i   i   s   lowprimes	   lowcomposs   cur: 5s,   lowcompos: 6 8-10 12 14-16 18 20-22 24-28 30s   lowprime: 5 7 11 13 17 19 23 29s
   lowprime:1s
   lowprime:2s   lowprime:-2(   s   getMHs   mhs   selfs   assertEqualss   eqs   writeCurMessages
   openfolders   fs   listmessagess   alls   ranges
   getcurrents
   setcurrents   readFiles   oss   paths   joins   _mhpaths   seqeqs	   lowprimess   appends   _[1]s   xs	   lowcomposs   putsequencess   seqss	   sortLines(   s   selfs   fs   eqs   alls   mhs	   lowcomposs	   lowprimess   _[1]s   seqss   xs   seqeq(    (   s   fs   eqs%   /usr/lib/python2.2/test/test_mhlib.pys   test_sequenceΏ sJ    		&&&  %+c    s  t    } |  i } | i d  |  i d | i   j  t i	 i
 t d  } |  i t i	 i |   | i d      d   } | d  | d  | d  | t   i d   d  |   i   d d d g  t i |  } | i   | | d d d	 g    i d d g  t i |  } | i   | | d
 d d	 g  |   i   d g  | d  | d  | d  | i d  | i d  } | | i   g     i d | d    i d | d  |   i   d d g  | | i   d d g  | t | i d   d    i d | d  |   i   d d g  | t | i d   d    i d d g |  |   i   g   | | i   d d d d d g  | t | i d   d  | i d  | i d  |  i d | i   j  |  i t i	 i |   d  S(   Ns   dummy1c    s-   d |  |  f }   i |  t i |   d  S(   Ns(   From: foo
Subject: %s

Dummy Message %s
(   s   ns   msgs   fs   createmessages   StringIO(   s   ns   msg(   s   f(    s%   /usr/lib/python2.2/test/test_mhlib.pys   create s    i   i   i	   s&   From: foo
Subject: 9

Dummy Message 9
s   7s   8s   9s   ,7s   ,8i
   i   i   s   dummy2i   i   s(   From: foo
Subject: 10

Dummy Message 10
i   i   s(   From: foo
Subject: 12

Dummy Message 12
(   s   getMHs   mhs   selfs   assertEqualss   eqs
   makefolders   assert_s   listfolderss   oss   paths   joins   _mhpaths   existss
   openfolders   fs   creates   readFiles   getmessagefilenames   listmessagess   listdirs   filess   sorts   removemessagess   f2s   movemessages   copymessages   refilemessagess   deletefolder(   s   selfs   filess   fs   mhs   f2s   paths   eqs   create(    (   s   fs%   /usr/lib/python2.2/test/test_mhlib.pys   test_modifyφ s^    		







"c    sμ   t    } |  i } | i d  } | i d  } | | i	 d  d  | | i	 d  d  t
 | i    } | | d d d	 g  t
 | i d
     } | | d d g  | | i   d  | | i d  d  | i i   ~ d  S(   Ns   inboxi   s   Froms   Mrs. Premises   Tos   Mrs. Conclusions   Date: 18 July 2001s   From: Mrs. Premises   To: Mrs. Conclusionc    s   t  |   d j S(   Ni   (   s   lens   h(   s   h(    (    s%   /usr/lib/python2.2/test/test_mhlib.pys   <lambda>Ds    s   Hullo, Mrs. Conclusion!

i    (   s   getMHs   mhs   selfs   assertEqualss   eqs
   openfolders   fs   openmessages   msgs	   getheaders	   sortLiness   getheadertexts   liness   getbodytexts   fps   close(   s   selfs   fs   msgs   liness   eqs   mh(    (    s%   /usr/lib/python2.2/test/test_mhlib.pys	   test_read4s    		(	   s   __name__s
   __module__s   setUps   tearDowns
   test_basics   test_listfolderss   test_sequences   test_modifys	   test_read(    (    (    s%   /usr/lib/python2.2/test/test_mhlib.pys
   MhlibTests_ s   	'				7	>c      s   t  t  d  S(   N(   s   run_unittests
   MhlibTests(    (    (    s%   /usr/lib/python2.2/test/test_mhlib.pys	   test_mainOs    s   __main__(    s   __doc__s   unittests   test_supports   run_unittests   TESTFNs   TestSkippeds   oss   StringIOs   syss   mhlibs   platforms
   startswiths   _mhroots   paths   joins   _mhpaths
   _mhprofiles   normFs	   writeFiles   readFiles   writeProfiles   writeContexts   writeCurMessages   writeMessages   getMHs	   sortLiness   mkdirss   deltrees   TestCases
   MhlibTestss	   test_mains   __name__(   s   writeCurMessages   _mhpaths   TestSkippeds   unittests   getMHs   deltrees
   _mhprofiles   writeMessages   _mhroots   mkdirss
   MhlibTestss   writeContexts   syss   StringIOs   oss   normFs   readFiles	   writeFiles	   sortLiness   TESTFNs   run_unittests   mhlibs   writeProfiles	   test_main(    (    s%   /usr/lib/python2.2/test/test_mhlib.pys   ? s2   			#
											π	