
    |h                     x    d Z ddlmZ ddlmZ  G d dej                        Zedk(  r ej                          yy)zTests for the parser module.    )parser)	testutilsc                       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y)
ParserTestc                 J    | j                  t        j                                y )N)assertIsNotNoner   CreateParserselfs    O/var/www/html/test/engine/venv/lib/python3.12/site-packages/fire/parser_test.pytestCreateParserzParserTest.testCreateParser   s    ,,./    c                    | j                  t        j                  g       g g f       | j                  t        j                  ddg      ddgg f       | j                  t        j                  g d      ddgg f       | j                  t        j                  g d      ddgdgf       | j                  t        j                  dg      g g f       | j                  t        j                  g d      g ddgf       | j                  t        j                  g d	      ddgddgf       | j                  t        j                  g d
      g d	g f       | j                  t        j                  g d      g ddgf       y )Nab)r   r   --)r   r   r   cr   r   )r   r   dr   )r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   )assertEqualr   SeparateFlagArgsr
   s    r   testSeparateFlagArgszParserTest.testSeparateFlagArgs   s]   V,,R02r(;V,,c3Z8C:r:JKV,,-=>Cj"%'V,,-BCCj3%(*V,,dV4"XV,,-=>3*%'V,,-GHCj3*-/V,,-MN0"57V,,-MN+cU35r   c                 ,   | j                  t        j                  d      d       | j                  t        j                  d      d       | j                  t        j                  d      d       | j                  t        j                  d      d       y )Nhellozpath/file.jpghello world--flagr   r   DefaultParseValuer
   s    r   testDefaultParseValueStringsz'ParserTest.testDefaultParseValueStrings,   sn    V--g6@V--o>PV--m<mLV--h7Br   c                    | j                  t        j                  d      d       | j                  t        j                  d      d       | j                  t        j                  d      d       | j                  t        j                  d      d       | j                  t        j                  d      d       | j                  t        j                  d	      d       y )
Nz'hello'r   z'hello world'r   z'--flag'r   z"hello"z"hello world"z"--flag"r   r
   s    r   "testDefaultParseValueQuotedStringsz-ParserTest.testDefaultParseValueQuotedStrings2   s    V--i8'BV--o>NV--j98DV--i8'BV--o>NV--j98Dr   c                    | j                  t        j                  d      d       | j                  t        j                  d      d       | j                  t        j                  d      d       | j                  t        j                  d      d       | j                  t        j                  d      d        | j                  t        j                  d      d       y )N-r   z---z----Nonez'None'r   r
   s    r   #testDefaultParseValueSpecialStringsz.ParserTest.testDefaultParseValueSpecialStrings:   s    V--c2C8V--d3T:V--e4e<V--f5v>V--f5t<V--h7@r   c                    | j                  t        j                  d      d       | j                  t        j                  d      d       | j                  t        j                  d      d       | j                  t        j                  d      t               | j                  t        j                  d      t
               | j                  t        j                  d      d       | j                  t        j                  d	      d
       y )N23   z-23i23.0g      7@23.5g     7@z-23.5g     7)r   r   r   assertIsInstanceintfloatr
   s    r   testDefaultParseValueNumbersz'ParserTest.testDefaultParseValueNumbersB   s    V--d3R8V--e4c:V--f5t<&2248#>&226:EBV--f5t<V--g6>r   c                    | j                  t        j                  d      d       | j                  t        j                  d      d       | j                  t        j                  d      d       | j                  t        j                  d      d       | j                  t        j                  d      d       | j                  t        j                  d	      d       y )
