package Ġorg . jetbrains . dok ka . it . gradle Ċ Ċ import Ġorg . gradle . test kit . runner . Task Outcome Ċ import Ġorg . junit . runners . Parameterized . Parameters Ċ import Ġjava . io . File Ċ import Ġkotlin . test .* Ċ Ċ class ĠJs IR Gradle IntegrationTest ( override Ġval Ġversions : ĠBuild Versions ) Ġ: ĠAbstract Gradle IntegrationTest () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ get : Jvm Static ĊĠĠĠĠĠĠĠ Ġ@ get : Parameters ( name Ġ= Ġ"{ 0 }") ĊĠĠĠĠĠĠĠ Ġval Ġversions Ġ= ĠBuild Versions . per mutations ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgradle Versions Ġ= ĠlistOf (" 7 . 2 ", Ġ* if Ex haustive (" 7 . 0 ")), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkotlin Versions Ġ= ĠlistOf (" 1 . 5 . 0 ", Ġ" 1 . 5 . 3 0 ", Ġ" 1 . 5 . 3 1 ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġreact Version Arg Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠ Ġ" 1 . 5 . 0 " Ġto Ġ"- P dok ka _ it _ react _ kotlin _ version = 5 . 2 . 0 - pre . 2 0 2 - kotlin - 1 . 5 . 0 ", ĊĠĠĠĠĠĠĠ Ġ" 1 . 5 . 3 0 " Ġto Ġ"- P dok ka _ it _ react _ kotlin _ version = 5 . 2 . 0 - pre . 2 4 6 - kotlin - 1 . 5 . 3 0 ", ĊĠĠĠĠĠĠĠ Ġ" 1 . 5 . 3 1 " Ġto Ġ"- P dok ka _ it _ react _ kotlin _ version = 5 . 2 . 0 - pre . 2 5 1 - kotlin - 1 . 5 . 3 1 " ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Before Test ĊĠĠĠ Ġfun Ġprepare Project Files () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtemplate Project Dir Ġ= ĠFile (" projects ", Ġ" it - js - ir - 0 ") ĊĊĠĠĠĠĠĠĠ Ġtemplate Project Dir . list Files (). or Empty () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . isFile Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Not Ġ{ Ġit . name Ġ== Ġ" local . properties " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Not Ġ{ Ġit . name . startsWith (" gradle w ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ Ġtop Level File Ġ-> Ġtop Level File . copy To ( File ( project Dir , Ġtop Level File . name )) Ġ} ĊĊĠĠĠĠĠĠĠ ĠFile ( template Project Dir , Ġ" src "). copy Re cursively ( File ( project Dir , Ġ" src ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġexecute () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġreact Property Arg Ġ= Ġreact Version Arg [ versions . kotlin Version ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġthrow ĠIllegalStateException (" Unspecified Ġversion Ġof Ġreact Ġfor Ġkotlin Ġ" Ġ+ Ġversions . kotlin Version ) ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġcreate Gradle Runner ( react Property Arg , Ġ" dok ka Html ", Ġ"- i ", Ġ"- s "). build Rel ax ed () ĊĠĠĠĠĠĠĠ ĠassertEquals ( Task Outcome . SUCCESS , ĠassertNotNull ( result . task (": dok ka Html ")). outcome ) ĊĊĠĠĠĠĠĠĠ Ġval Ġhtml Output Dir Ġ= ĠFile ( project Dir , Ġ" build / dok ka / html ") ĊĠĠĠĠĠĠĠ ĠassertTrue ( html Output Dir . isDirectory , Ġ" Missing Ġhtml Ġoutput Ġdirectory ") ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhtml Output Dir . all Html Files (). count () Ġ> Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Expected Ġhtml Ġfiles Ġin Ġhtml Ġoutput Ġdirectory " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġhtml Output Dir . all Html Files (). forEach Ġ{ Ġfile Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Contains NoError Class ( file ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Href To Missing Local File Or Directory ( file ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert NoUn resolved Links ( file ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Empty Links ( file ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Empty Spans ( file ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }