
    ce                         d dl Z d dlmZ  G d dej                        Z G d de j
                        Z G d de j
                        Z G d	 d
e j
                        Zy)    N)	iniparserc                   0    e Zd ZdZdZdZd Zd Zd Zd Z	y)
TestParserFN c                     i | _         y N)valuesselfs    B/usr/lib/python3/dist-packages/oslo_config/tests/test_iniparser.py__init__zTestParser.__init__   s	        c                     | j                   j                  | j                  i        || j                   | j                     |<   y r   )r	   
setdefaultsection)r   keyvalues      r   
assignmentzTestParser.assignment   s1    t||R0).DLL!#&r   c                     || _         y r   )r   r   r   s     r   new_sectionzTestParser.new_section    s	    r   c                     d| _         y )NT)comment_calledr   s     r   commentzTestParser.comment#   s
    "r   )
__name__
__module____qualname__r   r	   r   r   r   r   r    r   r   r   r      s%    NFG/#r   r   c                   6    e Zd Zd Zd Zd Zd Zd Zd Zd Z	y)	BaseParserTestCasec                 6    t        j                         | _        y r   )r   
BaseParserparserr
   s    r   setUpzBaseParserTestCase.setUp(   s    **,r   c                 n    | j                  t        j                  | j                  j                  |       y r   assertRaisesr   
ParseErrorr#   parser   liness     r   _assertParseErrorz$BaseParserTestCase._assertParseError+   s$    )..0A0A5Ir   c                 &    | j                  d       y )Nz	foo - barr,   r
   s    r   test_invalid_assignmentz*BaseParserTestCase.test_invalid_assignment.   s    {+r   c                 &    | j                  d       y )Nz: barr.   r
   s    r   test_empty_keyz!BaseParserTestCase.test_empty_key1   s    w'r   c                 &    | j                  d       y )Nz   bazr.   r
   s    r   test_unexpected_continuationz/BaseParserTestCase.test_unexpected_continuation4   s    x(r   c                 &    | j                  d       y )Nz[sectionr.   r
   s    r   test_invalid_sectionz'BaseParserTestCase.test_invalid_section7   s    z*r   c                 &    | j                  d       y )Nz[]r.   r
   s    r   test_no_section_namez'BaseParserTestCase.test_no_section_name:   s    t$r   N)
r   r   r   r$   r,   r/   r1   r3   r5   r7   r   r   r   r    r    '   s&    -J,()+%r   r    c                   T    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y)ParserTestCasec                 "    t               | _        y r   )r   r#   r
   s    r   r$   zParserTestCase.setUp?   s     lr   c                     dg}| j                   j                  |       | j                  i | j                   j                         y )Nr   r#   r)   assertEqualr	   r*   s     r   test_blank_linezParserTestCase.test_blank_lineB   s5    % T[[//0r   c                     dg}| j                   j                  |       | j                  dddgii| j                   j                         y )N	foo = barr   foobarr<   r*   s     r   test_assignment_equalz$ParserTestCase.test_assignment_equalG   sA    % "uug./1C1CDr   c                     dg}| j                   j                  |       | j                  dddgii| j                   j                         y )Nzfoo: barr   rA   rB   r<   r*   s     r   test_assignment_colonz$ParserTestCase.test_assignment_colonL   sA    % "uug./1C1CDr   c                     ddg}| j                   j                  |       | j                  ddddgii| j                   j                         y )N
foo = bar0  bar1r   rA   bar0bar1r<   r*   s     r   test_assignment_multilinez(ParserTestCase.test_assignment_multilineQ   sG    x(% "uvv&678$++:L:LMr   c                 v    g d}| j                  t        j                  | j                  j                  |       y )N)rG   r   rH   r&   r*   s     r   test_assignment_multline_emptyz-ParserTestCase.test_assignment_multline_emptyV   s)    ,)..0A0A5Ir   c                     ddg}| j                   j                  |       | j                  dddgii| j                   j                         y )Nz[test]r@   testrA   rB   r<   r*   s     r   test_section_assignmentz&ParserTestCase.test_section_assignmentZ   sD    ;'% &55'"23T[[5G5GHr   c                     dg}| j                   j                  |       | j                  d| j                   j                         y )Nz[foo]rA   )r#   r)   r=   r   r*   s     r   test_new_sectionzParserTestCase.test_new_section_   s5    	%  3 34r   c                     dg}| j                   j                  |       | j                  | j                   j                         y )Nz# foobar)r#   r)   
assertTruer   r*   s     r   test_commentzParserTestCase.test_commentd   s1    % 223r   c                     dg}| j                   j                  |       | j                  dddgii| j                   j                         y )Nzfoo = r   rA   r<   r*   s     r   test_empty_assignmentz$ParserTestCase.test_empty_assignmenti   s@    
% "urdm,dkk.@.@Ar   c                     dg}| j                   j                  |       | j                  dddgii| j                   j                         y )Nzfoo = ' bar 'r   rA    bar r<   r*   s     r   "test_assignment_space_single_quotez1ParserTestCase.test_assignment_space_single_quoten   sB     !% "uwi014;;3E3EFr   c                     dg}| j                   j                  |       | j                  dddgii| j                   j                         y )Nzfoo = " bar "r   rA   rY   r<   r*   s     r   "test_assignment_space_double_quotez1ParserTestCase.test_assignment_space_double_quotes   sB    "#% "uwi014;;3E3EFr   N)r   r   r   r$   r>   rC   rE   rK   rM   rP   rR   rU   rW   rZ   r\   r   r   r   r9   r9   >   sF    #1
E
E
N
JI
5
4
B
G
Gr   r9   c                       e Zd Zd Zy)ExceptionTestCasec                 h    t        j                  ddd      }| j                  t        |      d       y )NrO   *   examplezat line 42, test: 'example')r   r(   r=   str)r   excs     r   test_parseerrorz!ExceptionTestCase.test_parseerrorz   s+    ""62y9S#@Ar   N)r   r   r   rd   r   r   r   r^   r^   y   s    Br   r^   )	unittestoslo_configr   r"   r   TestCaser    r9   r^   r   r   r   <module>rh      sZ     !#%% #&%** %.8GX&& 8GvB)) Br   