package Ġorg . jetbrains . kotlin . spec . loader Ċ Ċ import Ġjs . external s . jquery . J Query Ċ import Ġjs . external s . jquery .` $ ` Ċ import Ġorg . jetbrains . kotlin . spec . entity . Tests Loading Info Ċ import Ġorg . jetbrains . kotlin . spec . entity . Spec Section Ċ import Ġorg . jetbrains . kotlin . spec . entity . test . parameters . test Area . Test Area Ċ import Ġorg . jetbrains . kotlin . spec . utils . format Ċ import Ġorg . jetbrains . kotlin . spec . utils . is Dev Mode Ċ import Ġorg . jetbrains . kotlin . spec . viewer . Mark Up Arr anger Ċ import Ġorg . jetbrains . kotlin . spec . viewer . Spec Coverage Highlight er Ċ import Ġkotlinx . browser . window Ċ import Ġkotlin . js . Promise Ċ Ċ class ĠSpec Tests Loader Ġ{ ĊĠĠĠ Ġprivate Ġval Ġloader Ġ= ĠLoader By Tests Map File () ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠEXCEPT ED _ SELECT ORS Ġ= Ġ". grammar - rule " ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġparagraph Selector Ġ= ĠlistOf (". paragraph ", Ġ" DL ", Ġ" UL ", Ġ" OL "). join ToString (",") ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġsection Tag Names Ġ= ĠlistOf (" H 1 ", Ġ" H 2 ", Ġ" H 3 ", Ġ" H 4 ", Ġ" H 5 ") ĊĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠLO ADING _ ICON _ PATH Ġ= Ġ"./ resources / images / loading . gif " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠLO ADING _ ICON _ HTML Ġ= Ġ"< img Ġsrc =\" $ LOADING _ ICON _ PATH \" Ġ/> " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠSET _ BRANCH _ ICON Ġ= Ġ"./ resources / images / set - branch . png " ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġnot Loaded Tests Text Ġ= Ġ" Tests Ġfor Ġ\" { 1 }\" Ġin Ġ\" ${ Github Tests Loader . get Branch ()} \" Ġbranch Ġaren 't Ġyet Ġwritten ." ĊĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠSECTION _ PATH _ SEPARATOR Ġ= Ġ", Ġ" ĊĊĠĠĠĠĠĠĠ Ġfun Ġget Button To Load Tests ( link : ĠJ Query , Ġis To Reload : ĠBoolean Ġ= Ġfalse ) Ġ= Ġwhen Ġ( is To Reload ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse Ġ-> Ġ""" ĊĠĠĠĠĠĠĠ Ġ< a Ġhref ="#" ĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata - id ="${ link . attr (" id ") }" ĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata - type ="${ link . prop (" tagName "). toString (). toLowerCase () }" ĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġclass =" load - tests " ĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle =" Show Ġtests Ġcoverage "> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< button > Load Ġtests </ button > ĊĠĠĠĠĠĠĠ Ġ</ a > """ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< button > Reload Ġtests </ button > ĠĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġinsert Load Icon ( header Element : ĠJ Query ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġheader Element . append ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuild String Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Dev Mode ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend (""" < a Ġhref ="#" Ġclass =" set - branch " Ġtitle =" The Ġcompiler Ġrepo Ġbranch Ġfrom Ġwhich Ġthe Ġtests Ġwill Ġbe Ġtaken ">< img Ġsrc ="$ SET _ BRANCH _ ICON " Ġ/></ a ></ span > """) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend ( get Button To Load Tests ( header Element )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġfun Ġget Paragraph s Info ( section Element : ĠJ Query ): ĠList < Map < String , ĠAny >> ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġnext Sibling Ġ= Ġsection Element . get (). run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( size Ġ== Ġ 0 ) Ġreturn @ get Paragraph s Info Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis [ 0 ]. nextElement Sibling ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsection Name Ġ= Ġsection Element . attr (" id ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparagraphs Map Ġ= Ġmutable ListOf < Map < String , ĠAny >>() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġparagraph Counter Ġ= Ġ 1 ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( section Name . isEmpty ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( next Sibling Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( section Tag Names . indexOf ( next Sibling . tagName ) Ġ!= Ġ- 1 ) Ġbreak ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġis Paragraph Ġ= Ġnext Sibling . matches ( paragraph Selector ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchild Paragraph Ġ= Ġnext Sibling . querySelector (". paragraph ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(( is Paragraph Ġ|| Ġchild Paragraph Ġ!= Ġnull ) Ġ&& Ġ! `$ `( next Sibling ). ` is `( EXCEPT ED _ SELECT ORS )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnext Paragraph Ġ= Ġchild Paragraph Ġ?: Ġnext Sibling ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparagraphs Map . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" paragraph Element " Ġto Ġnext Paragraph , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" sentence Count " Ġto Ġ`$ `( next Paragraph ). find (". sentence "). length . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparagraph Counter ++ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnext Sibling Ġ= Ġnext Sibling . nextElement Sibling ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġparagraphs Map ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġshow Markup () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ`$ ` (" h 2 , Ġh 3 , Ġh 4 , Ġh 5 "). each Ġ{ Ġ_, Ġsection Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsection TagName Ġ= Ġsection . tagName . toLowerCase () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsection Element Ġ= Ġ`$ `( section ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparagraphs Info Ġ= Ġget Paragraph s Info ( section Element ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn @ each Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsections Path Ġ= Ġmutable Set Of < String >(). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( section TagName Ġ== Ġ" h 3 " Ġ|| Ġsection TagName Ġ== Ġ" h 4 " Ġ|| Ġsection TagName Ġ== Ġ" h 5 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( getParent Section Name ( section Element , Ġ" h 2 ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( section TagName Ġ== Ġ" h 4 " Ġ|| Ġsection TagName Ġ== Ġ" h 5 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( getParent Section Name ( section Element , Ġ" h 3 ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( section TagName Ġ== Ġ" h 5 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( getParent Section Name ( section Element , Ġ" h 4 ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( section Element . attr (" id ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMark Up Arr anger . show Mark Up For Paragraph s ( paragraph s Info , Ġsections Path . join ToString (", Ġ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġget Nested Sections ( section Element : ĠJ Query ): ĠList < String > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġplace Current Section Level Ġ= Ġsection Tag Names . indexOf ( section Element . prop (" tagName "). toString (). toUpperCase ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġother Section Tag Names Ġ= Ġsection Tag Names . slice ( 0 .. place Current Section Level ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnested Section Tag Names Ġ= Ġsection Tag Names . slice ( place Current Section Level Ġuntil Ġsection Tag Names . size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġnext Sibling Ġ= Ġsection Element . get ()[ 0 ]. nextElement Sibling ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnested Section Ids Ġ= Ġmutable ListOf < String >() ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( next Sibling Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( other Section Tag Names . indexOf ( next Sibling . tagName ) Ġ!= Ġ- 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( nested Section Tag Names . indexOf ( next Sibling . tagName ) Ġ!= Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnested Section Ids . add ( next Sibling . getAttribute (" id ") !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnext Sibling Ġ= Ġnext Sibling . nextElement Sibling ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnested Section Ids ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġparse Test Files ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspec Section Test Set : ĠSpec Section , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Section : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsections Path : ĠList < String >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparagraphs Info : ĠList < Map < String , ĠAny >> ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpath Prefix Ġ= Ġ"${ sections Path . join ToString ( SECTION _ PATH _ SEPARATOR )} $ SECTION _ PATH _ SEPARATOR $ current Section " ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠSpec Coverage Highlight er . show Coverage Of Paragraph s ( paragraph s Info , Ġspec Section Test Set , Ġpath Prefix ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun ĠgetParent Section Name ( element : ĠJ Query , Ġtype : ĠString ) Ġ= Ġelement . prev All ( type ). first (). attr (" id ") ĊĊĠĠĠĠĠĠĠ Ġfun Ġon Set Branch Icon Click () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcurrent Branch Ġ= Ġwindow . localStorage . getItem (" spec - tests - branch ") Ġ?: ĠGithub Tests Loader . DEFAULT _ BRANCH ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnew Branch Ġ= Ġwindow . prompt (" Specify Ġthe ĠKotlin Ġcompiler Ġrepo Ġbranch Ġfrom Ġwhich Ġthe Ġspec Ġtests Ġwill Ġbe Ġtaken :", Ġcurrent Branch ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( new Branch Ġ!= Ġnull Ġ&& Ġnew Branch Ġ!= Ġcurrent Branch ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwindow . localStorage . setItem (" spec - tests - branch ", Ġnew Branch ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġload Helper File ( helper Name : ĠString , Ġtest Area : ĠTest Area ): ĠPromise < String > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠGithub Tests Loader . load Helper From Raw Github ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ helper Name . kt ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Area Ġ= Ġtest Area ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġsection Prev Loaded : ĠString ĊĠĠĠ Ġprivate Ġvar Ġoriginal Section Name : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġnumber Sections Loaded Ġ= Ġ 0 ĊĊĊĠĠĠ Ġfun Ġon Tests Loading Link Click ( link : ĠJ Query ) Ġ{ ĊĠĠĠĠĠĠĠ Ġloader . load Sections Map Files () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. then Ġ{ Ġsections Map sBy Test Area Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġload Tests ( link , Ġsections Map sBy Test Area ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġload Tests ( link : ĠJ Query , Ġsections Map sBy Test Area : ĠMap < Test Area , ĠTests Loading Info . Sections >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsection Ġ= Ġlink . parent (" h 2 , Ġh 3 , Ġh 4 , Ġh 5 ") ĊĠĠĠĠĠĠĠ Ġval Ġparagraphs Info Ġ= Ġget Paragraph s Info ( section ) ĊĠĠĠĠĠĠĠ Ġval Ġnested Sections Ġ= Ġget Nested Sections ( section ) ĊĠĠĠĠĠĠĠ Ġval Ġsection To Load Name Ġ= Ġsection . attr (" id ") ĊĠĠĠĠĠĠĠ Ġval Ġsections Path : ĠMutable List < String > Ġ= Ġmutable ListOf () ĊĠĠĠĠĠĠĠ Ġval Ġmain Sections Path Ġ= ĠgetParent Section Name ( section , Ġ" h 2 ") ĊĊĠĠĠĠĠĠĠ Ġif Ġ( original Section Name Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoriginal Section Name Ġ= Ġsection To Load Name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnumber Sections Loaded Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġlink . html ( LOADING _ ICON _ HTML ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( link . data (" type ") Ġ== Ġ" h 4 " Ġ|| Ġlink . data (" type ") Ġ== Ġ" h 5 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsections Path . add ( getParent Section Name ( section , Ġ" h 3 ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( link . data (" type ") Ġ== Ġ" h 5 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsections Path . add ( getParent Section Name ( section , Ġ" h 4 ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġloader . load Test Files ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsection To Load Name Ġ= Ġsection To Load Name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmain Section Path Ġ= Ġmain Sections Path , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsections Path Ġ= Ġsections Path , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsections Map sBy Test Area Ġ= Ġsections Map sBy Test Area ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. then Ġ{ Ġsection Test Set Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( paragraph s Info Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparse Test Files ( section Test Set , Ġsection To Load Name , Ġsections Path , Ġparagraphs Info ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink . html ( get Button To Load Tests ( link , Ġtrue )) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( original Section Name Ġ== Ġsection To Load Name ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsection . next All (". paragraph . with - tests "). first (). get ()[ 0 ]. scroll Into View () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoriginal Section Name Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsection Prev Loaded Ġ= Ġsection To Load Name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. catch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnumber Sections Loaded -- ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( original Section Name Ġ== Ġsection To Load Name ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoriginal Section Name Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsection Prev Loaded Ġ= Ġsection To Load Name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( number Sections Loaded Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwindow . alert ( not Loaded Tests Text . format ( section Prev Loaded )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink . html ( get Button To Load Tests ( link , Ġtrue )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġnested Sections . forEach Ġ{ Ġsection Id Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnumber Sections Loaded ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġload Tests (` $ ` ("# ${ section Id . replace (".", Ġ""" \\. "" ")} Ġ. load - tests "). click (), Ġsections Map sBy Test Area ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }