
    e                     v    d Z ddlmZ 	 ddlmZ ddlmZ n# e$ r  ed          w xY w G d de          ZdS )	zE
Tests the OptsCompleter class for tab-completion in the opts magic.
    )SkipTest)
IPTestCase)OptsCompleterz=Required dependencies not satisfied for testing OptsCompleterc                   r     e Zd Z f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 xZS )TestOptsCompleterc                     ddgddgfddgddgfd	d
gddgfd| _         i | _        t          | j                                                   g dz   | _        t                                                       d S )N	plotoptA1	plotoptA2
styleoptA1
styleoptA2	plotoptB1	plotoptB2
styleoptB1
styleoptB2	plotoptC1	plotoptC2
styleoptC1
styleoptC2)	AnElementAnotherElement
BarElement)zstyle(zplot[znorm{)completionscompositor_defssortedkeysall_keyssupersetUp)self	__class__s    Jlib/python3.11/site-packages/holoviews/tests/ipython/test_optscompleter.pyr   zTestOptsCompleter.setUp   s     k*|,. k*|,. k*|,.	/ 	/  "t/446677:V:V:VV    c                     t          j                    }|                     |t           j                   |                     |i            dS )z2Test setup_completions for the real completion setN)r   setup_completerassertEqual_completionsassertNotEqual)r   r   s     r!   test_completer_setupz&TestOptsCompleter.test_completer_setup!   sE    #355m&@AAAK,,,,,r"   c                 |    t          j        d| j        | j                  }|                     || j                   d S )Nz	%%opts Anr   line_completerr   r   r%   r   r   suggestionss     r!   test_completions_simple1z*TestOptsCompleter.test_completions_simple1'   sA    #2;373CTEY[ [dm44444r"   c                 |    t          j        d| j        | j                  }|                     || j                   dS )z>Same as above even though the selected completion is differentz%%opts AnothNr*   r,   s     r!   test_completions_simple2z*TestOptsCompleter.test_completions_simple2,   A    #2>373CTEY[ [dm44444r"   c                 |    t          j        d| j        | j                  }|                     || j                   dS )z,Same as above although the syntax is invalidz%%opts Ano [Nr*   r,   s     r!   test_completions_invalid_plot1z0TestOptsCompleter.test_completions_invalid_plot12   r1   r"   c                 v    t          j        d| j        | j                  }|                     |ddg           dS )"Suggest corresponding plot optionsz%%opts AnElement [
plotoptA1=
plotoptA2=Nr   r+   r   r   r%   r,   s     r!   test_completions_short_plot1z.TestOptsCompleter.test_completions_short_plot18   sE    #23G373CTEY[ [|\&BCCCCCr"   c                 v    t          j        d| j        | j                  }|                     |ddg           dS )r5   z%%opts AnElement plot[r6   r7   Nr8   r,   s     r!   test_completions_long_plot1z-TestOptsCompleter.test_completions_long_plot1>   sE    #23K373CTEY[ [|\&BCCCCCr"   c                 v    t          j        d| j        | j                  }|                     |ddg           dS )r5   z%%opts AnElement (styleoptA1=styleoptA2=Nr8   r,   s     r!   test_completions_short_style1z/TestOptsCompleter.test_completions_short_style1D   sE    #23G373CTEY[ [}'EFFFFFr"   c                 v    t          j        d| j        | j                  }|                     |ddg           dS )r5   z%%opts AnElement style(r=   r>   Nr8   r,   s     r!   test_completions_long_style1z.TestOptsCompleter.test_completions_long_style1J   sE    #23L373CTEY[ [}'EFFFFFr"   c                 v    t          j        d| j        | j                  }|                     |ddg           dS )r5   z%%opts AnElement {	+axiswise
+framewiseNr8   r,   s     r!   test_completions_short_norm1z.TestOptsCompleter.test_completions_short_norm1P   sE    #23G373CTEY[ [\'BCCCCCr"   c                 v    t          j        d| j        | j                  }|                     |ddg           dS )r5   z%%opts AnElement norm{rC   rD   Nr8   r,   s     r!   test_completions_long_norm1z-TestOptsCompleter.test_completions_long_norm1V   sE    #23K373CTEY[ [\'BCCCCCr"   c                 |    t          j        d| j        | j                  }|                     || j                   dS )r5   z%%opts AnElement [test=1]Nr*   r,   s     r!   #test_completions_short_plot_closed1z5TestOptsCompleter.test_completions_short_plot_closed1\   sB    #23N373CTEY[ [t}55555r"   c                 |    t          j        d| j        | j                  }|                     || j                   dS )r5   z%%opts AnElement plot[test=1]Nr*   r,   s     r!   "test_completions_long_plot_closed1z4TestOptsCompleter.test_completions_long_plot_closed1b   sB    #23R373CTEY[ [t}55555r"   c                 v    t          j        d| j        | j                  }|                     |ddg           dS )r5   z/%%opts AnElement [test=1] AnotherElement style(zstyleoptB1=zstyleoptB2=Nr8   r,   s     r!   'test_completions_short_plot_long_style1z9TestOptsCompleter.test_completions_short_plot_long_style1h   sE    #23d373CTEY[ [}'EFFFFFr"   c                 v    t          j        d| j        | j                  }|                     |ddg           dS )r5   z+%%opts AnElement [test=1] BarElement style(zstyleoptC1=zstyleoptC2=Nr8   r,   s     r!   'test_completions_short_plot_long_style2z9TestOptsCompleter.test_completions_short_plot_long_style2n   sE    #23`373CTEY[ [}'EFFFFFr"   )__name__
__module____qualname__r   r(   r.   r0   r3   r9   r;   r?   rA   rE   rG   rI   rK   rM   rO   __classcell__)r    s   @r!   r   r      s&           "- - -5 5 5
5 5 55 5 5D D DD D DG G GG G GD D DD D D6 6 66 6 6G G GG G G G G G Gr"   r   N)	__doc__unittestr   holoviews.ipythonr   holoviews.ipython.magicsr   ImportErrorr    r"   r!   <module>rZ      s          T,,,,,,6666666 T T T
(R
S
SSTdG dG dG dG dG
 dG dG dG dG dGs    (