1
1
package processing.app
2
2
3
+ import kotlinx.coroutines.joinAll
4
+ import kotlinx.coroutines.runBlocking
3
5
import org.junit.jupiter.params.ParameterizedTest
4
6
import org.junit.jupiter.params.provider.ValueSource
5
7
import org.mockito.ArgumentCaptor
@@ -65,8 +67,8 @@ class SchemaTest {
65
67
66
68
val base64 = Base64 .encode(sketch.toByteArray())
67
69
Schema .handleSchema(" pde://sketch/base64/$base64 ?pde=AnotherFile:$base64 " , base)
68
- val captor = ArgumentCaptor .forClass(String ::class .java)
69
70
71
+ val captor = ArgumentCaptor .forClass(String ::class .java)
70
72
verify(base).handleOpenUntitled(captor.capture())
71
73
72
74
val file = File (captor.value)
@@ -82,6 +84,7 @@ class SchemaTest {
82
84
@Test
83
85
fun testURLSketch () {
84
86
Schema .handleSchema(" pde://sketch/url/github.com/processing/processing-examples/raw/refs/heads/main/Basics/Arrays/Array/Array.pde" , base)
87
+ waitForSchemeJobsToComplete()
85
88
86
89
val captor = ArgumentCaptor .forClass(String ::class .java)
87
90
verify(base).handleOpenUntitled(captor.capture())
@@ -104,6 +107,7 @@ class SchemaTest {
104
107
])
105
108
fun testURLSketchWithFile (file : String ){
106
109
Schema .handleSchema(" pde://sketch/url/github.com/processing/processing-examples/raw/refs/heads/main/Basics/Arrays/ArrayObjects/ArrayObjects.pde?pde=$file " , base)
110
+ waitForSchemeJobsToComplete()
107
111
108
112
val captor = ArgumentCaptor .forClass(String ::class .java)
109
113
verify(base).handleOpenUntitled(captor.capture())
@@ -126,4 +130,10 @@ class SchemaTest {
126
130
Preferences .save()
127
131
}
128
132
}
133
+
134
+ fun waitForSchemeJobsToComplete (){
135
+ runBlocking {
136
+ joinAll(* Schema .jobs.toTypedArray())
137
+ }
138
+ }
129
139
}
0 commit comments