Ñò
3Nc        	   @   sû   d  d k  Z  d  d k Z e  i e i i e i i e i i e ƒ ƒ ƒ ƒ d Z d  d k Z e i	 d ƒ d  d k
 Z
 d  d k l Z d  d k l Z d e f d „  ƒ  YZ d e
 i f d „  ƒ  YZ e d	 j o' d  d k Z e i d
 ƒ e
 i ƒ  n d S(   iÿÿÿÿNt   Bazki(   t   StringIO(   t   formatt   BaseHandlerc           B   sA   e  Z d  „  Z d d „ Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s   | S(   N(    (   t   selft   et   pt   contents(    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyt   prop   s    c         C   s   t  S(   N(   t   True(   R   R   t   parent(    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyt   start_element   s    c         C   s   d  S(   N(    (   R   R   (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyt   end_element   s    c         C   s   h  S(   N(    (   R   R   (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyt   get_new_properties   s    c         C   s   g  S(   N(    (   R   R   (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyt   get_new_children   s    c         C   s   t  p t ‚ d  S(   N(   t   Falset   AssertionError(   R   t   namet   val(    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyt
   set_extern   s    N(	   t   __name__t
   __module__R   t   NoneR   R   R   R   R   (    (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyR      s   				t
   FormatTestc           B   sÅ   e  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 RS(   c         C   sE   t  | ƒ } t  ƒ  } t i d | | | ƒ |  i | | i ƒ  ƒ d  S(   Ns   /tmp/test.yaml(   R   R   t   parset   assertEqualst   getvalue(   R   t   initialt   handlert   expectedt   inft   outf(    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyt   expect_becomes   s    	c         C   s   t  | ƒ } t  ƒ  } y t i d | | | ƒ Wn< t i j
 o- } |  i | | i d j | i d ƒ n X|  i d ƒ d  S(   Ns   /tmp/test.yamli    s   Parsing succeeded.(   R   R   R   t   InvalidBazFilet
   assertTruet   argst   fail(   R   R   R   t   messageR   R   R   (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyt   expect_fails%   s    	)c         C   s^   t  ƒ  } d } |  i | | | ƒ d } |  i | | | ƒ d } d } |  i | | | ƒ d  S(   Ns4   foo: bar
baz: 3
quux: True
boingo: 'a sound effect'
s4   foo: bar
baz: |
  This is
  a block
  with returns.
s2   foo: bar
baz: >
  This is
  a block
  that flows.
s.   foo: bar
baz: >
  This is a block that flows.
(   R   R    (   R   R   t   yt   z(    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyt   test_consistency/   s    	c         C   s€   d t  f d „  ƒ  Y} | ƒ  } d } d } |  i | | | ƒ d } d } |  i | | | ƒ d } d } |  i | | | ƒ d  S(	   Nt   SettingHandlerc           B   s   e  Z d  „  Z RS(   c         S   s   | d S(   Nt   !(    (   R   R   R   R   (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyR   O   s    (   R   R   R   (    (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyR*   N   s   s2   foo: bar
baz: 3
quux: True
boingo: a sound effect
s6   foo: bar!
baz: 3!
quux: True!
boingo: a sound effect!
s4   foo: bar
baz: |
  This is
  a block
  with returns.
s:   foo: bar!
baz: |-
  This is
  a block
  with returns.
  !
s2   foo: bar
baz: >
  This is
  a block
  that flows.
s5   foo: bar!
baz: >-
  This is a block that flows.

  !
(   R   R    (   R   R*   R   R'   R(   (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyt   test_prop_settingM   s    	c         C   sš   d t  f d „  ƒ  Y} | ƒ  } d } d } |  i | | | ƒ d } |  i d | | ƒ |  i d | | ƒ d } |  i d	 | | ƒ |  i d
 | | ƒ d  S(   Nt   NewPropHandlerc           B   s   e  Z d  „  Z RS(   c         S   s   h d d 6S(   Nu   Cheese.u   boingo(    (   R   R   (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyR   ~   s    (   R   R   R   (    (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyR-   }   s   s	   foo: bar
s   foo: bar
boingo: Cheese.
s   boingo: Cheese.
t    s   
s   ---
boingo: Cheese.
s   ---s   ---
(   R   R    (   R   R-   R   R'   R(   (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyt   test_new_prop|   s    	c         C   s<   d t  f d „  ƒ  Y} | ƒ  } d } |  i | | | ƒ d  S(   Nt   IncludeHandlerc           B   s   e  Z d  „  Z RS(   c         S   s   d S(   Ns   Wombat!(    (   R   t   path(    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyt   get_include”   s    (   R   R   R2   (    (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyR0   “   s   s'   foo: bar
boingo: !include 'attach.txt'
(   R   R    (   R   R0   R   R'   (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyt   test_include_consistency’   s    	c         C   s<   d t  f d „  ƒ  Y} | ƒ  } d } |  i | | | ƒ d  S(   Nt   IncludeSettingHandlerc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         S   s
   t  d ƒ S(   Ns   Wombat!(   t   buffer(   R   R1   (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyR2       s    c         S   s$   | d j o t  | d ƒ S| Sd  S(   Nt   boingoR+   (   R5   (   R   R   R   R   (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyR   ¢   s    c         S   s6   | t  d ƒ j p t t | ƒ ‚ | p t ‚ | S(   Ns   Wombat!!(   R5   R   t   str(   R   R1   R   t   new(    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyt   set_include§   s    #(   R   R   R2   R   R9   (    (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyR4   Ÿ   s   		s'   foo: bar
boingo: !include 'attach.txt'
(   R   R    (   R   R4   R   R'   (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyt   test_include_settingž   s    	c         C   sB   d t  f d „  ƒ  Y} | ƒ  } d } d } |  i | | | ƒ d  S(   NR4   c           B   s   e  Z d  „  Z d „  Z RS(   c         S   s
   t  d ƒ S(   Ns   Wombat!(   R5   (   R   R1   (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyR2   ¶   s    c         S   s$   | d j o t  | ƒ d S| Sd  S(   NR6   R+   (   R7   (   R   R   R   R   (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyR   ¸   s    (   R   R   R2   R   (    (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyR4   µ   s   	s%   foo: bar
boingo: !include attach.txt
s   foo: bar
boingo: Wombat!!
(   R   R    (   R   R4   R   R'   R(   (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyt   test_include_to_inline´   s
    	c         C   sB   d t  f d „  ƒ  Y} | ƒ  } d } d } |  i | | | ƒ d  S(   NR4   c           B   s   e  Z d  „  Z d „  Z RS(   c         S   s*   | d j o t  t | ƒ d ƒ S| Sd  S(   NR6   R+   (   R5   R7   (   R   R   R   R   (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyR   Ê   s    c         S   s5   | t  d ƒ j p t t | ƒ ‚ | p t ‚ | S(   Ns   Wombat!!(   R5   R   R7   (   R   R1   R   R8   (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyR9   Ï   s    #(   R   R   R   R9   (    (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyR4   É   s   	s   foo: bar
boingo: Wombat!
s,   foo: bar
boingo: !include 'test.boingo.txt'
(   R   R    (   R   R4   R   R'   R(   (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyt   test_inline_to_includeÈ   s
    
	c         C   sB   d t  f d „  ƒ  Y} | ƒ  } d } d } |  i | | | ƒ d  S(   Nt   NewIncludeHandlerc           B   s   e  Z d  „  Z d „  Z RS(   c         S   s5   | t  d ƒ j p t t | ƒ ‚ | p t ‚ d S(   Ns   Cheese.s
   upload.txt(   R5   R   R7   (   R   R1   R   R8   (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyR9   à   s    #c         S   s   h t  d ƒ d 6S(   Ns   Cheese.u   boingo(   R5   (   R   R   (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyR   ä   s    (   R   R   R9   R   (    (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyR=   ß   s   	s	   foo: bar
s'   foo: bar
boingo: !include 'upload.txt'
(   R   R    (   R   R=   R   R'   R(   (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyt   test_new_includeÞ   s
    	c         C   s0   |  i  d t ƒ  d ƒ |  i  d t ƒ  d ƒ d  S(   NR.   s   
(   R    R   (   R   (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyt
   test_emptyð   s    c         C   s0   |  i  d t ƒ  d ƒ |  i  d t ƒ  d ƒ d  S(   Ns   ---s   ---
(   R    R   (   R   (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyt   test_dashesô   s    c         C   s&   t  ƒ  } d } |  i | | | ƒ d  S(   Ns8   ---
foo: bar
baz: 3
quux: True
boingo: 'a sound effect'
(   R   R    (   R   R   R'   (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyt   test_mapping_with_dashesø   s    	c         C   s   |  i  d t ƒ  d ƒ d  S(   Ns   ===
foo: bar
s/   Non-empty scalar '=== foo' at start of mapping.(   R&   R   (   R   (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyt   test_equals_signs  s    c         C   s   |  i  d t ƒ  d ƒ d  S(   Ns   foo: [[bar]]
s'   values starting with a [ must be quoted(   R&   R   (   R   (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyt   test_square_brackets  s    c         C   s   |  i  d t ƒ  d ƒ d  S(   Ns   foo: {{bar}}
s'   values starting with a { must be quoted(   R&   R   (   R   (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyt   test_curly_brackets  s    c         C   s   |  i  d t ƒ  d ƒ d  S(   Ns   foo: !include bar/baz.png
s-   Includes must not be in a different directory(   R&   R   (   R   (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyt   test_nonlocal_include  s    c         C   s   |  i  d t ƒ  d ƒ d  S(   Ns   foo: !include bar.yaml
s   Includes must not end in .yaml(   R&   R   (   R   (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyt   test_yaml_include  s    c         C   s   |  i  d t ƒ  d ƒ d  S(   Ns   foo: **bar**
s'   values starting with a * must be quoted(   R&   R   (   R   (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyt   test_asterisk  s    c         C   s   |  i  d t ƒ  d ƒ d  S(   Ns   foo: ? bar
s'   values starting with a ? must be quoted(   R&   R   (   R   (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyt   test_question_mark  s    c         C   s   |  i  d t ƒ  d ƒ d  S(   Ns   foo: ?
s'   values starting with a ? must be quoted(   R&   R   (   R   (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyt   test_question_mark_alone  s    (   R   R   R    R&   R)   R,   R/   R3   R:   R;   R<   R>   R?   R@   RA   RB   RC   RD   RE   RF   RG   RH   RI   (    (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyR      s*   		
		/																t   __main__t   error(   t   sitet   ost
   addsitedirR1   t   dirnamet   realpatht   __file__t   __requires__t   pkg_resourcest   requiret   unittestt	   cStringIOR   t   bazsvnR   t   objectR   t   TestCaseR   R   t   warningst   simplefiltert   main(    (    (    s@   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazsvn/test/unit.pyt   <module>   s   1ÿ 