// ĠCopyright Ġ 2 0 0 0 - 2 0 1 8 ĠJetBrains Ġs . r . o . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ package Ġcom . intellij . test Gui Framework . util Ċ Ċ import Ġorg . fest . swing . exception . Wait Timed Out Error Ċ Ċ /* ĊĠ ĠWait Ġfor Ġ@ condition Ġduring Ġ@ time Out Seconds Ċ Ġ*/ Ċ inline Ġfun ĠwaitFor ( time Out Seconds : ĠInt Ġ= Ġ 5 , Ġinterval Millis : ĠLong Ġ= Ġ 5 0 0 , Ġcross inline Ġcondition : Ġ() Ġ-> ĠBoolean ) Ġ{ ĊĠ Ġval ĠendTime Ġ= ĠSystem . currentTimeMillis () Ġ+ Ġtime Out Seconds Ġ* Ġ 1 0 0 0 ĊĠ Ġwhile Ġ( System . currentTimeMillis () Ġ< ĠendTime ) Ġ{ ĊĠĠĠ Ġif Ġ( condition ()) Ġ{ ĊĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠ ĠThread . sleep ( interval Millis ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĠ Ġthrow ĠWait Timed Out Error (" Failed Ġto Ġwait Ġfor Ġcondition Ġin Ġ$ time Out Seconds Ġseconds ") Ċ } Ċ Ċ fun Ġattempt ( times : ĠInt , Ġfunc : Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠ Ġvar Ġexception : ĠException ? Ġ= Ġnull ĊĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġtimes ) Ġ{ ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠ Ġreturn Ġfunc () ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠ Ġif Ġ( exception Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġexception Ġ= Ġe ĊĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġexception . add Sup pressed ( e ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĠ Ġthrow Ġexception !! Ċ }