mò
­fIc           @   s  d  k  Z  d  k Z d  k Z d  k Z d k l Z y d k l Z Wn  e j
 o d k l Z n Xd Z	 d Z
 d e  i f d „  ƒ  YZ e e d d  ƒ pI xF e e ƒ D]4 Z e i d ƒ o e d	 j o e e e ƒ qª qª Wn d
 „  Z e d j o e ƒ  n d  S(   N(   s   test_support(   s   StringIOs³  x|x|
foo bar|foo|bar|
 foo bar|foo|bar|
 foo bar |foo|bar|
foo   bar    bla     fasel|foo|bar|bla|fasel|
x y  z              xxxx|x|y|z|xxxx|
\x bar|\|x|bar|
\ x bar|\|x|bar|
\ bar|\|bar|
foo \x bar|foo|\|x|bar|
foo \ x bar|foo|\|x|bar|
foo \ bar|foo|\|bar|
foo "bar" bla|foo|"bar"|bla|
"foo" "bar" "bla"|"foo"|"bar"|"bla"|
"foo" bar "bla"|"foo"|bar|"bla"|
"foo" bar bla|"foo"|bar|bla|
foo 'bar' bla|foo|'bar'|bla|
'foo' 'bar' 'bla'|'foo'|'bar'|'bla'|
'foo' bar 'bla'|'foo'|bar|'bla'|
'foo' bar bla|'foo'|bar|bla|
blurb foo"bar"bar"fasel" baz|blurb|foo"bar"bar"fasel"|baz|
blurb foo'bar'bar'fasel' baz|blurb|foo'bar'bar'fasel'|baz|
""|""|
''|''|
foo "" bar|foo|""|bar|
foo '' bar|foo|''|bar|
foo "" "" "" bar|foo|""|""|""|bar|
foo '' '' '' bar|foo|''|''|''|bar|
\""|\|""|
"\"|"\"|
"foo\ bar"|"foo\ bar"|
"foo\\ bar"|"foo\\ bar"|
"foo\\ bar\"|"foo\\ bar\"|
"foo\\" bar\""|"foo\\"|bar|\|""|
"foo\\ bar\" dfadf"|"foo\\ bar\"|dfadf"|
"foo\\\ bar\" dfadf"|"foo\\\ bar\"|dfadf"|
"foo\\\x bar\" dfadf"|"foo\\\x bar\"|dfadf"|
"foo\x bar\" dfadf"|"foo\x bar\"|dfadf"|
\''|\|''|
'foo\ bar'|'foo\ bar'|
'foo\\ bar'|'foo\\ bar'|
"foo\\\x bar\" df'a\ 'df'|"foo\\\x bar\"|df'a|\|'df'|
\"foo"|\|"foo"|
\"foo"\x|\|"foo"|\|x|
"foo\x"|"foo\x"|
"foo\ "|"foo\ "|
foo\ xx|foo|\|xx|
foo\ x\x|foo|\|x|\|x|
foo\ x\x\""|foo|\|x|\|x|\|""|
"foo\ x\x"|"foo\ x\x"|
"foo\ x\x\\"|"foo\ x\x\\"|
"foo\ x\x\\""foobar"|"foo\ x\x\\"|"foobar"|
"foo\ x\x\\"\''"foobar"|"foo\ x\x\\"|\|''|"foobar"|
"foo\ x\x\\"\'"fo'obar"|"foo\ x\x\\"|\|'"fo'|obar"|
"foo\ x\x\\"\'"fo'obar" 'don'\''t'|"foo\ x\x\\"|\|'"fo'|obar"|'don'|\|''|t'|
'foo\ bar'|'foo\ bar'|
'foo\\ bar'|'foo\\ bar'|
foo\ bar|foo|\|bar|
foo#bar\nbaz|foobaz|
:-) ;-)|:|-|)|;|-|)|
áéíóú|á|é|í|ó|ú|
s'  x|x|
foo bar|foo|bar|
 foo bar|foo|bar|
 foo bar |foo|bar|
