package Ġcom . bk ahl ert . kom mon s . text Ċ Ċ import Ġcom . bk ahl ert . kom mon s . test . Ansi Re qu iring Ċ import Ġcom . bk ahl ert . kom mon s . test . test Each Ċ import Ġcom . bk ahl ert . kom mon s . test . toString Is EqualTo Ċ import Ġcom . bk ahl ert . kom mon s . text . ANSI . Style Ċ import Ġcom . bk ahl ert . kom mon s . text . ANSI . Style . bold Ċ import Ġcom . bk ahl ert . kom mon s . text . ANSI . Text . Companion . ansi Ċ import Ġcom . bk ahl ert . kom mon s . text . ANSI . ansi Removed Ċ import Ġcom . bk ahl ert . kom mon s . text . ANSI . color ize Ċ import Ġcom . bk ahl ert . kom mon s . text . ANSI . contains Ansi Ċ import Ġcom . bk ahl ert . kom mon s . text . Line Separ ators . CRL F Ċ import Ġorg . junit . jupiter . api . Nested Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . api . Test Factory Ċ import Ġstri kt . api . Assertion Ċ import Ġstri kt . api . Assertion . Builder Ċ import Ġstri kt . api . Describe able Builder Ċ import Ġstri kt . api . expect That Ċ import Ġstri kt . assertions . isEqualTo Ċ import Ġcom . bk ahl ert . kom mon s . text . Unicode . ESCAPE Ġas Ġe Ċ Ċ @ Ansi Re qu iring Ċ class ĠAN S ITest Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġitalic C yan Ġ= ĠStyle . italic Ġ+ ĠANSI . Colors . cyan ĊĊĠĠĠ Ġ@ Nested ĊĠĠĠ Ġinner Ġclass ĠFormat ting Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` should Ġformat `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect That ( italic C yan (" string ")). contains Ansi () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Nested ĊĠĠĠ Ġinner Ġclass ĠAn si Removed Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Test Factory ĊĠĠĠĠĠĠĠ Ġfun Ġ` should Ġremove Ġescape Ġsequences `() Ġ= Ġtest Each ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitalic C yan ("${ " Important :" . ansi . underline } ĠThis Ġline Ġhas Ġ${ " no ". ansi . strikethrough } ĠANSI Ġescap es .\ n This Ġone 's Ġ${ " bold ! ". ansi . bold }${ CRL F } Last Ġone Ġis Ġclean .") Ġto ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Important : ĠThis Ġline Ġhas Ġno ĠANSI Ġescap es .\ n This Ġone 's Ġbold ! ${ CRL F } Last Ġone Ġis Ġclean .", ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" [$ e [ 0 ; 3 2 m Ġ ĠOK Ġ Ġ$ e [ 0 m ] ĠList ening Ġon Ġ$ e [ 0 ; 1 ; 3 9 m ude v ĠControl ĠSocket $ e [ 0 m ." Ġto ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"[ Ġ ĠOK Ġ Ġ] ĠList ening Ġon Ġ ude v ĠControl ĠSocket .", ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Text " Ġto Ġ" Text ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"__ Ì ´ Ä± Ì ´ Ì ´ Ì ¡ Ì ¡ Ì ¡ Ġ Ì ¡ Í Į l Ì ¡ Ì ¡ Ì ¡ Ġ Ì ¡ Í Į l Ì ¡ * Ì ¡ Ì ¡ Ġ Ì ¡ Ì ´ Ä± Ì ´ Ì ´ Ì ¡ Ġ Ì ¡ Ì ¡ Í ¡ | Ì ² Í ¡ Ì ² Í ¡ Ì ² Í ¡ Ġ Ì ² âĸ « Í ¡ Ì ² Ġ Ì ² Í ¡ Ì ² Í ¡ Ì ² ÏĢ Ì ² Í ¡ Ì ² Í ¡ Ġ Ì ² Í ¡ Ì ² âĸ « Ì ² Í ¡ Ì ² Í ¡ Ġ Ì ² | Ì ¡ Ì ¡ Ì ¡ Ġ Ì ¡ Ġ Ì ¡ Ì ´ Ä± Ì ´ Ì ¡ Ì ¡ Ġ Ì ¡ Í Į l Ì ¡ Ì ¡ Ì ¡ Ì ¡ .__ _" Ġto Ġ"__ Ì ´ Ä± Ì ´ Ì ´ Ì ¡ Ì ¡ Ì ¡ Ġ Ì ¡ Í Į l Ì ¡ Ì ¡ Ì ¡ Ġ Ì ¡ Í Į l Ì ¡ * Ì ¡ Ì ¡ Ġ Ì ¡ Ì ´ Ä± Ì ´ Ì ´ Ì ¡ Ġ Ì ¡ Ì ¡ Í ¡ | Ì ² Í ¡ Ì ² Í ¡ Ì ² Í ¡ Ġ Ì ² âĸ « Í ¡ Ì ² Ġ Ì ² Í ¡ Ì ² Í ¡ Ì ² ÏĢ Ì ² Í ¡ Ì ² Í ¡ Ġ Ì ² Í ¡ Ì ² âĸ « Ì ² Í ¡ Ì ² Í ¡ Ġ Ì ² | Ì ¡ Ì ¡ Ì ¡ Ġ Ì ¡ Ġ Ì ¡ Ì ´ Ä± Ì ´ Ì ¡ Ì ¡ Ġ Ì ¡ Í Į l Ì ¡ Ì ¡ Ì ¡ Ì ¡ .__ _", ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ Ġ( ansi , Ġplain ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith Ġ{ Ġansi . ansi Removed Ġ}. then Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpecting Ġ{ Ġthis Ġ} Ġthat Ġ{ Ġis EqualTo ( plain ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpecting Ġ{ Ġthis Ġ} Ġthat Ġ{ Ġnot Ġ{ Ġcontains Ansi () Ġ} Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Nested ĊĠĠĠ Ġinner Ġclass ĠContains Escape Sequences Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` should Ġbe Ġtrue `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect That (" string ". bold ()). contains Ansi () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` should Ġbe Ġfalse `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect That (" string "). not Ġ{ Ġcontains Ansi () Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Nested ĊĠĠĠ Ġinner Ġclass ĠColors Test Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` should Ġcolor ize Ġm agenta Ġon Ġcy an `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect That (" magenta Ġon Ġcy an ". ansi . magenta . on . cyan ). toString Is EqualTo ( ANSI . Colors . magenta . on ( ANSI . Colors . cyan )(" magenta Ġon Ġcy an "). toString (), Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` should Ġcolor ize Ġblack `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect That (" black ". ansi . black ). toString Is EqualTo ( ANSI . Colors . black . invoke (" black "). toString (), Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` should Ġcolor ize Ġred `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect That (" red ". ansi . red ). toString Is EqualTo ( ANSI . Colors . red . invoke (" red "). toString (), Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` should Ġcolor ize Ġgreen `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect That (" green ". ansi . green ). toString Is EqualTo ( ANSI . Colors . green . invoke (" green "). toString (), Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` should Ġcolor ize Ġyellow `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect That (" yellow ". ansi . yellow ). toString Is EqualTo ( ANSI . Colors . yellow . invoke (" yellow "). toString (), Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` should Ġcolor ize Ġblue `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect That (" blue ". ansi . blue ). toString Is EqualTo ( ANSI . Colors . blue . invoke (" blue "). toString (), Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` should Ġcolor ize Ġm agenta `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect That (" magenta ". ansi . magenta ). toString Is EqualTo ( ANSI . Colors . magenta . invoke (" magenta "). toString (), Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` should Ġcolor ize Ġcy an `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect That (" cyan ". ansi . cyan ). toString Is EqualTo ( ANSI . Colors . cyan . invoke (" cyan "). toString (), Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` should Ġcolor ize Ġwhite `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect That (" white ". ansi . white ). toString Is EqualTo ( ANSI . Colors . white . invoke (" white "). toString (), Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` should Ġcolor ize Ġgray `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect That (" gray ". ansi . gray ). toString Is EqualTo ( ANSI . Colors . gray . invoke (" gray "). toString (), Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` should Ġcolor ize Ġbright Red `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect That (" bright Red ". ansi . bright Red ). toString Is EqualTo ( ANSI . Colors . bright Red . invoke (" bright Red "). toString (), Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` should Ġcolor ize Ġbright Green `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect That (" bright Green ". ansi . bright Green ). toString Is EqualTo ( ANSI . Colors . bright Green . invoke (" bright Green "). toString (), Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` should Ġcolor ize Ġbright Yellow `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect That (" bright Yellow ". ansi . bright Yellow ). toString Is EqualTo ( ANSI . Colors . bright Yellow . invoke (" bright Yellow "). toString (), Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` should Ġcolor ize Ġbright Blue `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect That (" bright Blue ". ansi . bright Blue ). toString Is EqualTo ( ANSI . Colors . bright Blue . invoke (" bright Blue "). toString (), Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` should Ġcolor ize Ġbright M agenta `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect That (" bright M agenta ". ansi . bright M agenta ). toString Is EqualTo ( ANSI . Colors . bright M agenta . invoke (" bright M agenta "). toString (), Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` should Ġcolor ize Ġbright C yan `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect That (" bright C yan ". ansi . bright C yan ). toString Is EqualTo ( ANSI . Colors . bright C yan . invoke (" bright C yan "). toString (), Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` should Ġcolor ize Ġbright White `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect That (" bright White ". ansi . bright White ). toString Is EqualTo ( ANSI . Colors . bright White . invoke (" bright White "). toString (), Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` should Ġcolor ize Ġbackground `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect That (" cyan Ġbg ". ansi . cyan . bg ). toString Is EqualTo ( ANSI . Colors . cyan . bg . invoke (" cyan Ġbg "). toString (), Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` should Ġcolor ize Ġforeground Ġand Ġbackground `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect That (" cyan Ġon Ġm agenta ". ansi . cyan . on . magenta ). toString Is EqualTo (( ANSI . Colors . cyan Ġ+ ĠANSI . Colors . magenta . bg )(" cyan Ġon Ġm agenta "). toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` should Ġcolor ize Ġrandom `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect That (" random ". ansi . random ). toString Is EqualTo (" random "). get Ġ{ Ġfilter Ġ{ Ġit Ġ== ĠUnicode . ESCAPE Ġ}. count () Ġ}. isEqualTo ( 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` should Ġcolor ize Ġeach Ġcharacter `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect That (" color ized ". color ize ()). toString Is EqualTo (" color ized "). get Ġ{ Ġfilter Ġ{ Ġit Ġ== ĠUnicode . ESCAPE Ġ}. count () Ġ}. isEqualTo ( 1 8 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Nested ĊĠĠĠ Ġinner Ġclass ĠStyle Test Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` should Ġformat Ġbold `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect That (" bold ". ansi . bold ). toString Is EqualTo ( bold (" bold "). toString (), Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` should Ġformat Ġdim `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect That (" dim ". ansi . dim ). toString Is EqualTo ( Style . dim . invoke (" dim "). toString (), Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` should Ġformat Ġitalic `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect That (" italic ". ansi . italic ). toString Is EqualTo ( Style . italic . invoke (" italic "). toString (), Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` should Ġformat Ġunderline `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect That (" underline ". ansi . underline ). toString Is EqualTo ( Style . underline . invoke (" underline "). toString (), Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` should Ġformat Ġinverse `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect That (" inverse ". ansi . inverse ). toString Is EqualTo ( Style . inverse . invoke (" inverse "). toString (), Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` should Ġformat Ġhidden `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect That (" hidden ". ansi . hidden ). toString Is EqualTo ( Style . hidden . invoke (" hidden "). toString (), Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` should Ġformat Ġstrike through `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect That (" strikethrough ". ansi . strikethrough ). toString Is EqualTo ( Style . strikethrough . invoke (" strikethrough "). toString (), Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġ< T Ġ: ĠCharSequence > ĠAssertion . Builder < T >. contains Ansi (): ĠAssertion . Builder < T > Ġ= ĊĠĠĠ Ġassert (" contains ĠANSI Ġescape Ġsequences ") Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( val Ġactual Ġ= Ġit . toString (). contains Ansi ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue Ġ-> Ġpass () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġfail ( actual Ġ= Ġactual ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ inline Ġval Ġ< re ified ĠT Ġ: ĠCharSequence > ĠAssertion . Builder < T >. ansi Removed : ĠDescribe able Builder < String > ĊĠĠĠ Ġget () Ġ= Ġget (" escape Ġsequences Ġremoved ") Ġ{ Ġansi Removed Ġ} Ċ Ċ inline Ġfun Ġ< re ified ĠT Ġ: ĠCharSequence > ĠBuilder < T >. ansi Removed ( no inline Ġassertions : ĠBuilder < String >. () Ġ-> ĠUnit ): ĠBuilder < T > Ġ= ĊĠĠĠ Ġwith (" escape Ġsequences Ġremoved ", Ġ{ Ġansi Removed Ġ}, Ġassertions ) Ċ