/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 1 5 Ġ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 Ċ Ċ import Ġcom . intellij . code Insight . Target Element Util Ċ import Ġcom . intellij . code Insight . navigation . actions . G oto Declaration Action Ċ import Ġcom . intellij . psi . xml . Xml AttributeValue Ċ import Ġorg . jetbrains . kotlin . descriptors . Property Descriptor Ċ import Ġorg . jetbrains . kotlin . idea . cache s . resolve . resolve To Call Ċ import Ġorg . jetbrains . kotlin . psi . Kt Element Ċ Ċ abstract Ġclass ĠAbstract Android G oto Test Ġ: ĠKotlin Android TestCase () Ġ{ ĊĊĠĠĠ Ġfun Ġdo Test ( path : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcopy Resource Directory For Test ( path ) ĊĠĠĠĠĠĠĠ Ġval Ġvirtual File Ġ= Ġmy Fixture . copy File To Project ( path Ġ+ Ġget Test Name ( true ) Ġ+ Ġ". kt ", Ġ" src /" Ġ+ Ġget Test Name ( true ) Ġ+ Ġ". kt ") ĊĠĠĠĠĠĠĠ Ġmy Fixture . configure From Existing Virtual File ( virtual File ) ĊĊĠĠĠĠĠĠĠ Ġval Ġexpression Ġ= ĠTarget Element Util . find Reference ( my Fixture . editor , Ġmy Fixture . caret Offset ) !!. element Ġas ĠK t Element ĊĠĠĠĠĠĠĠ Ġval Ġresolved Call Ġ= Ġexpression . resolve To Call () !! ĊĠĠĠĠĠĠĠ Ġval Ġproperty Ġ= Ġresolved Call . result ing Descriptor Ġas ? ĠProperty Descriptor Ġ?: Ġthrow ĠAssertionError (" Property Descriptor Ġexpected ") ĊĊĠĠĠĠĠĠĠ Ġval Ġtarget Element Ġ= ĠG oto Declaration Action . find Target Element ( my Fixture . project , Ġmy Fixture . editor , Ġmy Fixture . caret Offset ) !! ĊĊĠĠĠĠĠĠĠ Ġassert ( target Element Ġis ĠXml AttributeValue ) Ġ{ Ġ" Xml AttributeValue Ġexpected , Ġgot Ġ${ target Element :: class . java }" Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ("@ + id /${ property . name }", Ġ( target Element Ġas ĠXml AttributeValue ). value ) ĊĠĠĠ Ġ} Ċ }