package Ġio . gitlab . art urb os ch . de te kt . rules . coroutines Ċ Ċ import Ġio . gitlab . art urb os ch . de te kt . api . Config Ċ import Ġio . gitlab . art urb os ch . de te kt . test . assertThat Ċ import Ġio . gitlab . art urb os ch . de te kt . test . compile And Lint Ċ import Ġorg . junit . jupiter . api . DisplayName Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ class ĠGlobal Coroutine Usage Spec Ġ{ ĊĠĠĠ Ġval Ġsubject Ġ= ĠGlobal Coroutine Usage ( Config . empty ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ DisplayName (" should Ġreport ĠGlobal Scope . launch ") ĊĠĠĠ Ġfun Ġreport Global Scope Launch () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġkotlinx . coroutines . delay ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġkotlinx . coroutines . Global Scope ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġkotlinx . coroutines . launch ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġfoo () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGlobal Scope . launch Ġ{ Ġdelay ( 1 _ 0 0 0 L ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ ĠassertThat ( subject . compile And Lint ( code )). has Size ( 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ DisplayName (" should Ġreport ĠGlobal Scope . async ") ĊĠĠĠ Ġfun Ġreport Global Scope Async () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġkotlinx . coroutines . async ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġkotlinx . coroutines . delay ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġkotlinx . coroutines . Global Scope ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġfoo () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGlobal Scope . async Ġ{ Ġdelay ( 1 _ 0 0 0 L ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ ĠassertThat ( subject . compile And Lint ( code )). has Size ( 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġnot Ġreport Ġbar ( Global Scope )` () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġkotlinx . coroutines . Coroutine Scope ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġkotlinx . coroutines . Global Scope ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġbar ( scope : ĠCor outine Scope ) Ġ= ĠUnit ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġfoo () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbar ( Global Scope ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ ĠassertThat ( subject . compile And Lint ( code )). isEmpty () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġnot Ġreport Ġ' val Ġscope Ġ= ĠGlobal Scope '` () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġkotlinx . coroutines . Coroutine Scope ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġkotlinx . coroutines . Global Scope ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġbar ( scope : ĠCor outine Scope ) Ġ= ĠUnit ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġfoo () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġscope Ġ= ĠGlobal Scope ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbar ( scope ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ ĠassertThat ( subject . compile And Lint ( code )). isEmpty () ĊĠĠĠ Ġ} Ċ } Ċ