scratch-gui 4.0.13 → 4.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,671 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuites name="jest tests" tests="289" failures="0" time="8.419">
3
+ <testsuite name="undefined" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:27" time="0.666" tests="39">
4
+ <testcase classname=" initialState" name=" initialState" time="0.003">
5
+ </testcase>
6
+ <testcase classname=" doneCreatingProject for new project with projectId type string shows project with that id" name=" doneCreatingProject for new project with projectId type string shows project with that id" time="0">
7
+ </testcase>
8
+ <testcase classname=" doneCreatingProject for new project with projectId type number shows project with id of type number" name=" doneCreatingProject for new project with projectId type number shows project with id of type number" time="0">
9
+ </testcase>
10
+ <testcase classname=" doneCreatingProject for remix shows project with that id" name=" doneCreatingProject for remix shows project with that id" time="0.001">
11
+ </testcase>
12
+ <testcase classname=" doneCreatingProject for save as copy shows project with that id" name=" doneCreatingProject for save as copy shows project with that id" time="0">
13
+ </testcase>
14
+ <testcase classname=" onFetchedProjectData with id loads project data into vm" name=" onFetchedProjectData with id loads project data into vm" time="0.001">
15
+ </testcase>
16
+ <testcase classname=" onFetchedProjectData new loads project data into vm" name=" onFetchedProjectData new loads project data into vm" time="0">
17
+ </testcase>
18
+ <testcase classname=" onLoadedProject(LOADING_VM_WITH_ID, true, true) results in state SHOWING_WITH_ID" name=" onLoadedProject(LOADING_VM_WITH_ID, true, true) results in state SHOWING_WITH_ID" time="0">
19
+ </testcase>
20
+ <testcase classname=" onLoadedProject(LOADING_VM_WITH_ID, false, true) results in state SHOWING_WITH_ID" name=" onLoadedProject(LOADING_VM_WITH_ID, false, true) results in state SHOWING_WITH_ID" time="0.001">
21
+ </testcase>
22
+ <testcase classname=" onLoadedProject(LOADING_VM_WITH_ID, false, false), with project id, results in state SHOWING_WITH_ID" name=" onLoadedProject(LOADING_VM_WITH_ID, false, false), with project id, results in state SHOWING_WITH_ID" time="0">
23
+ </testcase>
24
+ <testcase classname=" onLoadedProject(LOADING_VM_WITH_ID, false, false), with no project id, results in state SHOWING_WITHOUT_ID" name=" onLoadedProject(LOADING_VM_WITH_ID, false, false), with no project id, results in state SHOWING_WITHOUT_ID" time="0.001">
25
+ </testcase>
26
+ <testcase classname=" onLoadedProject(LOADING_VM_FILE_UPLOAD, true, true) prepares to save" name=" onLoadedProject(LOADING_VM_FILE_UPLOAD, true, true) prepares to save" time="0">
27
+ </testcase>
28
+ <testcase classname=" onLoadedProject(LOADING_VM_FILE_UPLOAD, false, true) results in state SHOWING_WITHOUT_ID" name=" onLoadedProject(LOADING_VM_FILE_UPLOAD, false, true) results in state SHOWING_WITHOUT_ID" time="0">
29
+ </testcase>
30
+ <testcase classname=" onLoadedProject(LOADING_VM_FILE_UPLOAD, false, false), when we know project id, results in state SHOWING_WITH_ID" name=" onLoadedProject(LOADING_VM_FILE_UPLOAD, false, false), when we know project id, results in state SHOWING_WITH_ID" time="0">
31
+ </testcase>
32
+ <testcase classname=" onLoadedProject(LOADING_VM_FILE_UPLOAD, false, false), when we don&apos;t know project id, results in state SHOWING_WITHOUT_ID" name=" onLoadedProject(LOADING_VM_FILE_UPLOAD, false, false), when we don&apos;t know project id, results in state SHOWING_WITHOUT_ID" time="0.001">
33
+ </testcase>
34
+ <testcase classname=" onLoadedProject(LOADING_VM_NEW_DEFAULT, true, true) results in state SHOWING_WITHOUT_ID" name=" onLoadedProject(LOADING_VM_NEW_DEFAULT, true, true) results in state SHOWING_WITHOUT_ID" time="0">
35
+ </testcase>
36
+ <testcase classname=" onLoadedProject(LOADING_VM_NEW_DEFAULT, false, true) results in state SHOWING_WITHOUT_ID" name=" onLoadedProject(LOADING_VM_NEW_DEFAULT, false, true) results in state SHOWING_WITHOUT_ID" time="0">
37
+ </testcase>
38
+ <testcase classname=" onLoadedProject(LOADING_VM_NEW_DEFAULT, false, false) results in ERROR state" name=" onLoadedProject(LOADING_VM_NEW_DEFAULT, false, false) results in ERROR state" time="0">
39
+ </testcase>
40
+ <testcase classname=" doneUpdatingProject with id results in state SHOWING_WITH_ID" name=" doneUpdatingProject with id results in state SHOWING_WITH_ID" time="0.001">
41
+ </testcase>
42
+ <testcase classname=" doneUpdatingProject with id, before copy occurs, results in state CREATING_COPY" name=" doneUpdatingProject with id, before copy occurs, results in state CREATING_COPY" time="0">
43
+ </testcase>
44
+ <testcase classname=" doneUpdatingProject with id, before new, results in state FETCHING_NEW_DEFAULT" name=" doneUpdatingProject with id, before new, results in state FETCHING_NEW_DEFAULT" time="0">
45
+ </testcase>
46
+ <testcase classname=" calling setProjectId, using with same id as already showing, results in state SHOWING_WITH_ID" name=" calling setProjectId, using with same id as already showing, results in state SHOWING_WITH_ID" time="0">
47
+ </testcase>
48
+ <testcase classname=" calling setProjectId, using different id from project already showing, results in state FETCHING_WITH_ID" name=" calling setProjectId, using different id from project already showing, results in state FETCHING_WITH_ID" time="0.001">
49
+ </testcase>
50
+ <testcase classname=" setProjectId, with same id as before, but not same type, results in FETCHING_WITH_ID because the two projectIds are not strictly equal" name=" setProjectId, with same id as before, but not same type, results in FETCHING_WITH_ID because the two projectIds are not strictly equal" time="0">
51
+ </testcase>
52
+ <testcase classname=" requestNewProject, when can&apos;t create/save, results in FETCHING_NEW_DEFAULT" name=" requestNewProject, when can&apos;t create/save, results in FETCHING_NEW_DEFAULT" time="0">
53
+ </testcase>
54
+ <testcase classname=" requestNewProject, when can create/save, results in UPDATING_BEFORE_NEW (in order to save before fetching default project)" name=" requestNewProject, when can create/save, results in UPDATING_BEFORE_NEW (in order to save before fetching default project)" time="0">
55
+ </testcase>
56
+ <testcase classname=" requestProjectUpload when project not loaded results in state LOADING_VM_FILE_UPLOAD" name=" requestProjectUpload when project not loaded results in state LOADING_VM_FILE_UPLOAD" time="0.001">
57
+ </testcase>
58
+ <testcase classname=" requestProjectUpload when showing project with id results in state LOADING_VM_FILE_UPLOAD" name=" requestProjectUpload when showing project with id results in state LOADING_VM_FILE_UPLOAD" time="0">
59
+ </testcase>
60
+ <testcase classname=" requestProjectUpload when showing project without id results in state LOADING_VM_FILE_UPLOAD" name=" requestProjectUpload when showing project without id results in state LOADING_VM_FILE_UPLOAD" time="0">
61
+ </testcase>
62
+ <testcase classname=" manualUpdateProject should prepare to update" name=" manualUpdateProject should prepare to update" time="0">
63
+ </testcase>
64
+ <testcase classname=" autoUpdateProject should prepare to update" name=" autoUpdateProject should prepare to update" time="0">
65
+ </testcase>
66
+ <testcase classname=" saveProjectAsCopy should save, before preparing to save as a copy" name=" saveProjectAsCopy should save, before preparing to save as a copy" time="0">
67
+ </testcase>
68
+ <testcase classname=" remixProject should prepare to remix" name=" remixProject should prepare to remix" time="0">
69
+ </testcase>
70
+ <testcase classname=" projectError from various states should show error" name=" projectError from various states should show error" time="0.002">
71
+ </testcase>
72
+ <testcase classname=" fatal projectError should show error state" name=" fatal projectError should show error state" time="0">
73
+ </testcase>
74
+ <testcase classname=" non-fatal projectError should show normal state" name=" non-fatal projectError should show normal state" time="0.004">
75
+ </testcase>
76
+ <testcase classname=" projectError when creating new while viewing project with id should go back to state SHOWING_WITH_ID" name=" projectError when creating new while viewing project with id should go back to state SHOWING_WITH_ID" time="0.001">
77
+ </testcase>
78
+ <testcase classname=" projectError when creating new while logged out, looking at default project should go back to state SHOWING_WITHOUT_ID" name=" projectError when creating new while logged out, looking at default project should go back to state SHOWING_WITHOUT_ID" time="0">
79
+ </testcase>
80
+ <testcase classname=" projectError encountered while in state FETCHING_WITH_ID results in ERROR state" name=" projectError encountered while in state FETCHING_WITH_ID results in ERROR state" time="0">
81
+ </testcase>
82
+ </testsuite>
83
+ <testsuite name="CloudManagerHOC" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:27" time="0.882" tests="15">
84
+ <testcase classname="CloudManagerHOC when it mounts, the cloud provider is set on the vm" name="CloudManagerHOC when it mounts, the cloud provider is set on the vm" time="0.043">
85
+ </testcase>
86
+ <testcase classname="CloudManagerHOC when cloudHost is missing, the cloud provider is not set on the vm" name="CloudManagerHOC when cloudHost is missing, the cloud provider is not set on the vm" time="0.005">
87
+ </testcase>
88
+ <testcase classname="CloudManagerHOC when projectID is missing, the cloud provider is not set on the vm" name="CloudManagerHOC when projectID is missing, the cloud provider is not set on the vm" time="0.003">
89
+ </testcase>
90
+ <testcase classname="CloudManagerHOC when project is not showingWithId, the cloud provider is not set on the vm" name="CloudManagerHOC when project is not showingWithId, the cloud provider is not set on the vm" time="0.003">
91
+ </testcase>
92
+ <testcase classname="CloudManagerHOC when hasCloudPermission is false, the cloud provider is not set on the vm" name="CloudManagerHOC when hasCloudPermission is false, the cloud provider is not set on the vm" time="0.002">
93
+ </testcase>
94
+ <testcase classname="CloudManagerHOC when videoSensing extension is active, the cloud provider is not set on the vm" name="CloudManagerHOC when videoSensing extension is active, the cloud provider is not set on the vm" time="0.003">
95
+ </testcase>
96
+ <testcase classname="CloudManagerHOC if the isShowingWithId prop becomes true, it sets the cloud provider on the vm" name="CloudManagerHOC if the isShowingWithId prop becomes true, it sets the cloud provider on the vm" time="0.005">
97
+ </testcase>
98
+ <testcase classname="CloudManagerHOC projectId change should not trigger cloudProvider connection unless isShowingWithId becomes true" name="CloudManagerHOC projectId change should not trigger cloudProvider connection unless isShowingWithId becomes true" time="0.005">
99
+ </testcase>
100
+ <testcase classname="CloudManagerHOC when it unmounts, the cloud provider is reset to null on the vm" name="CloudManagerHOC when it unmounts, the cloud provider is reset to null on the vm" time="0.006">
101
+ </testcase>
102
+ <testcase classname="CloudManagerHOC projectId changing should trigger cloudProvider disconnection" name="CloudManagerHOC projectId changing should trigger cloudProvider disconnection" time="0.004">
103
+ </testcase>
104
+ <testcase classname="CloudManagerHOC username changing should trigger cloudProvider disconnection" name="CloudManagerHOC username changing should trigger cloudProvider disconnection" time="0.003">
105
+ </testcase>
106
+ <testcase classname="CloudManagerHOC project without cloud data should not trigger cloud connection" name="CloudManagerHOC project without cloud data should not trigger cloud connection" time="0.001">
107
+ </testcase>
108
+ <testcase classname="CloudManagerHOC projectHasCloudData becoming true should trigger a cloud connection" name="CloudManagerHOC projectHasCloudData becoming true should trigger a cloud connection" time="0.002">
109
+ </testcase>
110
+ <testcase classname="CloudManagerHOC projectHasCloudDataUpdate becoming false should trigger cloudProvider disconnection" name="CloudManagerHOC projectHasCloudDataUpdate becoming false should trigger cloudProvider disconnection" time="0.001">
111
+ </testcase>
112
+ <testcase classname="CloudManagerHOC Entering editor mode and can&apos;t save project should disconnect cloud provider" name="CloudManagerHOC Entering editor mode and can&apos;t save project should disconnect cloud provider" time="0.002">
113
+ </testcase>
114
+ </testsuite>
115
+ <testsuite name="projectSaverHOC" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:27" time="1.739" tests="18">
116
+ <testcase classname="projectSaverHOC if canSave becomes true when showing a project with an id, project will be saved" name="projectSaverHOC if canSave becomes true when showing a project with an id, project will be saved" time="0.039">
117
+ </testcase>
118
+ <testcase classname="projectSaverHOC if canSave is already true and we show a project with an id, project will NOT be saved" name="projectSaverHOC if canSave is already true and we show a project with an id, project will NOT be saved" time="0.005">
119
+ </testcase>
120
+ <testcase classname="projectSaverHOC if canSave is false when showing a project without an id, project will NOT be created" name="projectSaverHOC if canSave is false when showing a project without an id, project will NOT be created" time="0.003">
121
+ </testcase>
122
+ <testcase classname="projectSaverHOC if canCreateNew becomes true when showing a project without an id, project will be created" name="projectSaverHOC if canCreateNew becomes true when showing a project without an id, project will be created" time="0.003">
123
+ </testcase>
124
+ <testcase classname="projectSaverHOC if canCreateNew is true and we transition to showing new project, project will be created" name="projectSaverHOC if canCreateNew is true and we transition to showing new project, project will be created" time="0.003">
125
+ </testcase>
126
+ <testcase classname="projectSaverHOC if we enter creating new state, vm project should be requested" name="projectSaverHOC if we enter creating new state, vm project should be requested" time="0.003">
127
+ </testcase>
128
+ <testcase classname="projectSaverHOC if we enter remixing state, vm project should be requested, and alert should show" name="projectSaverHOC if we enter remixing state, vm project should be requested, and alert should show" time="0.003">
129
+ </testcase>
130
+ <testcase classname="projectSaverHOC if we enter creating copy state, vm project should be requested, and alert should show" name="projectSaverHOC if we enter creating copy state, vm project should be requested, and alert should show" time="0.004">
131
+ </testcase>
132
+ <testcase classname="projectSaverHOC if we enter updating/saving state, vm project should be requested" name="projectSaverHOC if we enter updating/saving state, vm project should be requested" time="0.005">
133
+ </testcase>
134
+ <testcase classname="projectSaverHOC if we are already in updating/saving state, vm project should NOT requested, alert should NOT show" name="projectSaverHOC if we are already in updating/saving state, vm project should NOT requested, alert should NOT show" time="0.005">
135
+ </testcase>
136
+ <testcase classname="projectSaverHOC if user saves, inline saving alert should show" name="projectSaverHOC if user saves, inline saving alert should show" time="0.014">
137
+ </testcase>
138
+ <testcase classname="projectSaverHOC if project is changed, it should autosave after interval" name="projectSaverHOC if project is changed, it should autosave after interval" time="0.005">
139
+ </testcase>
140
+ <testcase classname="projectSaverHOC if project is changed several times in a row, it should only autosave once" name="projectSaverHOC if project is changed several times in a row, it should only autosave once" time="0.006">
141
+ </testcase>
142
+ <testcase classname="projectSaverHOC if project is not changed, it should not autosave after interval" name="projectSaverHOC if project is not changed, it should not autosave after interval" time="0.003">
143
+ </testcase>
144
+ <testcase classname="projectSaverHOC when starting to remix, onRemixing should be called with param true" name="projectSaverHOC when starting to remix, onRemixing should be called with param true" time="0.005">
145
+ </testcase>
146
+ <testcase classname="projectSaverHOC when starting to remix, onRemixing should be called with param false" name="projectSaverHOC when starting to remix, onRemixing should be called with param false" time="0.008">
147
+ </testcase>
148
+ <testcase classname="projectSaverHOC uses onSetProjectThumbnailer on mount/unmount" name="projectSaverHOC uses onSetProjectThumbnailer on mount/unmount" time="0.015">
149
+ </testcase>
150
+ <testcase classname="projectSaverHOC uses onSetProjectSaver on mount/unmount" name="projectSaverHOC uses onSetProjectSaver on mount/unmount" time="0.007">
151
+ </testcase>
152
+ </testsuite>
153
+ <testsuite name="undefined" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:28" time="0.221" tests="16">
154
+ <testcase classname=" initialState" name=" initialState" time="0">
155
+ </testcase>
156
+ <testcase classname=" addMonitorRect" name=" addMonitorRect" time="0.001">
157
+ </testcase>
158
+ <testcase classname=" addMonitorRectWithSavedPosition" name=" addMonitorRectWithSavedPosition" time="0">
159
+ </testcase>
160
+ <testcase classname=" invalidRect" name=" invalidRect" time="0.006">
161
+ </testcase>
162
+ <testcase classname=" invalidAddMonitorRect" name=" invalidAddMonitorRect" time="0">
163
+ </testcase>
164
+ <testcase classname=" moveMonitorRect" name=" moveMonitorRect" time="0.001">
165
+ </testcase>
166
+ <testcase classname=" invalidMoveMonitorRect" name=" invalidMoveMonitorRect" time="0.004">
167
+ </testcase>
168
+ <testcase classname=" resizeMonitorRect" name=" resizeMonitorRect" time="0.001">
169
+ </testcase>
170
+ <testcase classname=" invalidResizeMonitorRect" name=" invalidResizeMonitorRect" time="0.001">
171
+ </testcase>
172
+ <testcase classname=" removeMonitorRect" name=" removeMonitorRect" time="0">
173
+ </testcase>
174
+ <testcase classname=" invalidRemoveMonitorRect" name=" invalidRemoveMonitorRect" time="0">
175
+ </testcase>
176
+ <testcase classname=" getInitialPosition_lineUpTopLeft" name=" getInitialPosition_lineUpTopLeft" time="0.001">
177
+ </testcase>
178
+ <testcase classname=" getInitialPosition_savedPosition" name=" getInitialPosition_savedPosition" time="0">
179
+ </testcase>
180
+ <testcase classname=" getInitialPosition_lineUpLeft" name=" getInitialPosition_lineUpLeft" time="0.001">
181
+ </testcase>
182
+ <testcase classname=" getInitialPosition_lineUpTop" name=" getInitialPosition_lineUpTop" time="0.002">
183
+ </testcase>
184
+ <testcase classname=" getInitialPosition_noRoom" name=" getInitialPosition_noRoom" time="0">
185
+ </testcase>
186
+ </testsuite>
187
+ <testsuite name="defineDynamicBlock" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:29" time="0.129" tests="7">
188
+ <testcase classname="defineDynamicBlock is a function" name="defineDynamicBlock is a function" time="0">
189
+ </testcase>
190
+ <testcase classname="defineDynamicBlock can define a command block with an icon" name="defineDynamicBlock can define a command block with an icon" time="0.001">
191
+ </testcase>
192
+ <testcase classname="defineDynamicBlock can define a command block without an icon" name="defineDynamicBlock can define a command block without an icon" time="0.001">
193
+ </testcase>
194
+ <testcase classname="defineDynamicBlock can define a terminal command" name="defineDynamicBlock can define a terminal command" time="0">
195
+ </testcase>
196
+ <testcase classname="defineDynamicBlock can define a reporter" name="defineDynamicBlock can define a reporter" time="0.001">
197
+ </testcase>
198
+ <testcase classname="defineDynamicBlock can define a Boolean" name="defineDynamicBlock can define a Boolean" time="0">
199
+ </testcase>
200
+ <testcase classname="defineDynamicBlock can define a hat" name="defineDynamicBlock can define a hat" time="0">
201
+ </testcase>
202
+ </testsuite>
203
+ <testsuite name="CloudProvider" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:29" time="0.117" tests="13">
204
+ <testcase classname="CloudProvider createVariable" name="CloudProvider createVariable" time="0.001">
205
+ </testcase>
206
+ <testcase classname="CloudProvider updateVariable" name="CloudProvider updateVariable" time="0">
207
+ </testcase>
208
+ <testcase classname="CloudProvider updateVariable with falsey value" name="CloudProvider updateVariable with falsey value" time="0">
209
+ </testcase>
210
+ <testcase classname="CloudProvider renameVariable" name="CloudProvider renameVariable" time="0.001">
211
+ </testcase>
212
+ <testcase classname="CloudProvider deleteVariable" name="CloudProvider deleteVariable" time="0">
213
+ </testcase>
214
+ <testcase classname="CloudProvider onMessage set" name="CloudProvider onMessage set" time="0">
215
+ </testcase>
216
+ <testcase classname="CloudProvider onMessage with newline at the end" name="CloudProvider onMessage with newline at the end" time="0">
217
+ </testcase>
218
+ <testcase classname="CloudProvider onMessage with multiple commands" name="CloudProvider onMessage with multiple commands" time="0.001">
219
+ </testcase>
220
+ <testcase classname="CloudProvider connnection attempts set back to 1 when socket is opened" name="CloudProvider connnection attempts set back to 1 when socket is opened" time="0">
221
+ </testcase>
222
+ <testcase classname="CloudProvider disconnect waits for a period equal to 2^k-1 before trying again" name="CloudProvider disconnect waits for a period equal to 2^k-1 before trying again" time="0.002">
223
+ </testcase>
224
+ <testcase classname="CloudProvider close after connection is opened waits 1s before reconnecting" name="CloudProvider close after connection is opened waits 1s before reconnecting" time="0">
225
+ </testcase>
226
+ <testcase classname="CloudProvider exponentialTimeout caps connection attempt number" name="CloudProvider exponentialTimeout caps connection attempt number" time="0">
227
+ </testcase>
228
+ <testcase classname="CloudProvider requestCloseConnection does not try to reconnect" name="CloudProvider requestCloseConnection does not try to reconnect" time="0.001">
229
+ </testcase>
230
+ </testsuite>
231
+ <testsuite name="VMManagerHOC" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:29" time="0.182" tests="8">
232
+ <testcase classname="VMManagerHOC when it mounts in player mode, the vm is initialized but not started" name="VMManagerHOC when it mounts in player mode, the vm is initialized but not started" time="0.012">
233
+ </testcase>
234
+ <testcase classname="VMManagerHOC when it mounts in editor mode, the vm is initialized and started" name="VMManagerHOC when it mounts in editor mode, the vm is initialized and started" time="0.002">
235
+ </testcase>
236
+ <testcase classname="VMManagerHOC if it mounts with an initialized vm, it does not reinitialize the vm but will start it" name="VMManagerHOC if it mounts with an initialized vm, it does not reinitialize the vm but will start it" time="0.002">
237
+ </testcase>
238
+ <testcase classname="VMManagerHOC if it mounts without starting the VM, it can be started by switching to editor mode" name="VMManagerHOC if it mounts without starting the VM, it can be started by switching to editor mode" time="0.002">
239
+ </testcase>
240
+ <testcase classname="VMManagerHOC if it mounts with an initialized and started VM, it does not start again" name="VMManagerHOC if it mounts with an initialized and started VM, it does not start again" time="0.002">
241
+ </testcase>
242
+ <testcase classname="VMManagerHOC if the isLoadingWithId prop becomes true, it loads project data into the vm" name="VMManagerHOC if the isLoadingWithId prop becomes true, it loads project data into the vm" time="0.002">
243
+ </testcase>
244
+ <testcase classname="VMManagerHOC if the fontsLoaded prop becomes true, it loads project data into the vm" name="VMManagerHOC if the fontsLoaded prop becomes true, it loads project data into the vm" time="0.002">
245
+ </testcase>
246
+ <testcase classname="VMManagerHOC if the fontsLoaded prop is false, project data is never loaded" name="VMManagerHOC if the fontsLoaded prop is false, project data is never loaded" time="0.002">
247
+ </testcase>
248
+ </testsuite>
249
+ <testsuite name="undefined" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:29" time="0.074" tests="10">
250
+ <testcase classname=" initialState" name=" initialState" time="0.002">
251
+ </testcase>
252
+ <testcase classname=" create one standard alert" name=" create one standard alert" time="0">
253
+ </testcase>
254
+ <testcase classname=" add several standard alerts" name=" add several standard alerts" time="0.001">
255
+ </testcase>
256
+ <testcase classname=" create one inline alert message" name=" create one inline alert message" time="0">
257
+ </testcase>
258
+ <testcase classname=" can close alerts by index" name=" can close alerts by index" time="0">
259
+ </testcase>
260
+ <testcase classname=" can close a single alert by id" name=" can close a single alert by id" time="0.001">
261
+ </testcase>
262
+ <testcase classname=" related alerts can clear each other" name=" related alerts can clear each other" time="0.004">
263
+ </testcase>
264
+ <testcase classname=" several related alerts can be cleared at once" name=" several related alerts can be cleared at once" time="0.001">
265
+ </testcase>
266
+ <testcase classname=" filterInlineAlerts only returns inline type alerts" name=" filterInlineAlerts only returns inline type alerts" time="0">
267
+ </testcase>
268
+ <testcase classname=" filterPopupAlerts returns standard and extension type alerts" name=" filterPopupAlerts returns standard and extension type alerts" time="0.001">
269
+ </testcase>
270
+ </testsuite>
271
+ <testsuite name="Menu Bar HOC" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:29" time="0.148" tests="9">
272
+ <testcase classname="Menu Bar HOC Logged in user who IS owner and HAS changed project will NOT be prompted to save" name="Menu Bar HOC Logged in user who IS owner and HAS changed project will NOT be prompted to save" time="0.022">
273
+ </testcase>
274
+ <testcase classname="Menu Bar HOC Logged in user who IS owner and has NOT changed project will NOT be prompted to save" name="Menu Bar HOC Logged in user who IS owner and has NOT changed project will NOT be prompted to save" time="0.003">
275
+ </testcase>
276
+ <testcase classname="Menu Bar HOC Logged in user who is NOT owner and HAS changed project will NOT be prompted to save" name="Menu Bar HOC Logged in user who is NOT owner and HAS changed project will NOT be prompted to save" time="0.002">
277
+ </testcase>
278
+ <testcase classname="Menu Bar HOC Logged OUT user who HAS changed project WILL be prompted to save" name="Menu Bar HOC Logged OUT user who HAS changed project WILL be prompted to save" time="0.004">
279
+ </testcase>
280
+ <testcase classname="Menu Bar HOC Logged OUT user who has NOT changed project WILL NOT be prompted to save" name="Menu Bar HOC Logged OUT user who has NOT changed project WILL NOT be prompted to save" time="0.004">
281
+ </testcase>
282
+ <testcase classname="Menu Bar HOC Logged in user who IS owner and HAS changed project SHOULD save before transition to project page" name="Menu Bar HOC Logged in user who IS owner and HAS changed project SHOULD save before transition to project page" time="0.004">
283
+ </testcase>
284
+ <testcase classname="Menu Bar HOC Logged in user who IS owner and has NOT changed project should NOT save before transition" name="Menu Bar HOC Logged in user who IS owner and has NOT changed project should NOT save before transition" time="0.004">
285
+ </testcase>
286
+ <testcase classname="Menu Bar HOC Logged in user who is NOT owner and HAS changed project should NOT save before transition" name="Menu Bar HOC Logged in user who is NOT owner and HAS changed project should NOT save before transition" time="0.015">
287
+ </testcase>
288
+ <testcase classname="Menu Bar HOC Logged in user who is NOT owner and has NOT changed project should NOT save before transition" name="Menu Bar HOC Logged in user who is NOT owner and has NOT changed project should NOT save before transition" time="0.003">
289
+ </testcase>
290
+ </testsuite>
291
+ <testsuite name="Sound Editor Container" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:28" time="1.102" tests="13">
292
+ <testcase classname="Sound Editor Container should pass the correct data to the component from the store" name="Sound Editor Container should pass the correct data to the component from the store" time="0.048">
293
+ </testcase>
294
+ <testcase classname="Sound Editor Container it plays when clicked and stops when clicked again" name="Sound Editor Container it plays when clicked and stops when clicked again" time="0.024">
295
+ </testcase>
296
+ <testcase classname="Sound Editor Container it submits name changes to the vm" name="Sound Editor Container it submits name changes to the vm" time="0.015">
297
+ </testcase>
298
+ <testcase classname="Sound Editor Container it handles an effect by submitting the result and playing" name="Sound Editor Container it handles an effect by submitting the result and playing" time="0.02">
299
+ </testcase>
300
+ <testcase classname="Sound Editor Container it handles reverse effect correctly" name="Sound Editor Container it handles reverse effect correctly" time="0.01">
301
+ </testcase>
302
+ <testcase classname="Sound Editor Container it handles louder effect correctly" name="Sound Editor Container it handles louder effect correctly" time="0.013">
303
+ </testcase>
304
+ <testcase classname="Sound Editor Container it handles softer effect correctly" name="Sound Editor Container it handles softer effect correctly" time="0.014">
305
+ </testcase>
306
+ <testcase classname="Sound Editor Container it handles faster effect correctly" name="Sound Editor Container it handles faster effect correctly" time="0.008">
307
+ </testcase>
308
+ <testcase classname="Sound Editor Container it handles slower effect correctly" name="Sound Editor Container it handles slower effect correctly" time="0.012">
309
+ </testcase>
310
+ <testcase classname="Sound Editor Container it handles echo effect correctly" name="Sound Editor Container it handles echo effect correctly" time="0.014">
311
+ </testcase>
312
+ <testcase classname="Sound Editor Container it handles robot effect correctly" name="Sound Editor Container it handles robot effect correctly" time="0.009">
313
+ </testcase>
314
+ <testcase classname="Sound Editor Container undo/redo stack state" name="Sound Editor Container undo/redo stack state" time="0.05">
315
+ </testcase>
316
+ <testcase classname="Sound Editor Container undo and redo submit new samples and play the sound" name="Sound Editor Container undo and redo submit new samples and play the sound" time="0.032">
317
+ </testcase>
318
+ </testsuite>
319
+ <testsuite name="VMListenerHOC" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:29" time="0.334" tests="7">
320
+ <testcase classname="VMListenerHOC vm green flag event is bound to the passed in prop callback" name="VMListenerHOC vm green flag event is bound to the passed in prop callback" time="0.014">
321
+ </testcase>
322
+ <testcase classname="VMListenerHOC onGreenFlag is not passed to the children" name="VMListenerHOC onGreenFlag is not passed to the children" time="0.005">
323
+ </testcase>
324
+ <testcase classname="VMListenerHOC targetsUpdate event from vm triggers targets update action" name="VMListenerHOC targetsUpdate event from vm triggers targets update action" time="0.002">
325
+ </testcase>
326
+ <testcase classname="VMListenerHOC targetsUpdate does not dispatch if the sound recorder is visible" name="VMListenerHOC targetsUpdate does not dispatch if the sound recorder is visible" time="0.002">
327
+ </testcase>
328
+ <testcase classname="VMListenerHOC PROJECT_CHANGED does dispatch if the sound recorder is visible" name="VMListenerHOC PROJECT_CHANGED does dispatch if the sound recorder is visible" time="0.002">
329
+ </testcase>
330
+ <testcase classname="VMListenerHOC PROJECT_CHANGED does not dispatch if in fullscreen mode" name="VMListenerHOC PROJECT_CHANGED does not dispatch if in fullscreen mode" time="0.002">
331
+ </testcase>
332
+ <testcase classname="VMListenerHOC keypresses go to the vm" name="VMListenerHOC keypresses go to the vm" time="0.003">
333
+ </testcase>
334
+ </testsuite>
335
+ <testsuite name="themes" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:30" time="0.237" tests="11">
336
+ <testcase classname="themes core functionality provides the default theme colors" name="themes core functionality provides the default theme colors" time="0.001">
337
+ </testcase>
338
+ <testcase classname="themes core functionality returns the dark mode" name="themes core functionality returns the dark mode" time="0">
339
+ </testcase>
340
+ <testcase classname="themes core functionality uses default theme colors when not specified" name="themes core functionality uses default theme colors when not specified" time="0">
341
+ </testcase>
342
+ <testcase classname="themes block helpers updates extension block colors based on theme" name="themes block helpers updates extension block colors based on theme" time="0.001">
343
+ </testcase>
344
+ <testcase classname="themes block helpers updates extension block icon based on theme" name="themes block helpers updates extension block icon based on theme" time="0.001">
345
+ </testcase>
346
+ <testcase classname="themes block helpers bypasses updates if using the default theme" name="themes block helpers bypasses updates if using the default theme" time="0">
347
+ </testcase>
348
+ <testcase classname="themes block helpers updates extension category based on theme" name="themes block helpers updates extension category based on theme" time="0.005">
349
+ </testcase>
350
+ <testcase classname="themes theme persistance returns the theme stored in a cookie" name="themes theme persistance returns the theme stored in a cookie" time="0.034">
351
+ </testcase>
352
+ <testcase classname="themes theme persistance returns the system theme when no cookie" name="themes theme persistance returns the system theme when no cookie" time="0.003">
353
+ </testcase>
354
+ <testcase classname="themes theme persistance persists theme to cookie" name="themes theme persistance persists theme to cookie" time="0.003">
355
+ </testcase>
356
+ <testcase classname="themes theme persistance clears theme when matching system preferences" name="themes theme persistance clears theme when matching system preferences" time="0.001">
357
+ </testcase>
358
+ </testsuite>
359
+ <testsuite name="DragRecognizer" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:30" time="0.045" tests="11">
360
+ <testcase classname="DragRecognizer start -&gt; small drag" name="DragRecognizer start -&gt; small drag" time="0.002">
361
+ </testcase>
362
+ <testcase classname="DragRecognizer start -&gt; large vertical touch move -&gt; scroll, not drag" name="DragRecognizer start -&gt; large vertical touch move -&gt; scroll, not drag" time="0">
363
+ </testcase>
364
+ <testcase classname="DragRecognizer start -&gt; large vertical mouse move -&gt; mouse moves always drag)" name="DragRecognizer start -&gt; large vertical mouse move -&gt; mouse moves always drag)" time="0.001">
365
+ </testcase>
366
+ <testcase classname="DragRecognizer start -&gt; large horizontal touch move -&gt; drag" name="DragRecognizer start -&gt; large horizontal touch move -&gt; drag" time="0">
367
+ </testcase>
368
+ <testcase classname="DragRecognizer after starting a scroll, it cannot become a drag" name="DragRecognizer after starting a scroll, it cannot become a drag" time="0">
369
+ </testcase>
370
+ <testcase classname="DragRecognizer start -&gt; end unbinds" name="DragRecognizer start -&gt; end unbinds" time="0.001">
371
+ </testcase>
372
+ <testcase classname="DragRecognizer start -&gt; end calls dragEnd callback after resetting internal state" name="DragRecognizer start -&gt; end calls dragEnd callback after resetting internal state" time="0">
373
+ </testcase>
374
+ <testcase classname="DragRecognizer start -&gt; reset unbinds" name="DragRecognizer start -&gt; reset unbinds" time="0.001">
375
+ </testcase>
376
+ <testcase classname="DragRecognizer scrolls do not call prevent default" name="DragRecognizer scrolls do not call prevent default" time="0">
377
+ </testcase>
378
+ <testcase classname="DragRecognizer confirmed drags have preventDefault called on them" name="DragRecognizer confirmed drags have preventDefault called on them" time="0.001">
379
+ </testcase>
380
+ <testcase classname="DragRecognizer multiple horizontal drag angles" name="DragRecognizer multiple horizontal drag angles" time="0">
381
+ </testcase>
382
+ </testsuite>
383
+ <testsuite name="Sound Editor Component" errors="0" failures="0" skipped="1" timestamp="2024-08-29T08:53:30" time="0.218" tests="8">
384
+ <testcase classname="Sound Editor Component matches snapshot" name="Sound Editor Component matches snapshot" time="0.018">
385
+ </testcase>
386
+ <testcase classname="Sound Editor Component delete button appears when selection is not null" name="Sound Editor Component delete button appears when selection is not null" time="0.035">
387
+ </testcase>
388
+ <testcase classname="Sound Editor Component play button appears when playhead is null" name="Sound Editor Component play button appears when playhead is null" time="0.017">
389
+ </testcase>
390
+ <testcase classname="Sound Editor Component stop button appears when playhead is not null" name="Sound Editor Component stop button appears when playhead is not null" time="0.015">
391
+ </testcase>
392
+ <testcase classname="Sound Editor Component submitting name calls the callback" name="Sound Editor Component submitting name calls the callback" time="0.012">
393
+ </testcase>
394
+ <testcase classname="Sound Editor Component effect buttons call the correct callbacks" name="Sound Editor Component effect buttons call the correct callbacks" time="0.029">
395
+ </testcase>
396
+ <testcase classname="Sound Editor Component undo and redo buttons can be disabled by canUndo/canRedo" name="Sound Editor Component undo and redo buttons can be disabled by canUndo/canRedo" time="0.035">
397
+ </testcase>
398
+ <testcase classname="Sound Editor Component undo/redo buttons call the correct callback" name="Sound Editor Component undo/redo buttons call the correct callback" time="0">
399
+ <skipped/>
400
+ </testcase>
401
+ </testsuite>
402
+ <testsuite name="Audio Effects manager" errors="0" failures="0" skipped="1" timestamp="2024-08-29T08:53:30" time="0.228" tests="7">
403
+ <testcase classname="Audio Effects manager changes buffer length and playback rate for faster effect" name="Audio Effects manager changes buffer length and playback rate for faster effect" time="0.002">
404
+ </testcase>
405
+ <testcase classname="Audio Effects manager changes buffer length and playback rate for slower effect" name="Audio Effects manager changes buffer length and playback rate for slower effect" time="0">
406
+ </testcase>
407
+ <testcase classname="Audio Effects manager changes buffer length for echo effect" name="Audio Effects manager changes buffer length for echo effect" time="0.005">
408
+ </testcase>
409
+ <testcase classname="Audio Effects manager updates the trim positions after an effect has changed the length of selection" name="Audio Effects manager updates the trim positions after an effect has changed the length of selection" time="0.001">
410
+ </testcase>
411
+ <testcase classname="Audio Effects manager process starts the offline rendering context and returns a promise" name="Audio Effects manager process starts the offline rendering context and returns a promise" time="0">
412
+ <skipped/>
413
+ </testcase>
414
+ <testcase classname="Audio Effects manager reverse effect strictly reverses the samples" name="Audio Effects manager reverse effect strictly reverses the samples" time="0.001">
415
+ </testcase>
416
+ <testcase classname="Effects all effects provide an input and output that are connected" name="Effects all effects provide an input and output that are connected" time="0.008">
417
+ </testcase>
418
+ </testsuite>
419
+ <testsuite name="computeRMS" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:30" time="0.045" tests="12">
420
+ <testcase classname="computeRMS returns 0 when given no samples" name="computeRMS returns 0 when given no samples" time="0">
421
+ </testcase>
422
+ <testcase classname="computeRMS returns the RMS scaled by the given unity value and square rooted" name="computeRMS returns the RMS scaled by the given unity value and square rooted" time="0">
423
+ </testcase>
424
+ <testcase classname="computeRMS uses a default unity value of 0.55" name="computeRMS uses a default unity value of 0.55" time="0">
425
+ </testcase>
426
+ <testcase classname="computeChunkedRMS computes the rms for each chunk based on chunk size" name="computeChunkedRMS computes the rms for each chunk based on chunk size" time="0.001">
427
+ </testcase>
428
+ <testcase classname="computeChunkedRMS chunk size larger than sample size creates single chunk" name="computeChunkedRMS chunk size larger than sample size creates single chunk" time="0">
429
+ </testcase>
430
+ <testcase classname="computeChunkedRMS chunk size as multiple is handled correctly" name="computeChunkedRMS chunk size as multiple is handled correctly" time="0">
431
+ </testcase>
432
+ <testcase classname="downsampleIfNeeded returns given data when no downsampling needed" name="downsampleIfNeeded returns given data when no downsampling needed" time="0">
433
+ </testcase>
434
+ <testcase classname="downsampleIfNeeded downsamples to 22050 if that puts it under the limit" name="downsampleIfNeeded downsamples to 22050 if that puts it under the limit" time="0.001">
435
+ </testcase>
436
+ <testcase classname="downsampleIfNeeded fails if resampling would not put it under the limit" name="downsampleIfNeeded fails if resampling would not put it under the limit" time="0">
437
+ </testcase>
438
+ <testcase classname="dropEveryOtherSample result is half the length" name="dropEveryOtherSample result is half the length" time="0">
439
+ </testcase>
440
+ <testcase classname="dropEveryOtherSample result contains only even-index items" name="dropEveryOtherSample result contains only even-index items" time="0">
441
+ </testcase>
442
+ <testcase classname="dropEveryOtherSample result sampleRate is given sampleRate / 2" name="dropEveryOtherSample result sampleRate is given sampleRate / 2" time="0">
443
+ </testcase>
444
+ </testsuite>
445
+ <testsuite name="Slider Prompt Container" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:30" time="0.235" tests="6">
446
+ <testcase classname="Slider Prompt Container Min/max are shown with decimal when isDiscrete is false" name="Slider Prompt Container Min/max are shown with decimal when isDiscrete is false" time="0.006">
447
+ </testcase>
448
+ <testcase classname="Slider Prompt Container Min/max are NOT shown with decimal when isDiscrete is true" name="Slider Prompt Container Min/max are NOT shown with decimal when isDiscrete is true" time="0.001">
449
+ </testcase>
450
+ <testcase classname="Slider Prompt Container Entering a number with a decimal submits with isDiscrete=false" name="Slider Prompt Container Entering a number with a decimal submits with isDiscrete=false" time="0.003">
451
+ </testcase>
452
+ <testcase classname="Slider Prompt Container Entering integers submits with isDiscrete=true" name="Slider Prompt Container Entering integers submits with isDiscrete=true" time="0.002">
453
+ </testcase>
454
+ <testcase classname="Slider Prompt Container Enter button submits the form" name="Slider Prompt Container Enter button submits the form" time="0.001">
455
+ </testcase>
456
+ <testcase classname="Slider Prompt Container Validates number-ness before submitting" name="Slider Prompt Container Validates number-ness before submitting" time="0.001">
457
+ </testcase>
458
+ </testsuite>
459
+ <testsuite name="SBFileUploaderHOC" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:30" time="0.372" tests="5">
460
+ <testcase classname="SBFileUploaderHOC correctly sets title with .sb3 filename" name="SBFileUploaderHOC correctly sets title with .sb3 filename" time="0.009">
461
+ </testcase>
462
+ <testcase classname="SBFileUploaderHOC correctly sets title with .sb2 filename" name="SBFileUploaderHOC correctly sets title with .sb2 filename" time="0.003">
463
+ </testcase>
464
+ <testcase classname="SBFileUploaderHOC correctly sets title with .sb filename" name="SBFileUploaderHOC correctly sets title with .sb filename" time="0.002">
465
+ </testcase>
466
+ <testcase classname="SBFileUploaderHOC sets blank title with filename with no extension" name="SBFileUploaderHOC sets blank title with filename with no extension" time="0.002">
467
+ </testcase>
468
+ <testcase classname="SBFileUploaderHOC if isLoadingUpload becomes true, without fileToUpload set, will call cancelFileUpload" name="SBFileUploaderHOC if isLoadingUpload becomes true, without fileToUpload set, will call cancelFileUpload" time="0.009">
469
+ </testcase>
470
+ </testsuite>
471
+ <testsuite name="indexForPositionOnList" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:31" time="0.055" tests="3">
472
+ <testcase classname="indexForPositionOnList returns null when not given any boxes" name="indexForPositionOnList returns null when not given any boxes" time="0">
473
+ </testcase>
474
+ <testcase classname="indexForPositionOnList wrapped list with incomplete last row LTR" name="indexForPositionOnList wrapped list with incomplete last row LTR" time="0.001">
475
+ </testcase>
476
+ <testcase classname="indexForPositionOnList wrapped list with incomplete last row RTL" name="indexForPositionOnList wrapped list with incomplete last row RTL" time="0.001">
477
+ </testcase>
478
+ </testsuite>
479
+ <testsuite name="SpriteSelectorItemComponent" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:31" time="0.179" tests="6">
480
+ <testcase classname="SpriteSelectorItemComponent matches snapshot when selected" name="SpriteSelectorItemComponent matches snapshot when selected" time="0.014">
481
+ </testcase>
482
+ <testcase classname="SpriteSelectorItemComponent matches snapshot when given a number and details to show" name="SpriteSelectorItemComponent matches snapshot when given a number and details to show" time="0.002">
483
+ </testcase>
484
+ <testcase classname="SpriteSelectorItemComponent does not have a close box when not selected" name="SpriteSelectorItemComponent does not have a close box when not selected" time="0.007">
485
+ </testcase>
486
+ <testcase classname="SpriteSelectorItemComponent triggers callback when Box component is clicked" name="SpriteSelectorItemComponent triggers callback when Box component is clicked" time="0.014">
487
+ </testcase>
488
+ <testcase classname="SpriteSelectorItemComponent triggers callback when CloseButton component is clicked" name="SpriteSelectorItemComponent triggers callback when CloseButton component is clicked" time="0.002">
489
+ </testcase>
490
+ <testcase classname="SpriteSelectorItemComponent it has a context menu with delete menu item and callback" name="SpriteSelectorItemComponent it has a context menu with delete menu item and callback" time="0.011">
491
+ </testcase>
492
+ </testsuite>
493
+ <testsuite name="SaveStatus container" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:31" time="0.137" tests="3">
494
+ <testcase classname="SaveStatus container if there are inline messages, they are shown instead of save now" name="SaveStatus container if there are inline messages, they are shown instead of save now" time="0.01">
495
+ </testcase>
496
+ <testcase classname="SaveStatus container save now is shown if there are project changes and no inline messages" name="SaveStatus container save now is shown if there are project changes and no inline messages" time="0.004">
497
+ </testcase>
498
+ <testcase classname="SaveStatus container neither is shown if there are no project changes or inline messages" name="SaveStatus container neither is shown if there are no project changes or inline messages" time="0.001">
499
+ </testcase>
500
+ </testsuite>
501
+ <testsuite name="detectLocale" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:31" time="0.033" tests="9">
502
+ <testcase classname="detectLocale uses locale from the URL when present" name="detectLocale uses locale from the URL when present" time="0.001">
503
+ </testcase>
504
+ <testcase classname="detectLocale is case insensitive" name="detectLocale is case insensitive" time="0">
505
+ </testcase>
506
+ <testcase classname="detectLocale also accepts lang from the URL when present" name="detectLocale also accepts lang from the URL when present" time="0">
507
+ </testcase>
508
+ <testcase classname="detectLocale ignores unsupported locales" name="detectLocale ignores unsupported locales" time="0">
509
+ </testcase>
510
+ <testcase classname="detectLocale ignores other parameters" name="detectLocale ignores other parameters" time="0.001">
511
+ </testcase>
512
+ <testcase classname="detectLocale uses navigator language property for default if supported" name="detectLocale uses navigator language property for default if supported" time="0">
513
+ </testcase>
514
+ <testcase classname="detectLocale ignores navigator language property if unsupported" name="detectLocale ignores navigator language property if unsupported" time="0">
515
+ </testcase>
516
+ <testcase classname="detectLocale works with an empty locale" name="detectLocale works with an empty locale" time="0">
517
+ </testcase>
518
+ <testcase classname="detectLocale if multiple, uses the first locale" name="detectLocale if multiple, uses the first locale" time="0.001">
519
+ </testcase>
520
+ </testsuite>
521
+ <testsuite name="HashParserHOC" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:31" time="0.066" tests="4">
522
+ <testcase classname="HashParserHOC when there is a hash, it passes the hash as projectId" name="HashParserHOC when there is a hash, it passes the hash as projectId" time="0.008">
523
+ </testcase>
524
+ <testcase classname="HashParserHOC when there is no hash, it passes 0 as the projectId" name="HashParserHOC when there is no hash, it passes 0 as the projectId" time="0.008">
525
+ </testcase>
526
+ <testcase classname="HashParserHOC when the hash is not a number, it passes 0 as projectId" name="HashParserHOC when the hash is not a number, it passes 0 as projectId" time="0.002">
527
+ </testcase>
528
+ <testcase classname="HashParserHOC when hash change happens, the projectId state is changed" name="HashParserHOC when hash change happens, the projectId state is changed" time="0.002">
529
+ </testcase>
530
+ </testsuite>
531
+ <testsuite name="ProjectFetcherHOC" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:31" time="0.137" tests="2">
532
+ <testcase classname="ProjectFetcherHOC when there is an id, it tries to update the store with that id" name="ProjectFetcherHOC when there is an id, it tries to update the store with that id" time="0.009">
533
+ </testcase>
534
+ <testcase classname="ProjectFetcherHOC when there is a reduxProjectId and isFetchingWithProjectId is true, it loads the project" name="ProjectFetcherHOC when there is a reduxProjectId and isFetchingWithProjectId is true, it loads the project" time="0.003">
535
+ </testcase>
536
+ </testsuite>
537
+ <testsuite name="Monitor Component" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:31" time="0.49" tests="2">
538
+ <testcase classname="Monitor Component it selects the correct colors based on default theme" name="Monitor Component it selects the correct colors based on default theme" time="0.004">
539
+ </testcase>
540
+ <testcase classname="Monitor Component it selects the correct colors based on dark mode theme" name="Monitor Component it selects the correct colors based on dark mode theme" time="0.002">
541
+ </testcase>
542
+ </testsuite>
543
+ <testsuite name="MonitorListComponent" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:31" time="0.99" tests="2">
544
+ <testcase classname="MonitorListComponent it renders the correct step size for discrete sliders" name="MonitorListComponent it renders the correct step size for discrete sliders" time="0.034">
545
+ </testcase>
546
+ <testcase classname="MonitorListComponent it renders the correct step size for non-discrete sliders" name="MonitorListComponent it renders the correct step size for non-discrete sliders" time="0.009">
547
+ </testcase>
548
+ </testsuite>
549
+ <testsuite name="SpriteSelectorItem Container" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:32" time="0.252" tests="1">
550
+ <testcase classname="SpriteSelectorItem Container should delete the sprite" name="SpriteSelectorItem Container should delete the sprite" time="0.013">
551
+ </testcase>
552
+ </testsuite>
553
+ <testsuite name="Cards component" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:32" time="0.244" tests="2">
554
+ <testcase classname="Cards component showVideos=true shows the video step" name="Cards component showVideos=true shows the video step" time="0.067">
555
+ </testcase>
556
+ <testcase classname="Cards component showVideos=false shows the title image/name instead of video step" name="Cards component showVideos=false shows the title image/name instead of video step" time="0.006">
557
+ </testcase>
558
+ </testsuite>
559
+ <testsuite name="VMListenerHOC" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:33" time="0.054" tests="4">
560
+ <testcase classname="VMListenerHOC it passes the props on initial render " name="VMListenerHOC it passes the props on initial render " time="0.01">
561
+ </testcase>
562
+ <testcase classname="VMListenerHOC it does not rerender if throttled prop is updated too soon" name="VMListenerHOC it does not rerender if throttled prop is updated too soon" time="0.002">
563
+ </testcase>
564
+ <testcase classname="VMListenerHOC it does rerender if throttled prop is updated after throttle timeout" name="VMListenerHOC it does rerender if throttled prop is updated after throttle timeout" time="0.003">
565
+ </testcase>
566
+ <testcase classname="VMListenerHOC it does rerender if a non-throttled prop is changed" name="VMListenerHOC it does rerender if a non-throttled prop is changed" time="0.002">
567
+ </testcase>
568
+ </testsuite>
569
+ <testsuite name="MenuBar Component" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:32" time="1.011" tests="3">
570
+ <testcase classname="MenuBar Component menu bar with no About handler has no About button" name="MenuBar Component menu bar with no About handler has no About button" time="0.015">
571
+ </testcase>
572
+ <testcase classname="MenuBar Component menu bar with an About handler has an About button" name="MenuBar Component menu bar with an About handler has an About button" time="0.007">
573
+ </testcase>
574
+ <testcase classname="MenuBar Component clicking on About button calls the handler" name="MenuBar Component clicking on About button calls the handler" time="0.006">
575
+ </testcase>
576
+ </testsuite>
577
+ <testsuite name="ToggleButtons" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:33" time="0.03" tests="2">
578
+ <testcase classname="ToggleButtons renders multiple buttons" name="ToggleButtons renders multiple buttons" time="0.003">
579
+ </testcase>
580
+ <testcase classname="ToggleButtons calls correct click handler" name="ToggleButtons calls correct click handler" time="0.001">
581
+ </testcase>
582
+ </testsuite>
583
+ <testsuite name="undefined" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:33" time="0.038" tests="7">
584
+ <testcase classname=" returns the tutorial ID if the urlId matches" name=" returns the tutorial ID if the urlId matches" time="0.001">
585
+ </testcase>
586
+ <testcase classname=" returns null if no matching urlId" name=" returns null if no matching urlId" time="0">
587
+ </testcase>
588
+ <testcase classname=" returns null if empty template" name=" returns null if empty template" time="0">
589
+ </testcase>
590
+ <testcase classname=" returns null if no query param" name=" returns null if no query param" time="0">
591
+ </testcase>
592
+ <testcase classname=" returns null if unrecognized template" name=" returns null if unrecognized template" time="0">
593
+ </testcase>
594
+ <testcase classname=" takes the first of multiple" name=" takes the first of multiple" time="0.001">
595
+ </testcase>
596
+ <testcase classname=" returns all for the tutorial library shortcut" name=" returns all for the tutorial library shortcut" time="0">
597
+ </testcase>
598
+ </testsuite>
599
+ <testsuite name="undefined" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:33" time="0.016" tests="3">
600
+ <testcase classname=" initialState" name=" initialState" time="0">
601
+ </testcase>
602
+ <testcase classname=" set full screen mode" name=" set full screen mode" time="0.001">
603
+ </testcase>
604
+ <testcase classname=" set player mode" name=" set player mode" time="0">
605
+ </testcase>
606
+ </testsuite>
607
+ <testsuite name="ErrorBoundary" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:33" time="0.136" tests="1">
608
+ <testcase classname="ErrorBoundary ErrorBoundary shows children before error and CrashMessageComponent after" name="ErrorBoundary ErrorBoundary shows children before error and CrashMessageComponent after" time="0.013">
609
+ </testcase>
610
+ </testsuite>
611
+ <testsuite name="IconButtonComponent" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:33" time="0.027" tests="2">
612
+ <testcase classname="IconButtonComponent matches snapshot" name="IconButtonComponent matches snapshot" time="0.002">
613
+ </testcase>
614
+ <testcase classname="IconButtonComponent triggers callback when clicked" name="IconButtonComponent triggers callback when clicked" time="0.007">
615
+ </testcase>
616
+ </testsuite>
617
+ <testsuite name="Shared Audio Context" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:33" time="0.045" tests="3">
618
+ <testcase classname="Shared Audio Context returns empty object without user gesture" name="Shared Audio Context returns empty object without user gesture" time="0.001">
619
+ </testcase>
620
+ <testcase classname="Shared Audio Context returns AudioContext when mousedown is triggered" name="Shared Audio Context returns AudioContext when mousedown is triggered" time="0.001">
621
+ </testcase>
622
+ <testcase classname="Shared Audio Context returns AudioContext when touchstart is triggered" name="Shared Audio Context returns AudioContext when touchstart is triggered" time="0">
623
+ </testcase>
624
+ </testsuite>
625
+ <testsuite name="Controls component" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:33" time="0.12" tests="2">
626
+ <testcase classname="Controls component shows turbo mode when in turbo mode" name="Controls component shows turbo mode when in turbo mode" time="0.012">
627
+ </testcase>
628
+ <testcase classname="Controls component triggers the right callbacks when clicked" name="Controls component triggers the right callbacks when clicked" time="0.003">
629
+ </testcase>
630
+ </testsuite>
631
+ <testsuite name="defaultProject" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:33" time="0.043" tests="1">
632
+ <testcase classname="defaultProject assets referenced by the project are included" name="defaultProject assets referenced by the project are included" time="0.002">
633
+ </testcase>
634
+ </testsuite>
635
+ <testsuite name="undefined" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:33" time="0.035" tests="2">
636
+ <testcase classname=" initialState" name=" initialState" time="0.001">
637
+ </testcase>
638
+ <testcase classname=" updateMetrics action creator" name=" updateMetrics action creator" time="0">
639
+ </testcase>
640
+ </testsuite>
641
+ <testsuite name="ButtonComponent" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:33" time="0.026" tests="2">
642
+ <testcase classname="ButtonComponent matches snapshot" name="ButtonComponent matches snapshot" time="0.003">
643
+ </testcase>
644
+ <testcase classname="ButtonComponent triggers callback when clicked" name="ButtonComponent triggers callback when clicked" time="0.001">
645
+ </testcase>
646
+ </testsuite>
647
+ <testsuite name="translateVideo" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:33" time="0.02" tests="4">
648
+ <testcase classname="translateVideo returns the id if it is not found" name="translateVideo returns the id if it is not found" time="0.001">
649
+ </testcase>
650
+ <testcase classname="translateVideo returns the expected id for Japanese" name="translateVideo returns the expected id for Japanese" time="0">
651
+ </testcase>
652
+ <testcase classname="translateVideo returns the expected id for English" name="translateVideo returns the expected id for English" time="0">
653
+ </testcase>
654
+ <testcase classname="translateVideo returns the English id for non-existent locales" name="translateVideo returns the English id for non-existent locales" time="0">
655
+ </testcase>
656
+ </testsuite>
657
+ <testsuite name="codePayload" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:33" time="0.035" tests="1">
658
+ <testcase classname="codePayload base64 encodes the blocks as json" name="codePayload base64 encodes the blocks as json" time="0.001">
659
+ </testcase>
660
+ </testsuite>
661
+ <testsuite name="Opcode Labels" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:33" time="0.042" tests="2">
662
+ <testcase classname="Opcode Labels day of week label" name="Opcode Labels day of week label" time="0">
663
+ </testcase>
664
+ <testcase classname="Opcode Labels unspecified opcodes default to extension category and opcode as label" name="Opcode Labels unspecified opcodes default to extension category and opcode as label" time="0.001">
665
+ </testcase>
666
+ </testsuite>
667
+ <testsuite name="SVG Font Parsing" errors="0" failures="0" skipped="0" timestamp="2024-08-29T08:53:33" time="0.046" tests="1">
668
+ <testcase classname="SVG Font Parsing Has font regexp works" name="SVG Font Parsing Has font regexp works" time="0.001">
669
+ </testcase>
670
+ </testsuite>
671
+ </testsuites>