Nz'23'r&   z'23.0'r(   z'23.5'r)   z"23"z"23.0"z"23.5"r   r
   s    r   "testDefaultParseValueStringNumbersz-ParserTest.testDefaultParseValueStringNumbersK   s    V--f5t<V--h7@V--h7@V--f5t<V--h7@V--h7@r   c                 N    | j                  t        j                  d      d       y )Nz"'123'"z'123'r   r
   s    r   (testDefaultParseValueQuotedStringNumbersz3ParserTest.testDefaultParseValueQuotedStringNumbersS   s    V--k:GDr   c                 N    | j                  t        j                  d      d       y )N1e5g     j@r   r
   s    r   !testDefaultParseValueOtherNumbersz,ParserTest.testDefaultParseValueOtherNumbersV   s    V--e4h?r   c                 <   | j                  t        j                  d      g d       | j                  t        j                  d      g d       | j                  t        j                  d      g d       | j                  t        j                  d      g d       y )	Nz	[1, 2, 3])         z[1, "2", 3])r6   2r8   z[1, '"2"', 3])r6   z"2"r8   z[1, "hello", 3])r6   r   r8   r   r
   s    r   testDefaultParseValueListsz%ParserTest.testDefaultParseValueListsY   su    V--k:IFV--m<kJV--.?@-PV--+-r   c                 R    | j                  t        j                  d      g d       y )Nz[one, 2, "3"]oner7   3r   r
   s    r   #testDefaultParseValueBareWordsListsz.ParserTest.testDefaultParseValueBareWordsLists`   s    V--o>Pr   c                 T    | j                  t        j                  d      ddd       y )Nz{"abc": 5, "123": 1}   r6   )abc123r   r
   s    r   testDefaultParseValueDictz$ParserTest.testDefaultParseValueDictc   s'      !78!A:NPr   c                 N    | j                  t        j                  d      d        y )Nr#   r   r
   s    r   testDefaultParseValueNonez$ParserTest.testDefaultParseValueNoneg   s    V--f5t<r   c                     | j                  t        j                  d      d       | j                  t        j                  d      d       y )NTrueTFalseFr   r
   s    r   testDefaultParseValueBoolz$ParserTest.testDefaultParseValueBoolj   s8    V--f5t<V--g6>r   c                     | j                  t        j                  d      d       | j                  t        j                  d      d       y )Nz(one, 2, "3")r<   zone, "2", 3)r=   r9   r8   r   r
   s    r   #testDefaultParseValueBareWordsTuplez.ParserTest.testDefaultParseValueBareWordsTuplen   s8    V--o>PV--m<oNr   c                 Z    | j                  t        j                  d      dddddg       y )Nz,[(A, 2, "3"), 5, {alpha: 10.2, beta: "cat"}])Ar7   r>   rA   gffffff$@cat)alphabetar   r
   s    r   %testDefaultParseValueNestedContainersz0ParserTest.testDefaultParseValueNestedContainersr   s0      :	<	T59:<r   c                     | j                  t        j                  d      d       | j                  t        j                  d      d       y )Nz"0#comments"z
0#commentsr   r   r
   s    r   testDefaultParseValueCommentsz(ParserTest.testDefaultParseValueCommentsx   s8    V--n=|LV--l;Q?r   c                     | j                  t        j                  d      d       | j                  t        j                  d      d       y )Nz[(A, 2, "3"), 5zx=10r   r
   s    r   testDefaultParseValueBadLiteralz*ParserTest.testDefaultParseValueBadLiteral}   s>      !235FHV--f5v>r   c                 N    | j                  t        j                  d      d       y )N"r   r
   s    r    testDefaultParseValueSyntaxErrorz+ParserTest.testDefaultParseValueSyntaxError   s    V--c2C8r   c                     | j                  t        j                  d      d       | j                  t        j                  d      d       y )Nz
2017-10-10z1+1r   r
   s    r    testDefaultParseValueIgnoreBinOpz+ParserTest.testDefaultParseValueIgnoreBinOp   s8    V--l;\JV--e4e<r   N)__name__
__module____qualname__r   r   r   r    r$   r-   r/   r1   r4   r:   r?   rD   rF   rJ   rL   rR   rT   rV   rY   r[    r   r   r   r      sp    05$CEA?AE@-QP=?O<@
?9=r   r   __main__N)__doc__firer   r   BaseTestCaser   r\   mainr_   r   r   <module>re      s@    #  t='' t=l z).. r   