
    V                    L    S SK Jr  S SKrS SKJrJrJrJrJrJ	r	   " S S5      r
g)    )annotationsN)RequestFieldformat_header_paramformat_header_param_html5format_header_param_rfc2231format_multipart_header_paramguess_content_typec                  x   \ rS rSr\R
                  R                  SSSS/4SS/4SS/4/5            SS	 j5       rSS
 jrSS jr	SS jr
SS jr\R
                  R                  SSS/5            SS j5       rSS jr\R
                  R                  S/ SQ5            SS j5       rSS jrSS jrSrg)TestRequestField   zfilename, content_typesz	image.jpgz
image/jpegzimage/pjpegnotsureapplication/octet-streamNc                &    [        U5      U;   d   eg )N)r	   )selffilenamecontent_typess      7platform/gsutil/third_party/urllib3/test/test_fields.pytest_guess_content_type(TestRequestField.test_guess_content_type   s     "(+}<<<    c                    [        SS5      nUR                  5       S:X  d   e[        SSSS9nUR                  5       S:X  d   e[        SSSS0S9nUR                  5       S	:X  d   eg )
Nsomenamedataz
zsomefile.txt)r   zContent-Length4)headerszContent-Length: 4

)r   render_headers)r   simple_fieldfilename_fieldheaders_fields       r   test_createTestRequestField.test_create   s{    #J7**,666%j&>R,,.&888$)93(?
 ++-1LLLLr   c                h    [        SS5      nUR                  SSS9  UR                  5       S:X  d   eg )Nr   r   z	image/jpgz/test)content_typecontent_locationzeContent-Disposition: form-data; name="somename"
Content-Type: image/jpg
Content-Location: /test

r   make_multipartr   r   fields     r   test_make_multipart$TestRequestField.test_make_multipart'   sA    Z0+P  "	
r   c                h    [        SSS5      nUR                  SS9  UR                  5       S:X  d   eg )Nr   r    r   )r#   zhContent-Disposition: form-data; name="somename"; filename=""
Content-Type: application/octet-stream

r%   r'   s     r   "test_make_multipart_empty_filename3TestRequestField.test_make_multipart_empty_filename2   sB    Z4*DE  "	
r   c                    [        SS5      nUR                  SSS.5      nSU;   d   eSU;   d   eUR                  SS/5      nUS	:X  d   eg )
Nr   r   value)namer   zname="value"zfilename="value")r1   r0   )r   r0   zname="value"; filename="value")r   _render_parts)r   r(   partss      r   test_render_parts"TestRequestField.test_render_parts<   se    Z0##W'$JK&&&!U***##%68M$NO8888r   )r0   expect)   nämezfilename*=utf-8''n%C3%A4me)s   namezfilename="name"c                    [         R                  " SS9   [        SU5      nS S S 5        WU:X  d   eg ! , (       d  f       N= f)Nurllib3 v2\.1\.0matchr   )pytestdeprecated_callr   r   r0   r6   params       r   +test_format_header_param_rfc2231_deprecated<TestRequestField.test_format_header_param_rfc2231_deprecatedD   s;     ##*=>/
EBE ?  ?>s	   3
Ac                    [         R                  " SS9   [        SS5      nS S S 5        [         R                  " SS9   [        SS5      nS S S 5        WW:X  d   eg ! , (       d  f       N@= f! , (       d  f       N(= f)Nr9   r:   r   r1   )r<   r=   r   r   )r   param2param1s      r   )test_format_header_param_html5_deprecated:TestRequestField.test_format_header_param_html5_deprecatedP   sf    ##*=>.z6BF ? ##*=>(V<F ?  ?> ?>s   AA-
A*-
A;))r1   r1   )r7   r7   )s   nämer7   )   ski ⛷.txtrG   )control rH   )backslash \rI   )z	quotes '"zquotes '%22)z
newline 
znewline %0A%0Dc                4    [        SU5      nUSU S3:X  d   eg )Nr   z
filename="")r   r>   s       r   "test_format_multipart_header_param3TestRequestField.test_format_multipart_header_paramY   s'      .j%@*VHA....r   c                `    [         R                  " SS5      nUR                  S   nUS:X  d   eg )Nfile)u   スキー旅行.txtr   Content-Dispositionu6   form-data; name="file"; filename="スキー旅行.txt")r   from_tuplesr   r   r(   cds      r   test_from_tuples!TestRequestField.test_from_tuplesl   s3    ((1PQ]]01MMMMr   c                    [         R                  " SS9   [        R                  " SS[        S9nS S S 5        WR
                  S   nUS:X  d   eg ! , (       d  f       N&= f)Nr9   r:   rO   )r7   r   )header_formatterrP   z2form-data; name="file"; filename*=utf-8''n%C3%A4me)r<   r=   r   rQ   r   r   rR   s      r   test_from_tuples_rfc2231)TestRequestField.test_from_tuples_rfc2231q   sX    ##*=> ,,)<WE ?
 ]]01KKKK ?>s   A
A )r   z
str | Noner   z	list[str]returnNone)r[   r\   )r0   zbytes | strr6   strr[   r\   )__name__
__module____qualname____firstlineno__r<   markparametrizer   r    r)   r-   r4   r@   rE   rL   rT   rX   __static_attributes__rZ   r   r   r   r      s   [[!<78345./0	
="=3<=	==
M	

9 [[	02NO *-		  [[		
/ /*-/	//N
Lr   r   )
__future__r   r<   urllib3.fieldsr   r   r   r   r   r	   r   rZ   r   r   <module>rg      s#    "  iL iLr   