
    \j                     *    d dl  d dlZ G d d      Zy)    )*Nc                      e Zd Zej                  j                  dddg      defd       Zej                  j                  ddg      defd       Zej                  j                  dg d      defd       Z	ej                  j                  dg d	      ded
efd       Z
ej                  j                  dg       defd       Zd Zy)TestAttributeRefinput /c                     t         j                  |      }|j                  du sJ |j                  J |j                  dk(  sJ y NFr   AttributeRef	from_pathvaliderrordepthselfr   as      I/root/env/lib/python3.12/site-packages/testing/impl/test_attribute_ref.pytest_invalid_attr_ref_from_pathz0TestAttributeRef.test_invalid_attr_ref_from_path   sD    ""5)ww%ww"""ww!||    c                     t         j                  |      }|j                  du sJ |j                  J |j                  dk(  sJ y r
   r   from_literalr   r   r   r   s      r   "test_invalid_attr_ref_from_literalz3TestAttributeRef.test_invalid_attr_ref_from_literal   sD    %%e,ww%ww"""ww!||r   )namezname/with/slashesz-name~0~1with-what-looks-like-escape-sequencesc                     t         j                  |      }|j                  du sJ |j                  J |j                  dk(  sJ |d   |k(  sJ y NT   r   r   r   s      r   test_ref_with_no_leading_slashz/TestAttributeRef.test_ref_with_no_leading_slash   sP    ""5)ww$wwww!||tu}}r   zinput,unescaped))z/namer   )z/00)z!/name~1with~1slashes~0and~0tildeszname/with/slashes~and~tildes	unescapedc                     t         j                  |      }|j                  du sJ |j                  J |j                  dk(  sJ |d   |k(  sJ y r   r   )r   r   r!   r   s       r   "test_ref_simple_with_leading_slashz3TestAttributeRef.test_ref_simple_with_leading_slash   sT     ""5)ww$wwww!||ty   r   c                     t         j                  |      }|j                  du sJ |j                  J |j                  dk(  sJ |d   |k(  sJ y r   r   r   s      r   test_literalzTestAttributeRef.test_literal)   sP    %%e,ww$wwww!||tu}}r   c                     t         j                  d      }|j                  dk(  sJ |d   dk(  sJ |d   dk(  sJ |d   dk(  sJ y )	Nz/first/sec~1ond/third   r   firstr   zsec/ond   third)r   r   r   )r   r   s     r   test_get_componentz#TestAttributeRef.test_get_component1   sU    ""#:;ww!||twty   twr   N)__name__
__module____qualname__pytestmarkparametrizestrr   r   r   r#   r%   r+    r   r   r   r      s    [[Wr3i0S  1 [[Wrd+  , [[W&tuC  v [[. 1
 
! ! !
! [[Wb)#  *r   r   )!ldclient.impl.model.attribute_refr/   r   r3   r   r   <module>r5      s    / 0 0r   