import Ġorg . junit . jupiter . api . DisplayName Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġkotlin . test . assertEquals Ċ Ċ class ĠUri Filename Prefix er Pr ag matic Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġshould Ġprefix Ġthe Ġreference `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoutput Ġ= Ġpr ag matic Prefix er (" my _ prefix ", Ġ" doc . html ") ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" my _ doc . html ", Ġoutput ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ DisplayName (" un consider ed Ġedge Ġcase : Ġan ch ored Ġreference ") ĊĠĠĠ Ġfun Ġ` it Ġdoes Ġnot Ġconsider Ġan Ġan ch ored Ġreference `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoutput Ġ= Ġpr ag matic Prefix er (" foo _ bar ", Ġ" doc . html # anchor ") ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" foo _ doc . html ", Ġoutput ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ DisplayName (" un consider ed Ġedge Ġcase : Ġrelative Ġsame - dir Ġreference ") ĊĠĠĠ Ġfun Ġ` it Ġdoes Ġnot Ġconsider Ġrelative Ġsame - dir Ġreference `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoutput Ġ= Ġpr ag matic Prefix er (" lo rem _ ip sum ", Ġ"./ doc . html ") ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" lo rem _ ./ doc . html ", Ġoutput ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ DisplayName (" un consider ed Ġedge Ġcase : Ġabsolute ĠURLs ") ĊĠĠĠ Ġfun Ġ` it Ġdoes Ġnot Ġconsider Ġabsolute ĠURLs `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoutput Ġ= Ġpr ag matic Prefix er (" a _ b ", Ġ" https :// example . org / doc . html ") ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" a _ https :// example . org / doc . html ", Ġoutput ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ DisplayName (" un consider ed Ġedge Ġcase : Ġjavascript :- URLs ") ĊĠĠĠ Ġfun Ġ` it Ġdoes Ġnot Ġconsider Ġjavascript - scheme ĠURLs `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoutput Ġ= Ġpr ag matic Prefix er (" c _ d ", Ġ" javascript : alert (' foo . html ') ") ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" c _ javascript : alert (' foo . html ", Ġoutput ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ DisplayName (" un consider ed Ġedge Ġcase : Ġinvalid ĠURIs ") ĊĠĠĠ Ġfun Ġ` it Ġdoes Ġnot Ġconsider Ġinvalid ĠURIs `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoutput Ġ= Ġpr ag matic Prefix er (" e _ f ", Ġ" doc < 3 . html ") ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" e _ doc < 3 . html ", Ġoutput ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġpr ag matic Prefix er ( prefix : ĠString , Ġreference : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġindex Ġ= Ġreference . indexOf (". html ", Ġ 0 , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġval ĠfileName Ġ= Ġreference . substring ( 0 , Ġindex Ġ+ Ġ 5 ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġprefix . replace After Last ("_ ", ĠfileName ) ĊĠĠĠ Ġ} Ċ }