package Ġdev . al pas . tests . views Ċ Ċ import Ġdev . al pas . AppConfig Ċ import Ġdev . al pas . Environment Ċ import Ġdev . al pas . Package ClassLoader Ċ import Ġdev . al pas . http . Http Call Ċ import Ġdev . al pas . make Ċ import Ġdev . al pas . validation . Shared Data Bag Ċ import Ġdev . al pas . view . Custom Tags Ċ import Ġdev . al pas . view . View Config Ċ import Ġdev . al pas . view . View Renderer Ċ import Ġio . mock k . mock k Ċ import Ġorg . junit . jupiter . api . Assertions . assertEquals Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . api . Test Instance Ċ Ċ @ Test Instance ( Test Instance . Lifecycle . PER _ CLASS ) Ċ class ĠCustom Tags Test Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` can Ġregister Ġand Ġrender Ġa Ġcustom Ġtag `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġapp Ġ= ĠA lp as Test () ĊĠĠĠĠĠĠĠ Ġbind Dependencies ( app ) ĊĠĠĠĠĠĠĠ ĠTest View ServiceProvider . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġregister ( app , ĠPackage ClassLoader ( app . src Package )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp . make < Custom Tags >(). add (" gre et ") Ġ{ Ġ"< h 1 > hello </ h 1 >" Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġboot ( app ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġshared Data Bag Ġ= ĠShared Data Bag (). apply Ġ{ Ġadd (" call " Ġto Ġmock k < Http Call >()) Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġhtml Ġ= Ġapp . make < View Renderer >(). render ("< div >{% Ġg reet Ġ%}</ div >", Ġshared Data Bag ) ĊĠĠĠĠĠĠĠ ĠassertEquals ("< div >< h 1 > hello </ h 1 ></ div >", Ġhtml ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` custom Ġtag Ġwill Ġbe Ġevaluated `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġapp Ġ= ĠA lp as Test () ĊĠĠĠĠĠĠĠ Ġbind Dependencies ( app ) ĊĠĠĠĠĠĠĠ ĠTest View ServiceProvider . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġregister ( app , ĠPackage ClassLoader ( app . src Package )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp . make < Custom Tags >(). add (" gre et ") Ġ{ Ġ"< h 1 > hello Ġ{{ Ġname Ġ}}</ h 1 >" Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġboot ( app ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġshared Data Bag Ġ= ĠShared Data Bag (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd (" name " Ġto Ġ" john ", Ġ" call " Ġto Ġmock k < Http Call >(), Ġ" time " Ġto Ġ" af tern oon ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġhtml Ġ= Ġapp . make < View Renderer >(). render ("< div >{% Ġg reet Ġ%} Ġgood Ġ{{ Ġtime Ġ}}</ div >", Ġshared Data Bag ) ĊĠĠĠĠĠĠĠ ĠassertEquals ("< div >< h 1 > hello Ġj ohn </ h 1 > Ġgood Ġaf tern oon </ div >", Ġhtml ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` custom Ġtag Ġwill Ġhave Ġaccess Ġto Ġstandard Ġfunctions `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġapp Ġ= ĠA lp as Test () ĊĠĠĠĠĠĠĠ Ġbind Dependencies ( app ) ĊĠĠĠĠĠĠĠ ĠTest View ServiceProvider . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġregister ( app , ĠPackage ClassLoader ( app . src Package )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp . make < Custom Tags >(). add (" gre et ") Ġ{ Ġ"< h 1 > hello Ġ{{ Ġname Ġ| Ġupper Ġ}}</ h 1 >" Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġboot ( app ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġshared Data Bag Ġ= ĠShared Data Bag (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd (" name " Ġto Ġ" john ", Ġ" call " Ġto Ġmock k < Http Call >(), Ġ" time " Ġto Ġ" af tern oon ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġhtml Ġ= Ġapp . make < View Renderer >(). render ("< div >{% Ġg reet Ġ%} Ġgood Ġ{{ Ġtime Ġ}}</ div >", Ġshared Data Bag ) ĊĠĠĠĠĠĠĠ ĠassertEquals ("< div >< h 1 > hello ĠJ O HN </ h 1 > Ġgood Ġaf tern oon </ div >", Ġhtml ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġbind Dependencies ( app : ĠA lp as Test ): ĠEnvironment Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠTest Env ( emptyList ()). also Ġ{ Ġenv Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp . bind ( Environment :: class , Ġenv ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp . bind ( AppConfig :: class , ĠApp Config ( env )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp . bind ( View Config :: class , ĠView Config ( env )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