package Ġde . qual ers oft . robot framework . gradle plugin Ċ Ċ import Ġio . kot est . matchers . null s . be Null Ċ import Ġio . kot est . matchers . sequences . should Have Size Ċ import Ġio . kot est . matchers . should Ċ import Ġio . kot est . matchers . should Not Ċ import Ġio . kot est . matchers . string . contain Ċ import Ġorg . junit . jupiter . api . DisplayName Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . api . assert All Ċ import Ġjava . io . File Ċ import Ġjava . nio . charset . StandardCharsets Ċ Ċ open Ġclass ĠLib doc Run Test Ġ: ĠBase Robot Framework Functional Test () Ġ{ ĊĊĠ Ġoverride Ġfun Ġroot Folder (): ĠString ? Ġ{ ĊĠĠĠ Ġval Ġfa Ġ= Ġget Folder Action ĊĠĠĠ Ġreturn Ġif Ġ( null Ġ== Ġfa ) Ġnull Ġelse Ġfa () ĊĠ Ġ} ĊĊĠ Ġvar Ġget Folder Action : Ġ(() Ġ-> ĠString ? )? Ġ= Ġnull ĊĊĠ Ġ@ Test ĊĠ Ġ@ Kotlin Tag ĊĠ Ġ@ DisplayName (" When Ġrun Ġlib doc Ġfor Ġrobot - file Ġfrom Ġkotlin Ġscript , Ġa Ġdocumentation Ġshould Ġbe Ġgenerated .") ĊĠ Ġfun Ġtest Generate Doc For Robot With Kotlin () Ġ{ ĊĠĠĠ Ġget Folder Action Ġ= Ġ{ Ġ" lib doc " Ġ} ĊĠĠĠ Ġval Ġresult Ġ= Ġsetup Kotlin Test (" run _ minimal _ lib doc _ robot _ test ") ĊĠĠĠĠĠ Ġ. with Arguments (" lib doc Run ") ĊĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġrun Should Suc ceed ( result ) ĊĠĠĠ Ġcheck For Html Doc (:: check Robot Lib ) ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġ@ Gro ovy Tag ĊĠ Ġ@ DisplayName (" When Ġrun Ġlib doc Ġfor Ġrobot - file Ġfrom Ġgro ovy Ġscript , Ġa Ġdocumentation Ġshould Ġbe Ġgenerated .") ĊĠ Ġfun Ġtest Generate Doc For Robot With Gro ovy () Ġ{ ĊĠĠĠ Ġget Folder Action Ġ= Ġ{ Ġ" lib doc " Ġ} ĊĠĠĠ Ġval Ġresult Ġ= Ġsetup Gro ovy Test (" run _ minimal _ lib doc _ robot _ test ") ĊĠĠĠĠĠ Ġ. with Arguments (" lib doc Run ") ĊĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġrun Should Suc ceed ( result ) ĊĠĠĠ Ġcheck For Html Doc (:: check Robot Lib ) ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġcheck Robot Lib ( file : ĠFile ) Ġ{ ĊĠĠĠ Ġval Ġcontent Ġ= Ġfile . read Text ( StandardCharsets . UTF _ 8 ) ĊĠĠĠ Ġassert All ( ĊĠĠĠĠĠ Ġ{ Ġcontent Ġshould Ġcontain (" Suite Ġdescription ") Ġ}, ĊĠĠĠĠĠ Ġ{ Ġcontent Ġshould Ġcontain (" Write Ġstuff Ġto Ġthe Ġoutput ") Ġ} ĊĠĠĠ Ġ) ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġ@ Kotlin Tag ĊĠ Ġ@ DisplayName (" When Ġrun Ġlib doc Ġfor Ġjava - file Ġfrom Ġkotlin Ġscript , Ġa Ġdocumentation Ġshould Ġbe Ġgenerated .") ĊĠ Ġfun Ġtest Generate Doc For Java Class With Kotlin () Ġ{ ĊĠĠĠ Ġget Folder Action Ġ= Ġ{ Ġ" lib doc " Ġ} ĊĠĠĠ Ġval Ġresult Ġ= Ġsetup Kotlin Test (" run _ lib doc _ plain _ java _ test ") ĊĠĠĠĠĠ Ġ. with Arguments (" lib doc Run ") ĊĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġrun Should Suc ceed ( result ) ĊĠĠĠ Ġcheck For Html Doc (:: check Java Class ) ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġ@ Gro ovy Tag ĊĠ Ġ@ DisplayName (" When Ġrun Ġlib doc Ġfor Ġjava - file Ġfrom Ġgro ovy Ġscript , Ġa Ġdocumentation Ġshould Ġbe Ġgenerated .") ĊĠ Ġfun Ġtest Generate Doc For Java Class With Gro ovy () Ġ{ ĊĠĠĠ Ġget Folder Action Ġ= Ġ{ Ġ" lib doc " Ġ} ĊĠĠĠ Ġval Ġresult Ġ= Ġsetup Gro ovy Test (" run _ lib doc _ plain _ java _ test ") ĊĠĠĠĠĠ Ġ. with Arguments (" lib doc Run ") ĊĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġrun Should Suc ceed ( result ) ĊĠĠĠ Ġcheck For Html Doc (:: check Java Class ) ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġcheck Java Class ( file : ĠFile ) Ġ{ ĊĠĠĠ Ġval Ġcontent Ġ= Ġfile . read Text ( StandardCharsets . UTF _ 8 ) ĊĠĠĠ Ġassert All ( ĊĠĠĠĠĠ Ġ{ Ġcontent Ġshould Ġcontain (" Get ĠKeyword ĠDocumentation ") Ġ}, ĊĠĠĠĠĠ Ġ{ Ġcontent Ġshould Ġcontain (" This Ġis Ġa Ġdummy Ġkeyword ") Ġ} ĊĠĠĠ Ġ) ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġ@ Kotlin Tag ĊĠ Ġ@ DisplayName (" When Ġrun Ġlib doc Ġwith Ġjava - lib Ġfrom Ġkotlin Ġscript , Ġa Ġdocumentation Ġshould Ġbe Ġgenerated .") ĊĠ Ġfun Ġtest Lib doc For Java Lib With Kotlin () Ġ{ ĊĠĠĠ Ġget Folder Action Ġ= Ġ{ Ġ" lib doc " Ġ} ĊĠĠĠ Ġval Ġresult Ġ= Ġsetup Kotlin Test (" run _ lib doc _ java _ lib _ test ") ĊĠĠĠĠĠ Ġ. with Arguments (" assemble ", Ġ" lib doc Run ") ĊĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġrun Should Suc ceed ( result ) ĊĠĠĠ Ġcheck For Html Doc (:: check Java Lib ) ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġ@ Gro ovy Tag ĊĠ Ġ@ DisplayName (" When Ġrun Ġlib doc Ġwith Ġjava - lib Ġfrom Ġgro ovy Ġscript , Ġa Ġdocumentation Ġshould Ġbe Ġgenerated .") ĊĠ Ġfun Ġtest Lib doc For Java Lib With Gro ovy () Ġ{ ĊĠĠĠ Ġget Folder Action Ġ= Ġ{ Ġ" lib doc " Ġ} ĊĠĠĠ Ġval Ġresult Ġ= Ġsetup Gro ovy Test (" run _ lib doc _ java _ lib _ test ") ĊĠĠĠĠĠ Ġ. with Arguments (" assemble ", Ġ" lib doc Run ") ĊĠĠĠĠĠ Ġ. with Debug ( true ) ĊĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġrun Should Suc ceed ( result ) ĊĠĠĠ Ġcheck For Html Doc (:: check Java Lib ) ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġcheck Java Lib ( file : ĠFile ) Ġ{ ĊĠĠĠ Ġval Ġcontent Ġ= Ġfile . read Text ( StandardCharsets . UTF _ 8 ) ĊĠĠĠ Ġassert All ( ĊĠĠĠĠĠ Ġ{ Ġcontent Ġshould Ġcontain (" This Ġis Ġthe Ġgeneral Ġlibrary Ġdocumentation Ġof ĠAL ib .") Ġ}, ĊĠĠĠĠĠ Ġ{ Ġcontent Ġshould Ġcontain (" Say Ġhello ") Ġ}, ĊĠĠĠĠĠ Ġ{ Ġcontent Ġshould Ġcontain (" greeting ") Ġ} ĊĠĠĠ Ġ) ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġcheck For Html Doc ( content Checker : Ġ( File ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġval Ġfiles Ġ= Ġtest Project Dir . root . walk Bottom Up (). filter Ġ{ ĊĠĠĠĠĠ Ġit . isFile Ġ&& Ġit . path . let Ġ{ Ġpath Ġ-> ĊĠĠĠĠĠĠĠ Ġpath . contains (" robot doc ") Ġ&& ĊĠĠĠĠĠĠĠĠĠ Ġpath . contains (" lib doc ") Ġ&& ĊĠĠĠĠĠĠĠĠĠ Ġpath . contains (" lib doc . html ") ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfiles Ġshould Not Ġbe Null () ĊĠĠĠ Ġfiles . also Ġ{ ĊĠĠĠĠĠ Ġassert All ( ĊĠĠĠĠĠĠĠ Ġ{ Ġfiles Ġshould Have Size Ġ 1 Ġ}, ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġval Ġfile Ġ= Ġfiles . first () ĊĠĠĠĠĠĠĠĠĠ Ġcontent Checker ( file ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