foo   bar    bla     fasel|foo|bar|bla|fasel|
x y  z              xxxx|x|y|z|xxxx|
\x bar|x|bar|
\ x bar| x|bar|
\ bar| bar|
foo \x bar|foo|x|bar|
foo \ x bar|foo| x|bar|
foo \ bar|foo| bar|
foo "bar" bla|foo|bar|bla|
"foo" "bar" "bla"|foo|bar|bla|
"foo" bar "bla"|foo|bar|bla|
"foo" bar bla|foo|bar|bla|
foo 'bar' bla|foo|bar|bla|
'foo' 'bar' 'bla'|foo|bar|bla|
'foo' bar 'bla'|foo|bar|bla|
'foo' bar bla|foo|bar|bla|
blurb foo"bar"bar"fasel" baz|blurb|foobarbarfasel|baz|
blurb foo'bar'bar'fasel' baz|blurb|foobarbarfasel|baz|
""||
''||
foo "" bar|foo||bar|
foo '' bar|foo||bar|
foo "" "" "" bar|foo||||bar|
foo '' '' '' bar|foo||||bar|
\"|"|
"\""|"|
"foo\ bar"|foo\ bar|
"foo\\ bar"|foo\ bar|
"foo\\ bar\""|foo\ bar"|
"foo\\" bar\"|foo\|bar"|
"foo\\ bar\" dfadf"|foo\ bar" dfadf|
"foo\\\ bar\" dfadf"|foo\\ bar" dfadf|
"foo\\\x bar\" dfadf"|foo\\x bar" dfadf|
"foo\x bar\" dfadf"|foo\x bar" dfadf|
\'|'|
'foo\ bar'|foo\ bar|
'foo\\ bar'|foo\\ bar|
"foo\\\x bar\" df'a\ 'df"|foo\\x bar" df'a\ 'df|
\"foo|"foo|
\"foo\x|"foox|
"foo\x"|foo\x|
"foo\ "|foo\ |
foo\ xx|foo xx|
foo\ x\x|foo xx|
foo\ x\x\"|foo xx"|
"foo\ x\x"|foo\ x\x|
"foo\ x\x\\"|foo\ x\x\|
"foo\ x\x\\""foobar"|foo\ x\x\foobar|
"foo\ x\x\\"\'"foobar"|foo\ x\x\'foobar|
"foo\ x\x\\"\'"fo'obar"|foo\ x\x\'fo'obar|
"foo\ x\x\\"\'"fo'obar" 'don'\''t'|foo\ x\x\'fo'obar|don't|
"foo\ x\x\\"\'"fo'obar" 'don'\''t' \\|foo\ x\x\'fo'obar|don't|\|
'foo\ bar'|foo\ bar|
'foo\\ bar'|foo\\ bar|
foo\ bar|foo bar|
foo#bar\nbaz|foo|baz|
:-) ;-)|:-)|;-)|
áéíóú|áéíóú|
t	   ShlexTestc           B   s5   t  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   Nc         C   sÎ   g  } t i ƒ  D] } | | i d ƒ d  q ~ |  _ g  } t i ƒ  D] } | | i d ƒ d  qH ~ |  _ x+ |  i D]  } | d i d d ƒ | d <qx Wx+ |  i D]  } | d i d d ƒ | d <q¦ Wd  S(   Nt   |iÿÿÿÿi    s   \ns   
(	   t   _[1]t   datat
   splitlinest   xt   splitt   selft
   posix_datat   itemt   replace(   R   R   R	   R   (    (    t,   /mit/python/lib/python2.4/test/test_shlex.pyt   setUp   s    77
 
 c      	   C   sv   xo t  t | ƒ ƒ D][ } t i | | d d | ƒ} |  i	 | | | d d | | d | | | d f ƒ q Wd  S(   Ni    t   commentsi   s   %s: %s != %s(
   t   ranget   lenR   t   it   shlexR   R   t   lR   t   assertEqual(   R   R   R   R   R   (    (    R   t	   splitTestš   s
     c         C   sS   g  } t i t | ƒ ƒ } | i ƒ  } x% | o | i | ƒ | i ƒ  } q* W| S(   N(   t   retR   t   StringIOt   st   lext	   get_tokent   tokt   append(   R   R   R   R   R   (    (    R   t   oldSplit¡   s     c         C   s   |  i |  i d t ƒd S(   s%   Test data splitting with posix parserR   N(   R   R   R   t   True(   R   (    (    R   t   testSplitPosixª   s     c      	   C   s   xx t  t |  i ƒ ƒ D]a } |  i |  i | d ƒ } |  i | |  i | d d |  i | d | |  i | d f ƒ q Wd S(   s   Test compatibility interfacei    i   s   %s: %s != %sN(   R   R   R   R   R   R   R   R   (   R   R   R   (    (    R   t
   testCompat®   s      (   t   __name__t
   __module__R   R   R   R   R   (    (    (    R   R       s
   	
				R   t   testR   c           C   s   t  i t ƒ d  S(   N(   t   test_supportt   run_unittestR    (    (    (    R   t	   test_main¼   s    t   __main__(   t   unittestt   ost   sysR   R"   R#   t	   cStringIOR   t   ImportErrorR   R   t   TestCaseR    t   getattrt   Nonet   dirt   methnamet
   startswitht   delattrR%   R    (   R#   R0   R    R   R   R'   R   R)   R   R(   R%   (    (    R   t   ?   s$   		?@( 	