/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 1 7 ĠJetBrains Ġs . r . o . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġorg . jetbrains . kotlin . android . annot ator Ċ Ċ import Ġcom . intellij . openapi . util . io . File Util Ċ import Ġcom . intellij . util . Path Util Ċ import Ġcom . intellij . util . ui . Color Icon Ċ import Ġjunit . framework . TestCase Ċ import Ġorg . jetbrains . kotlin . android . Kotlin Android TestCase Ċ import Ġorg . jetbrains . kotlin . idea . test . Config Library Util Ċ import Ġorg . jetbrains . kotlin . test . In Text Directives Utils Ċ import Ġjava . awt . Color Ċ import Ġjava . io . File Ċ import Ġjavax . swing . Image Icon ĊĊ Ċ abstract Ġclass ĠAbstract Android G utter Icon Test Ġ: ĠKotlin Android TestCase () Ġ{ ĊĊĠĠĠ Ġfun Ġdo Test ( path : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtest File Ġ= ĠFile ( path ) ĊĠĠĠĠĠĠĠ Ġval Ġtest File Text Ġ= ĠFile Util . load File ( test File ) ĊĠĠĠĠĠĠĠ Ġval Ġwith Runtime Ġ= ĠIn Text Directives Utils . is Directive Defined ( test File Text , Ġ"// ĠWITH _ RUNTIME ") ĊĊĠĠĠĠĠĠĠ Ġval Ġdrawable Ġ= ĠIn Text Directives Utils . is Directive Defined ( test File Text , Ġ"// ĠD RAW ABLE ") ĊĠĠĠĠĠĠĠ Ġval Ġcolor Ġ= ĠIn Text Directives Utils . find List With Prefixes ( test File Text , Ġ"// ĠCOLOR : Ġ"). take If Ġ{ Ġit . isNotEmpty () Ġ} ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcomponents Ġ= Ġit . map Ġ{ Ġit . toInt ( 1 6 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColor ( components [ 0 ], Ġcomponents [ 1 ], Ġcomponents [ 2 ]) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( with Runtime ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConfig Library Util . configure Kotlin Runtime ( my Fixture . module ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcopy Resource Directory For Test ( path ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmy Fixture . copy File To Project ( test File . parent Ġ+ Ġ"/ R . java ", Ġ" gen /${ COM _ MY APP _ PACKAGE _ PATH } R . java ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsource File Ġ= Ġmy Fixture . copy File To Project ( path , Ġ" src /${ Path Util . get FileName ( path )} ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmy Fixture . configure From Existing Virtual File ( source File ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġg utter Ġ= Ġmy Fixture . find G utter s At Caret (). find Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrawable Ġ-> Ġit . icon Ġis ĠImage Icon ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Ġ!= Ġnull Ġ-> Ġ( it . icon Ġas ? ĠColor Icon )?. icon Color Ġ== Ġcolor ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠTestCase . assertNotNull ( gutter ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( with Runtime ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConfig Library Util . un Configure Kotlin Runtime ( my Fixture . module ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠCOM _ MY APP _ PACKAGE _ PATH : ĠString Ġ= Ġ" com / myapp /" ĊĠĠĠ Ġ} Ċ }