11package processing.app
22
3+ import kotlinx.coroutines.joinAll
4+ import kotlinx.coroutines.runBlocking
35import org.junit.jupiter.params.ParameterizedTest
46import org.junit.jupiter.params.provider.ValueSource
57import org.mockito.ArgumentCaptor
@@ -65,8 +67,8 @@ class SchemaTest {
6567
6668 val base64 = Base64 .encode(sketch.toByteArray())
6769 Schema .handleSchema(" pde://sketch/base64/$base64 ?pde=AnotherFile:$base64 " , base)
68- val captor = ArgumentCaptor .forClass(String ::class .java)
6970
71+ val captor = ArgumentCaptor .forClass(String ::class .java)
7072 verify(base).handleOpenUntitled(captor.capture())
7173
7274 val file = File (captor.value)
@@ -82,6 +84,7 @@ class SchemaTest {
8284 @Test
8385 fun testURLSketch () {
8486 Schema .handleSchema(" pde://sketch/url/github.com/processing/processing-examples/raw/refs/heads/main/Basics/Arrays/Array/Array.pde" , base)
87+ waitForSchemeJobsToComplete()
8588
8689 val captor = ArgumentCaptor .forClass(String ::class .java)
8790 verify(base).handleOpenUntitled(captor.capture())
@@ -104,6 +107,7 @@ class SchemaTest {
104107 ])
105108 fun testURLSketchWithFile (file : String ){
106109 Schema .handleSchema(" pde://sketch/url/github.com/processing/processing-examples/raw/refs/heads/main/Basics/Arrays/ArrayObjects/ArrayObjects.pde?pde=$file " , base)
110+ waitForSchemeJobsToComplete()
107111
108112 val captor = ArgumentCaptor .forClass(String ::class .java)
109113 verify(base).handleOpenUntitled(captor.capture())
@@ -126,4 +130,10 @@ class SchemaTest {
126130 Preferences .save()
127131 }
128132 }
133+
134+ fun waitForSchemeJobsToComplete (){
135+ runBlocking {
136+ joinAll(* Schema .jobs.toTypedArray())
137+ }
138+ }
129139}
0 commit comments