package Ġn ol ambda . link router . android . extra . caller Ċ Ċ import Ġio . kot est . core . spec . style . Behavior Spec Ċ import Ġio . kot est . matchers . shouldBe Ċ import Ġn ol ambda . link router . android . Abstract App Router Ċ import Ġn ol ambda . link router . android . test . Test Route Ċ Ċ class ĠCall er App Router Spec Ġ: ĠBehavior Spec ({ ĊĠĠĠ ĠGiven (" Router Ġwith Ġcaller Ġmiddleware ") Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtest Router Ġ= Ġobject Ġ: ĠAbstract App Router < String >( Caller Provider Middleware Ġ{ Ġ_, Ġcaller Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcaller Ġas ĠString ĊĠĠĠĠĠĠĠ Ġ}) Ġ{} ĊĊĠĠĠĠĠĠĠ ĠWhen (" Call Ġwith Ġstring Ġcaller ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcaller Ġ= Ġ" Caller " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrouter Ġ= ĠCall er App Router ( test Router , Ġcaller ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtest Route Ġ= ĠTest Route () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġextra : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Router . register ( test Route ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġextra Ġ= Ġit . extra ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrouter . push ( test Route ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠThen (" The Ġextra Ġshould Ġbe Ġthe Ġcaller ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġextra ĠshouldBe Ġcaller ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ })