/* Ċ Ġ* ĠThe ĠMIT ĠLicense Ġ( MIT ) Ċ Ġ* Ċ Ġ* ĠModified Ġwork Ġcopyright Ġ( c ) Ġ 2 0 2 2 Ġnd tp Ċ Ġ* ĠOriginal Ġwork Ġcopyright Ġ( c ) Ġ 2 0 2 0 ĠShop ify ĠInc . Ċ Ġ* Ċ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ċ Ġ* Ġof Ġthis Ġsoftware Ġand Ġassociated Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ċ Ġ* Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ġrights Ċ Ġ* Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ċ Ġ* Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ċ Ġ* Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* Ċ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ċ Ġ* Ġall Ġcopies Ġor Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR Ċ Ġ* ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , Ċ Ġ* ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNONINFRINGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE Ċ Ġ* ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER Ċ Ġ* ĠLIABILITY , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , Ċ Ġ* ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN Ċ Ġ* ĠTHE ĠSOFTWARE . Ċ Ġ*/ Ċ package Ġdev . testify Ċ Ċ import Ġcom . intellij . openapi . action System . An ActionEvent Ċ import Ġcom . intellij . openapi . action System . Platform Data Keys Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġorg . jetbrains . kotlin . idea . util . project Structure . module Ċ import Ġorg . jetbrains . kotlin . psi . Kt Class Ċ import Ġorg . jetbrains . kotlin . psi . Kt File Ċ import Ġorg . jetbrains . kotlin . psi . Kt Named Function Ċ Ċ val ĠAn ActionEvent . moduleName : ĠString ĊĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpsi File Ġ= Ġthis . getData ( Platform Data Keys . P SI _ FILE ) ĊĠĠĠĠĠĠĠ Ġval Ġkt File Ġ= Ġ( psi File Ġas ? ĠK t File ) ĊĠĠĠĠĠĠĠ Ġval ĠprojectName Ġ= Ġkt File ?. project ?. name ?. replace (' Ġ', Ġ'_ ') Ġ?: Ġ"" ĊĠĠĠĠĠĠĠ Ġval ĠmoduleName Ġ= Ġkt File ?. module ?. name Ġ?: Ġ"" ĊĠĠĠĠĠĠĠ Ġreturn ĠmoduleName . remove Suffix (". android Test "). remove Prefix ("$ projectName .") ĊĠĠĠ Ġ} Ċ Ċ val ĠPsi Element . baseline Image Name : ĠString ĊĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġimage Name Ġ= Ġ" unknown " ĊĠĠĠĠĠĠĠ Ġ( this Ġas ? ĠK t Named Function )?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġc Ġ= Ġit . fq Name ?. parent ()?. short Name () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġm Ġ= Ġit . fq Name ?. short Name () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimage Name Ġ= Ġ"${ c }_ $ m . png " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġimage Name ĊĠĠĠ Ġ} Ċ Ċ val ĠPsi Element . methodName : ĠString ĊĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠmethodName Ġ= Ġ( this Ġas ? ĠK t Named Function )?. name ĊĠĠĠĠĠĠĠ Ġreturn ĠmethodName Ġ?: Ġ" unknown " ĊĠĠĠ Ġ} Ċ Ċ val ĠK t Named Function . testify Method Invocation Path : ĠString ĊĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠclassName Ġ= Ġthis . fq Name ?. parent (). toString () ĊĠĠĠĠĠĠĠ Ġval ĠmethodName Ġ= Ġthis . fq Name ?. short Name (). toString () ĊĠĠĠĠĠĠĠ Ġreturn Ġ"$ className #$ methodName " ĊĠĠĠ Ġ} Ċ Ċ val ĠK t Class . testify Class Invocation Path : ĠString ĊĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ"${ this . fq Name ?. parent ()}. ${ this . name }" ĊĠĠĠ Ġ} Ċ