3 >\ @sddlmZddlZddlZddlmZddlmZddl m Z m Z y.ddl m Z e ejj dddlmZWnd d ZYnXd Zd d ZddZddZGdddeZddZddZedkrejedS))print_functionN) OptionParser)Figlet)PopenPIPE)init)strip)cprintcCs t|dS)N)print)textcolorr g/private/var/folders/pf/wv4htv3x0qs2c2mp0dnn0kchsvlck3/T/pip-install-emcbgzcf/pyfiglet/pyfiglet/test.pyr sr z0.1cCst|ddS)NZred)r )r r r rfailsrcCst|ddS)NZgreen)r )r r r rwinsrcCs$x|jdD]}tt|q WdS)N )splitr repr)r liner r rdumpsrc@sDeZdZddZddZddZddZd d Zd d Zd dZ dS)Testc Csl||_d|_d|_g|_g|_dddddg|_|jddd d d d d dg7_|jdddg7_t|_dS)NrZrunicZpyramidZeftifontZDANC4ZdietcolaZembossZemboss2futureletterZpaggaZsmblockZ smbrailleZwidetermZdosrebelZkontoZ kontoslant)optsokrfailedokedskiprf)selfrr r r__init__sz Test.__init__cCstjj|dr"dddd||f}n0tjj|drDdddd||f}ntdj|t|d td }y|jd jd }Wn4t k r}zt d j|d}WYdd}~XnX|S)Nz.flfZfigletz-dzpyfiglet/fontsz-fz.tlfZtoiletzMissing font file: {}i)bufsizestdoutrutf8zUnicode Error handling font {}) ospathisfile Exceptionformatrr communicatedecodeUnicodeDecodeErrorr )rr fontfontpathcmdp outputFigleter r routputUsingFigletorToilet-szTest.outputUsingFigletorToiletcCsj||kr2td||jd7_|jj|dStd||jd7_|jj||j|||dS)Nz[OK] %sz [FAIL] %s)rrrappendrr show_result)rr-r1outputPyfigletr r rvalidate_font_output=s    zTest.validate_font_outputcCs>|jjdkr:td|t|td|t|tdS)NTz[PYTHON] *** %s z[FIGLET] *** %s )rshowr r raw_input)rr1r7r-r r rr6Is    zTest.show_resultcCs||jkrdStjjdd|}|jj|d|jj|}|j|||}tjj|d}|sn|j d}|j d}|j |||dS)NpyfigletZfonts)r-z.flfr) rr%r&joinrZsetFont renderTextr3r'rr8)rr r-r.r7r1strictr r r check_fontQs    zTest.check_fontcCs$x|jjD]}|j||q WdS)N)rZgetFontsr?)rr r-r r r check_textdszTest.check_textcCs@td|j|jft|jdkr4tdt|j|j|jfS)NzOK = %d, FAIL = %drz FAILED = %s)r rrlenrrr)rr r r check_resulthszTest.check_resultN) __name__ __module__ __qualname__r r3r8r6r?r@rBr r r rrs rcCsttj|ddS)NZblue)r rr=)r r r rbannerosrFcCsttd}|jdddddd|j\}}t|}td|jd td |jd td |jd td|jdt|jddkrdSdSdS)N)versionz-sz--show store_trueFzs(    R