
    6 fL                     z    d Z ddlZddlmZmZmZ  G d dej                  Zedk    r ej	                     dS dS )z(Tests for JavaScriptObfuscator unpacker.    N)unpackdetect
smartsplitc                   $    e Zd ZdZd Zd Zd ZdS )TestJavascriptObfuscatorz#JavascriptObfuscator.com test case.c                      t            fd} |dg             |dddg            |dddg            |d	dd
g           dS )zTest smartsplit() function.c                 B                          |           |          S N)assertEqual)dataresultselfsplits     k/var/www/equiseq/venv/lib/python3.11/site-packages/jsbeautifier/unpackers/tests/testjavascriptobfuscator.pyequalsz8TestJavascriptObfuscator.test_smartsplit.<locals>.equals   s!    ##EE$KK888     z"a", "b"z"a"z"b"z"aaa","bbbb"z"aaa"z"bbbb"z
"a", "b\""z"b\""N)r   )r   r   r   s   ` @r   test_smartsplitz(TestJavascriptObfuscator.test_smartsplit   s    	9 	9 	9 	9 	9 	9 	r2zE5>***~2333}uh/00000r   c                       fd} fd} |d            |d            |d            |d            |d            |d           d	S )
zTest detect() function.c                 H                         t          |                     S r
   )
assertTruer   sourcer   s    r   positivez6TestJavascriptObfuscator.test_detect.<locals>.positive   s    ??6&>>222r   c                 H                         t          |                     S r
   )assertFalser   r   s    r   negativez6TestJavascriptObfuscator.test_detect.<locals>.negative"   s    ##F6NN333r   r   abcdzvar _0xaaaazvar _0xaaaa = ["a", "b"]zvar _0xaaaa=["a", "b"]zvar _0x1234=["a","b"]N )r   r   r   s   `  r   test_detectz$TestJavascriptObfuscator.test_detect   s    	3 	3 	3 	3 	3	4 	4 	4 	4 	4 	+,,,)***()))))r   c                 B      fd} |dd            |dd           dS )zTest unpack() function.c                 J                         t          |           |          S r
   )r   r   )oboriginalr   s     r   decodetoz6TestJavascriptObfuscator.test_unpack.<locals>.decodeto/   s    ##F2JJ999r   zvar _0x8df3=[];var a=10;z	var a=10;zCvar _0xb2a7=["t'est"];var i;for(i=0;i<10;++i){alert(_0xb2a7[0]);} ;z*var i;for(i=0;i<10;++i){alert("t'est");} ;Nr   )r   r%   s   ` r   test_unpackz$TestJavascriptObfuscator.test_unpack,   sW    	: 	: 	: 	: 	: 	+[999%<	
 	
 	
 	
 	
r   N)__name__
__module____qualname____doc__r   r    r&   r   r   r   r   r      sG        --
1 
1 
1* * * 
 
 
 
 
r   r   __main__)
r*   unittest+jsbeautifier.unpackers.javascriptobfuscatorr   r   r   TestCaser   r'   mainr   r   r   <module>r0      s   
 / .  R R R R R R R R R R
*
 *
 *
 *
 *
x0 *
 *
 *
Z zHMOOOOO r   