o
    .j                     @   s   d Z ddlZddlZddlmZ ddlmZ dd Zdd Zd	d
 Z	dd Z
dd Zdd Zejdg ddd Zdd Zdd Zdd ZdS )zTest vBinary    N)vBinary)
Parametersc                  C   2   d} d}t |  |ksJ t || ksJ d S )Ns   This is gibberishs   VGhpcyBpcyBnaWJiZXJpc2g=r   to_ical	from_icaltxttxt_ical r   V/home/thesage/.local/lib/python3.10/site-packages/icalendar/tests/prop/test_vBinary.py	test_text      r   c                  C   r   )Ns   Binary data  Vs   QmluYXJ5IGRhdGEgEyBWr   r   r   r   r   test_binary   r   r   c                   C   s0   t tdjts
J tdjdddksJ d S )Nr	   BINARYBASE64)VALUEENCODING)
isinstancer   paramsr   r   r   r   r   
test_param   s   r   c                  C   s2   d} d}t |  |ksJ t || ksJ dS )z>Long data should not have line breaks, as that would interferesc   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaas   YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhNr   r   r   r   r   test_long_data   s   r   c                  C   s   t d} t| dksJ d S )NvaluezvBinary(b'dmFsdWU='))r   repr)instancer   r   r   	test_repr&   s   r   c                   C   sv   t jtdd td W d    n1 sw   Y  t jtdd td W d    d S 1 s4w   Y  d S )NNot valid base 64 encoding\.matchr   u   áèਮpytestraises
ValueErrorr   r   r   r   r   r   test_from_ical+   s   "r#   r   )!!!!dGV4dA==@@@@z	dG V4dA==z	dGV4dA==#c                 C   s>   t jtdd t|  W d    d S 1 sw   Y  d S )Nr   r   r   )r   r   r   r   ,test_from_ical_rejects_non_base64_characters2   s   	"r%   c                  C   s&   t d} t| jt | ksJ dS )z-ical_value property returns the string value.s   magic stringN)base64	b64encoder   
ical_value	b64decode)magic_stringr   r   r   test_ical_value?   s   
r+   c                   C   s>   t jtdd tdj W d    d S 1 sw   Y  d S )Nr   r   r$   )r    r!   r"   r   r(   r   r   r   r   -test_ical_value_rejects_non_base64_charactersE   s   "r,   c                  C   s    t d} t| tdksJ d S )Ns   hashed text)r   hash)objr   r   r   	test_hashJ   s   r/   )__doc__r&   r    	icalendarr   icalendar.parserr   r   r   r   r   r   r#   markparametrizer%   r+   r,   r/   r   r   r   r   <module>   s&    
