@luomus/laji-form-builder 1.0.29 → 1.0.32

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.
package/README.md CHANGED
@@ -1,4 +1,5 @@
1
1
  # laji-form-builder
2
+
2
3
  This repo is responsible for two things:
3
4
  * the **server** aka form backend which runs at https://form.laji.fi
4
5
  * the **client** which is a React component for editing forms. Available as an npm package [`laji-form-builder`](https://www.npmjs.com/package/laji-form-builder).
@@ -25,14 +26,14 @@ For documentation, see how the server uses the `Builder` component: https://gith
25
26
 
26
27
  ### Stack
27
28
 
28
- * node@14
29
+ * node
29
30
  * TypeScript
30
31
  * express
31
32
  * React
32
- * protractor (e2e tests)
33
+ * playwright (e2e tests)
33
34
  * supertest (express tests)
34
35
 
35
- Development is done against node `v14`. Might work on other versions or might not.
36
+ Correct node version is selected with `volta` or `nvm use default`.
36
37
 
37
38
  ### Install dependencies
38
39
  ```
@@ -52,9 +53,8 @@ npm start
52
53
 
53
54
  ### Tests
54
55
 
55
- Both server/client tests use jasmine. Client e2e testing is done with protractor on top of jasmine.
56
-
57
56
  #### Server
57
+
58
58
  Server is tested without having to run the server. Just run:
59
59
 
60
60
  ```
@@ -66,26 +66,30 @@ npm run test:server
66
66
  * `MOCK=true`: Field service test API requests are mocked by default.
67
67
 
68
68
  #### Client
69
- First start the development server. You might need to update the webdriver manager:
70
- ```
71
- node_modules/.bin/webdriver-manager update
72
- ```
73
69
 
74
- Then run the e2e tests:
70
+ Server can be running or or not. If it's not running, it will be automatically started.
71
+
75
72
  ```
76
73
  npm run test:client
77
74
  ```
78
75
 
79
- ##### Debugging
76
+ ##### Dependencies
80
77
 
81
- You can debug the tests by running `npm run test:client:debug`. Details in [protractor docs](https://www.protractortest.org/#/debugging).
78
+ To run the tests, you might need to install playwright dependencies:
82
79
 
80
+ ```
81
+ npx playwright install
82
+ ```
83
83
 
84
- ##### Env variables:
84
+ If you run into issues with browser dependencies etc, there's also a dockerized runner:
85
85
 
86
- * `HEADLESS=false`: Run the tests in an actual browser window instead of the headless browser. Supports only Chrome.
87
- * `TEST_BROWSER=chrome`: `firefox` will run against firefox, `multi` against both.
88
- * `THREADS=4`: How many browser instances the tests are run against.
86
+ ```
87
+ # Run all tests (builds docker image & runs it)
88
+ npm run test:docker
89
+
90
+ # Or if you want to give playwright params, run certain tests etc:
91
+ npm run test:docker -- test/client/editor.ts --project chromium
92
+ ```
89
93
 
90
94
  ### Build
91
95
 
@@ -0,0 +1,11 @@
1
+ FROM mcr.microsoft.com/playwright:v1.40.1
2
+
3
+ WORKDIR /app
4
+
5
+ # Copy application files (see .dockerignore for what's excluded)
6
+ COPY . .
7
+
8
+ # Install dependencies
9
+ RUN npm ci
10
+
11
+ ENTRYPOINT ["DOCKER_TEST_RUN=true", "npx", "playwright", "test"]
@@ -0,0 +1,10 @@
1
+ {
2
+ "apiBase": "https://api.laji.fi/v0",
3
+ "formApiBase": "http://localhost:8082/api",
4
+ "accessToken": "PZnnZYfy3GVizgGc8AnjefnHbJwlMpnH7U1NRPbxkTxKYqw9lfT1S9JcrGiTg0eo",
5
+ "googleApiKey": "AIzaSyAbAaK1YS-pSKH8wbPLiMQjWjbBnpZm1Ig",
6
+ "lajiStoreAuth": "Basic S0UuNTgxOkkxKiMneTNzLyonaiJ3QzJQSTxh",
7
+ "lajiStoreBaseUrl": "https://store.luomus.fi",
8
+ "primaryDataBankFormID": "MHL.70",
9
+ "secondaryDataBankFormID": "MHL.68"
10
+ }
@@ -0,0 +1,566 @@
1
+ <testsuites id="" name="" tests="111" failures="4" skipped="91" errors="0" time="13.406941999999999">
2
+ <testsuite name="builder.spec.ts" timestamp="2023-12-21T14:55:13.577Z" hostname="chromium" tests="8" failures="0" skipped="0" time="1.509" errors="0">
3
+ <testcase name="Builder › JSON › option is displayed" classname="builder.spec.ts" time="0.047">
4
+ </testcase>
5
+ <testcase name="Builder › JSON › can be selected" classname="builder.spec.ts" time="0.157">
6
+ </testcase>
7
+ <testcase name="Builder › JSON › builds form" classname="builder.spec.ts" time="0.988">
8
+ </testcase>
9
+ <testcase name="Builder › databank option › option is displayed" classname="builder.spec.ts" time="0.034">
10
+ </testcase>
11
+ <testcase name="Builder › lang › fi selected by default" classname="builder.spec.ts" time="0.23">
12
+ </testcase>
13
+ <testcase name="Builder › lang › changing › changes active" classname="builder.spec.ts" time="0.021">
14
+ </testcase>
15
+ <testcase name="Builder › lang › changing › changes preview form lang" classname="builder.spec.ts" time="0.013">
16
+ </testcase>
17
+ <testcase name="Builder › lang › changing › doesn&apos;t change editor UI lang" classname="builder.spec.ts" time="0.019">
18
+ </testcase>
19
+ </testsuite>
20
+ <testsuite name="editor.spec.ts" timestamp="2023-12-21T14:55:13.577Z" hostname="chromium" tests="29" failures="1" skipped="28" time="5.066" errors="0">
21
+ <testcase name="Editor › lang › fi selected by default" classname="editor.spec.ts" time="5.066">
22
+ <failure message="editor.spec.ts:20:7 fi selected by default" type="FAILURE">
23
+ <![CDATA[ [chromium] › editor.spec.ts:20:7 › Editor › lang › fi selected by default ──────────────────
24
+
25
+ Error: Timed out 5000ms waiting for expect(locator).toBeDisabled()
26
+
27
+ Locator: locator('.ljb-editor-toolbar').locator('.ljb-editor-lang-chooser').locator('button').first()
28
+ Expected: disabled
29
+ Received: enabled
30
+ Call log:
31
+ - expect.toBeDisabled with timeout 5000ms
32
+ - waiting for locator('.ljb-editor-toolbar').locator('.ljb-editor-lang-chooser').locator('button').first()
33
+ - locator resolved to <button type="button" class="active btn btn-default">fi</button>
34
+ - unexpected value "enabled"
35
+ - locator resolved to <button type="button" class="active btn btn-default">fi</button>
36
+ - unexpected value "enabled"
37
+ - locator resolved to <button type="button" class="active btn btn-default">fi</button>
38
+ - unexpected value "enabled"
39
+ - locator resolved to <button type="button" class="active btn btn-default">fi</button>
40
+ - unexpected value "enabled"
41
+ - locator resolved to <button type="button" class="active btn btn-default">fi</button>
42
+ - unexpected value "enabled"
43
+ - locator resolved to <button type="button" class="active btn btn-default">fi</button>
44
+ - unexpected value "enabled"
45
+ - locator resolved to <button type="button" class="active btn btn-default">fi</button>
46
+ - unexpected value "enabled"
47
+ - locator resolved to <button type="button" class="active btn btn-default">fi</button>
48
+ - unexpected value "enabled"
49
+ - locator resolved to <button type="button" class="active btn btn-default">fi</button>
50
+ - unexpected value "enabled"
51
+
52
+
53
+ 19 |
54
+ 20 | test("fi selected by default", async () => {
55
+ > 21 | await expect(builder.lang.$fi).toBeDisabled();
56
+ | ^
57
+ 22 | await expect(builder.lang.$fi).toHaveClass(/active/);
58
+ 23 | });
59
+ 24 |
60
+
61
+ at /home/olli/src/luomus/laji-form-builder/test/client/editor.spec.ts:21:35
62
+ ]]>
63
+ </failure>
64
+ </testcase>
65
+ <testcase name="Editor › lang › changing › changes active" classname="editor.spec.ts" time="0">
66
+ <skipped>
67
+ </skipped>
68
+ </testcase>
69
+ <testcase name="Editor › lang › changing › changes preview form lang" classname="editor.spec.ts" time="0">
70
+ <skipped>
71
+ </skipped>
72
+ </testcase>
73
+ <testcase name="Editor › lang › changing › doesn&apos;t change editor UI lang" classname="editor.spec.ts" time="0">
74
+ <skipped>
75
+ </skipped>
76
+ </testcase>
77
+ <testcase name="Editor › tabs › fields › selected by default" classname="editor.spec.ts" time="0">
78
+ <skipped>
79
+ </skipped>
80
+ </testcase>
81
+ <testcase name="Editor › tabs › fields › displays fields" classname="editor.spec.ts" time="0">
82
+ <skipped>
83
+ </skipped>
84
+ </testcase>
85
+ <testcase name="Editor › tabs › fields › expands fields when clicking field with children" classname="editor.spec.ts" time="0">
86
+ <skipped>
87
+ </skipped>
88
+ </testcase>
89
+ <testcase name="Editor › tabs › basic editor › selected by default" classname="editor.spec.ts" time="0">
90
+ <skipped>
91
+ </skipped>
92
+ </testcase>
93
+ <testcase name="Editor › tabs › basic editor › field selector displayed" classname="editor.spec.ts" time="0">
94
+ <skipped>
95
+ </skipped>
96
+ </testcase>
97
+ <testcase name="Editor › tabs › basic editor › field editor not displayed when no field selected" classname="editor.spec.ts" time="0">
98
+ <skipped>
99
+ </skipped>
100
+ </testcase>
101
+ <testcase name="Editor › tabs › basic editor › adding excludeFromCopy to field with already existing options" classname="editor.spec.ts" time="0">
102
+ <skipped>
103
+ </skipped>
104
+ </testcase>
105
+ <testcase name="Editor › tabs › UI editor › selected when clicked" classname="editor.spec.ts" time="0">
106
+ <skipped>
107
+ </skipped>
108
+ </testcase>
109
+ <testcase name="Editor › tabs › UI editor › field selector displayed" classname="editor.spec.ts" time="0">
110
+ <skipped>
111
+ </skipped>
112
+ </testcase>
113
+ <testcase name="Editor › tabs › UI editor › ui:title › when empty adding when empty adds with all langs" classname="editor.spec.ts" time="0">
114
+ <skipped>
115
+ </skipped>
116
+ </testcase>
117
+ <testcase name="Editor › tabs › UI editor › ui:title › when not empty › if value same for all, editing asks if the edition should be done for all langs" classname="editor.spec.ts" time="0">
118
+ <skipped>
119
+ </skipped>
120
+ </testcase>
121
+ <testcase name="Editor › tabs › UI editor › ui:title › when not empty › accepting updates only for selected lang" classname="editor.spec.ts" time="0">
122
+ <skipped>
123
+ </skipped>
124
+ </testcase>
125
+ <testcase name="Editor › tabs › UI editor › ui:title › when not empty › editing asks if the edition should be done for all langs after all-lang update" classname="editor.spec.ts" time="0">
126
+ <skipped>
127
+ </skipped>
128
+ </testcase>
129
+ <testcase name="Editor › tabs › UI editor › ui:title › when not empty › dismissing updates only for selected lang" classname="editor.spec.ts" time="0">
130
+ <skipped>
131
+ </skipped>
132
+ </testcase>
133
+ <testcase name="Editor › tabs › UI editor › ui:title › when not empty › clearing value clears for all langs without confirming and restores original label" classname="editor.spec.ts" time="0">
134
+ <skipped>
135
+ </skipped>
136
+ </testcase>
137
+ <testcase name="Editor › tabs › Options editor › selected when clicked" classname="editor.spec.ts" time="0">
138
+ <skipped>
139
+ </skipped>
140
+ </testcase>
141
+ <testcase name="Editor › tabs › Options editor › shows JSON tab by default" classname="editor.spec.ts" time="0">
142
+ <skipped>
143
+ </skipped>
144
+ </testcase>
145
+ <testcase name="Editor › tabs › Options editor › selecting UI editor › shows form after loaded" classname="editor.spec.ts" time="0">
146
+ <skipped>
147
+ </skipped>
148
+ </testcase>
149
+ <testcase name="Editor › tabs › Options editor › selecting UI editor › when empty adding adds with all langs" classname="editor.spec.ts" time="0">
150
+ <skipped>
151
+ </skipped>
152
+ </testcase>
153
+ <testcase name="Editor › picker › activates on click" classname="editor.spec.ts" time="0">
154
+ <skipped>
155
+ </skipped>
156
+ </testcase>
157
+ <testcase name="Editor › picker › displays highlighter" classname="editor.spec.ts" time="0">
158
+ <skipped>
159
+ </skipped>
160
+ </testcase>
161
+ <testcase name="Editor › picker › inactives on elem click" classname="editor.spec.ts" time="0">
162
+ <skipped>
163
+ </skipped>
164
+ </testcase>
165
+ <testcase name="Editor › picker › clears highlighter on elem click" classname="editor.spec.ts" time="0">
166
+ <skipped>
167
+ </skipped>
168
+ </testcase>
169
+ <testcase name="Editor › picker › selects clicked field on editor" classname="editor.spec.ts" time="0">
170
+ <skipped>
171
+ </skipped>
172
+ </testcase>
173
+ <testcase name="Editor › picker › inactivates on esc" classname="editor.spec.ts" time="0">
174
+ <skipped>
175
+ </skipped>
176
+ </testcase>
177
+ </testsuite>
178
+ <testsuite name="builder.spec.ts" timestamp="2023-12-21T14:55:13.577Z" hostname="firefox" tests="8" failures="0" skipped="0" time="1.477" errors="0">
179
+ <testcase name="Builder › JSON › option is displayed" classname="builder.spec.ts" time="0.05">
180
+ </testcase>
181
+ <testcase name="Builder › JSON › can be selected" classname="builder.spec.ts" time="0.154">
182
+ </testcase>
183
+ <testcase name="Builder › JSON › builds form" classname="builder.spec.ts" time="0.763">
184
+ </testcase>
185
+ <testcase name="Builder › databank option › option is displayed" classname="builder.spec.ts" time="0.014">
186
+ </testcase>
187
+ <testcase name="Builder › lang › fi selected by default" classname="builder.spec.ts" time="0.395">
188
+ </testcase>
189
+ <testcase name="Builder › lang › changing › changes active" classname="builder.spec.ts" time="0.041">
190
+ </testcase>
191
+ <testcase name="Builder › lang › changing › changes preview form lang" classname="builder.spec.ts" time="0.03">
192
+ </testcase>
193
+ <testcase name="Builder › lang › changing › doesn&apos;t change editor UI lang" classname="builder.spec.ts" time="0.03">
194
+ </testcase>
195
+ </testsuite>
196
+ <testsuite name="editor.spec.ts" timestamp="2023-12-21T14:55:13.577Z" hostname="firefox" tests="29" failures="1" skipped="28" time="5.03" errors="0">
197
+ <testcase name="Editor › lang › fi selected by default" classname="editor.spec.ts" time="5.03">
198
+ <failure message="editor.spec.ts:20:7 fi selected by default" type="FAILURE">
199
+ <![CDATA[ [firefox] › editor.spec.ts:20:7 › Editor › lang › fi selected by default ───────────────────
200
+
201
+ Error: Timed out 5000ms waiting for expect(locator).toBeDisabled()
202
+
203
+ Locator: locator('.ljb-editor-toolbar').locator('.ljb-editor-lang-chooser').locator('button').first()
204
+ Expected: disabled
205
+ Received: enabled
206
+ Call log:
207
+ - expect.toBeDisabled with timeout 5000ms
208
+ - waiting for locator('.ljb-editor-toolbar').locator('.ljb-editor-lang-chooser').locator('button').first()
209
+ - locator resolved to <button type="button" class="active btn btn-default">fi</button>
210
+ - unexpected value "enabled"
211
+ - locator resolved to <button type="button" class="active btn btn-default">fi</button>
212
+ - unexpected value "enabled"
213
+ - locator resolved to <button type="button" class="active btn btn-default">fi</button>
214
+ - unexpected value "enabled"
215
+ - locator resolved to <button type="button" class="active btn btn-default">fi</button>
216
+ - unexpected value "enabled"
217
+ - locator resolved to <button type="button" class="active btn btn-default">fi</button>
218
+ - unexpected value "enabled"
219
+ - locator resolved to <button type="button" class="active btn btn-default">fi</button>
220
+ - unexpected value "enabled"
221
+ - locator resolved to <button type="button" class="active btn btn-default">fi</button>
222
+ - unexpected value "enabled"
223
+ - locator resolved to <button type="button" class="active btn btn-default">fi</button>
224
+ - unexpected value "enabled"
225
+ - locator resolved to <button type="button" class="active btn btn-default">fi</button>
226
+ - unexpected value "enabled"
227
+
228
+
229
+ 19 |
230
+ 20 | test("fi selected by default", async () => {
231
+ > 21 | await expect(builder.lang.$fi).toBeDisabled();
232
+ | ^
233
+ 22 | await expect(builder.lang.$fi).toHaveClass(/active/);
234
+ 23 | });
235
+ 24 |
236
+
237
+ at /home/olli/src/luomus/laji-form-builder/test/client/editor.spec.ts:21:35
238
+ ]]>
239
+ </failure>
240
+ </testcase>
241
+ <testcase name="Editor › lang › changing › changes active" classname="editor.spec.ts" time="0">
242
+ <skipped>
243
+ </skipped>
244
+ </testcase>
245
+ <testcase name="Editor › lang › changing › changes preview form lang" classname="editor.spec.ts" time="0">
246
+ <skipped>
247
+ </skipped>
248
+ </testcase>
249
+ <testcase name="Editor › lang › changing › doesn&apos;t change editor UI lang" classname="editor.spec.ts" time="0">
250
+ <skipped>
251
+ </skipped>
252
+ </testcase>
253
+ <testcase name="Editor › tabs › fields › selected by default" classname="editor.spec.ts" time="0">
254
+ <skipped>
255
+ </skipped>
256
+ </testcase>
257
+ <testcase name="Editor › tabs › fields › displays fields" classname="editor.spec.ts" time="0">
258
+ <skipped>
259
+ </skipped>
260
+ </testcase>
261
+ <testcase name="Editor › tabs › fields › expands fields when clicking field with children" classname="editor.spec.ts" time="0">
262
+ <skipped>
263
+ </skipped>
264
+ </testcase>
265
+ <testcase name="Editor › tabs › basic editor › selected by default" classname="editor.spec.ts" time="0">
266
+ <skipped>
267
+ </skipped>
268
+ </testcase>
269
+ <testcase name="Editor › tabs › basic editor › field selector displayed" classname="editor.spec.ts" time="0">
270
+ <skipped>
271
+ </skipped>
272
+ </testcase>
273
+ <testcase name="Editor › tabs › basic editor › field editor not displayed when no field selected" classname="editor.spec.ts" time="0">
274
+ <skipped>
275
+ </skipped>
276
+ </testcase>
277
+ <testcase name="Editor › tabs › basic editor › adding excludeFromCopy to field with already existing options" classname="editor.spec.ts" time="0">
278
+ <skipped>
279
+ </skipped>
280
+ </testcase>
281
+ <testcase name="Editor › tabs › UI editor › selected when clicked" classname="editor.spec.ts" time="0">
282
+ <skipped>
283
+ </skipped>
284
+ </testcase>
285
+ <testcase name="Editor › tabs › UI editor › field selector displayed" classname="editor.spec.ts" time="0">
286
+ <skipped>
287
+ </skipped>
288
+ </testcase>
289
+ <testcase name="Editor › tabs › UI editor › ui:title › when empty adding when empty adds with all langs" classname="editor.spec.ts" time="0">
290
+ <skipped>
291
+ </skipped>
292
+ </testcase>
293
+ <testcase name="Editor › tabs › UI editor › ui:title › when not empty › if value same for all, editing asks if the edition should be done for all langs" classname="editor.spec.ts" time="0">
294
+ <skipped>
295
+ </skipped>
296
+ </testcase>
297
+ <testcase name="Editor › tabs › UI editor › ui:title › when not empty › accepting updates only for selected lang" classname="editor.spec.ts" time="0">
298
+ <skipped>
299
+ </skipped>
300
+ </testcase>
301
+ <testcase name="Editor › tabs › UI editor › ui:title › when not empty › editing asks if the edition should be done for all langs after all-lang update" classname="editor.spec.ts" time="0">
302
+ <skipped>
303
+ </skipped>
304
+ </testcase>
305
+ <testcase name="Editor › tabs › UI editor › ui:title › when not empty › dismissing updates only for selected lang" classname="editor.spec.ts" time="0">
306
+ <skipped>
307
+ </skipped>
308
+ </testcase>
309
+ <testcase name="Editor › tabs › UI editor › ui:title › when not empty › clearing value clears for all langs without confirming and restores original label" classname="editor.spec.ts" time="0">
310
+ <skipped>
311
+ </skipped>
312
+ </testcase>
313
+ <testcase name="Editor › tabs › Options editor › selected when clicked" classname="editor.spec.ts" time="0">
314
+ <skipped>
315
+ </skipped>
316
+ </testcase>
317
+ <testcase name="Editor › tabs › Options editor › shows JSON tab by default" classname="editor.spec.ts" time="0">
318
+ <skipped>
319
+ </skipped>
320
+ </testcase>
321
+ <testcase name="Editor › tabs › Options editor › selecting UI editor › shows form after loaded" classname="editor.spec.ts" time="0">
322
+ <skipped>
323
+ </skipped>
324
+ </testcase>
325
+ <testcase name="Editor › tabs › Options editor › selecting UI editor › when empty adding adds with all langs" classname="editor.spec.ts" time="0">
326
+ <skipped>
327
+ </skipped>
328
+ </testcase>
329
+ <testcase name="Editor › picker › activates on click" classname="editor.spec.ts" time="0">
330
+ <skipped>
331
+ </skipped>
332
+ </testcase>
333
+ <testcase name="Editor › picker › displays highlighter" classname="editor.spec.ts" time="0">
334
+ <skipped>
335
+ </skipped>
336
+ </testcase>
337
+ <testcase name="Editor › picker › inactives on elem click" classname="editor.spec.ts" time="0">
338
+ <skipped>
339
+ </skipped>
340
+ </testcase>
341
+ <testcase name="Editor › picker › clears highlighter on elem click" classname="editor.spec.ts" time="0">
342
+ <skipped>
343
+ </skipped>
344
+ </testcase>
345
+ <testcase name="Editor › picker › selects clicked field on editor" classname="editor.spec.ts" time="0">
346
+ <skipped>
347
+ </skipped>
348
+ </testcase>
349
+ <testcase name="Editor › picker › inactivates on esc" classname="editor.spec.ts" time="0">
350
+ <skipped>
351
+ </skipped>
352
+ </testcase>
353
+ </testsuite>
354
+ <testsuite name="builder.spec.ts" timestamp="2023-12-21T14:55:13.577Z" hostname="webkit" tests="8" failures="1" skipped="7" time="0.005" errors="0">
355
+ <testcase name="Builder › JSON › option is displayed" classname="builder.spec.ts" time="0.005">
356
+ <failure message="builder.spec.ts:20:7 option is displayed" type="FAILURE">
357
+ <![CDATA[ [webkit] › builder.spec.ts:20:7 › Builder › JSON › option is displayed ─────────────────────
358
+
359
+ Error: browserType.launch:
360
+ ╔══════════════════════════════════════════════════════╗
361
+ ║ Host system is missing dependencies to run browsers. ║
362
+ ║ Missing libraries: ║
363
+ ║ libicudata.so.66 ║
364
+ ║ libicui18n.so.66 ║
365
+ ║ libicuuc.so.66 ║
366
+ ║ libwebp.so.6 ║
367
+ ║ libflite.so.1 ║
368
+ ║ libflite_usenglish.so.1 ║
369
+ ║ libflite_cmu_grapheme_lang.so.1 ║
370
+ ║ libflite_cmu_grapheme_lex.so.1 ║
371
+ ║ libflite_cmu_indic_lang.so.1 ║
372
+ ║ libflite_cmu_indic_lex.so.1 ║
373
+ ║ libflite_cmulex.so.1 ║
374
+ ║ libflite_cmu_time_awb.so.1 ║
375
+ ║ libflite_cmu_us_awb.so.1 ║
376
+ ║ libflite_cmu_us_kal16.so.1 ║
377
+ ║ libflite_cmu_us_kal.so.1 ║
378
+ ║ libflite_cmu_us_rms.so.1 ║
379
+ ║ libflite_cmu_us_slt.so.1 ║
380
+ ║ libpcre.so.3 ║
381
+ ║ libffi.so.7 ║
382
+ ╚══════════════════════════════════════════════════════╝
383
+
384
+
385
+
386
+ ]]>
387
+ </failure>
388
+ </testcase>
389
+ <testcase name="Builder › JSON › can be selected" classname="builder.spec.ts" time="0">
390
+ <skipped>
391
+ </skipped>
392
+ </testcase>
393
+ <testcase name="Builder › JSON › builds form" classname="builder.spec.ts" time="0">
394
+ <skipped>
395
+ </skipped>
396
+ </testcase>
397
+ <testcase name="Builder › databank option › option is displayed" classname="builder.spec.ts" time="0">
398
+ <skipped>
399
+ </skipped>
400
+ </testcase>
401
+ <testcase name="Builder › lang › fi selected by default" classname="builder.spec.ts" time="0">
402
+ <skipped>
403
+ </skipped>
404
+ </testcase>
405
+ <testcase name="Builder › lang › changing › changes active" classname="builder.spec.ts" time="0">
406
+ <skipped>
407
+ </skipped>
408
+ </testcase>
409
+ <testcase name="Builder › lang › changing › changes preview form lang" classname="builder.spec.ts" time="0">
410
+ <skipped>
411
+ </skipped>
412
+ </testcase>
413
+ <testcase name="Builder › lang › changing › doesn&apos;t change editor UI lang" classname="builder.spec.ts" time="0">
414
+ <skipped>
415
+ </skipped>
416
+ </testcase>
417
+ </testsuite>
418
+ <testsuite name="editor.spec.ts" timestamp="2023-12-21T14:55:13.577Z" hostname="webkit" tests="29" failures="1" skipped="28" time="0.005" errors="0">
419
+ <testcase name="Editor › lang › fi selected by default" classname="editor.spec.ts" time="0.005">
420
+ <failure message="editor.spec.ts:20:7 fi selected by default" type="FAILURE">
421
+ <![CDATA[ [webkit] › editor.spec.ts:20:7 › Editor › lang › fi selected by default ────────────────────
422
+
423
+ Error: browserType.launch:
424
+ ╔══════════════════════════════════════════════════════╗
425
+ ║ Host system is missing dependencies to run browsers. ║
426
+ ║ Missing libraries: ║
427
+ ║ libicudata.so.66 ║
428
+ ║ libicui18n.so.66 ║
429
+ ║ libicuuc.so.66 ║
430
+ ║ libwebp.so.6 ║
431
+ ║ libflite.so.1 ║
432
+ ║ libflite_usenglish.so.1 ║
433
+ ║ libflite_cmu_grapheme_lang.so.1 ║
434
+ ║ libflite_cmu_grapheme_lex.so.1 ║
435
+ ║ libflite_cmu_indic_lang.so.1 ║
436
+ ║ libflite_cmu_indic_lex.so.1 ║
437
+ ║ libflite_cmulex.so.1 ║
438
+ ║ libflite_cmu_time_awb.so.1 ║
439
+ ║ libflite_cmu_us_awb.so.1 ║
440
+ ║ libflite_cmu_us_kal16.so.1 ║
441
+ ║ libflite_cmu_us_kal.so.1 ║
442
+ ║ libflite_cmu_us_rms.so.1 ║
443
+ ║ libflite_cmu_us_slt.so.1 ║
444
+ ║ libpcre.so.3 ║
445
+ ║ libffi.so.7 ║
446
+ ╚══════════════════════════════════════════════════════╝
447
+
448
+
449
+
450
+ ]]>
451
+ </failure>
452
+ </testcase>
453
+ <testcase name="Editor › lang › changing › changes active" classname="editor.spec.ts" time="0">
454
+ <skipped>
455
+ </skipped>
456
+ </testcase>
457
+ <testcase name="Editor › lang › changing › changes preview form lang" classname="editor.spec.ts" time="0">
458
+ <skipped>
459
+ </skipped>
460
+ </testcase>
461
+ <testcase name="Editor › lang › changing › doesn&apos;t change editor UI lang" classname="editor.spec.ts" time="0">
462
+ <skipped>
463
+ </skipped>
464
+ </testcase>
465
+ <testcase name="Editor › tabs › fields › selected by default" classname="editor.spec.ts" time="0">
466
+ <skipped>
467
+ </skipped>
468
+ </testcase>
469
+ <testcase name="Editor › tabs › fields › displays fields" classname="editor.spec.ts" time="0">
470
+ <skipped>
471
+ </skipped>
472
+ </testcase>
473
+ <testcase name="Editor › tabs › fields › expands fields when clicking field with children" classname="editor.spec.ts" time="0">
474
+ <skipped>
475
+ </skipped>
476
+ </testcase>
477
+ <testcase name="Editor › tabs › basic editor › selected by default" classname="editor.spec.ts" time="0">
478
+ <skipped>
479
+ </skipped>
480
+ </testcase>
481
+ <testcase name="Editor › tabs › basic editor › field selector displayed" classname="editor.spec.ts" time="0">
482
+ <skipped>
483
+ </skipped>
484
+ </testcase>
485
+ <testcase name="Editor › tabs › basic editor › field editor not displayed when no field selected" classname="editor.spec.ts" time="0">
486
+ <skipped>
487
+ </skipped>
488
+ </testcase>
489
+ <testcase name="Editor › tabs › basic editor › adding excludeFromCopy to field with already existing options" classname="editor.spec.ts" time="0">
490
+ <skipped>
491
+ </skipped>
492
+ </testcase>
493
+ <testcase name="Editor › tabs › UI editor › selected when clicked" classname="editor.spec.ts" time="0">
494
+ <skipped>
495
+ </skipped>
496
+ </testcase>
497
+ <testcase name="Editor › tabs › UI editor › field selector displayed" classname="editor.spec.ts" time="0">
498
+ <skipped>
499
+ </skipped>
500
+ </testcase>
501
+ <testcase name="Editor › tabs › UI editor › ui:title › when empty adding when empty adds with all langs" classname="editor.spec.ts" time="0">
502
+ <skipped>
503
+ </skipped>
504
+ </testcase>
505
+ <testcase name="Editor › tabs › UI editor › ui:title › when not empty › if value same for all, editing asks if the edition should be done for all langs" classname="editor.spec.ts" time="0">
506
+ <skipped>
507
+ </skipped>
508
+ </testcase>
509
+ <testcase name="Editor › tabs › UI editor › ui:title › when not empty › accepting updates only for selected lang" classname="editor.spec.ts" time="0">
510
+ <skipped>
511
+ </skipped>
512
+ </testcase>
513
+ <testcase name="Editor › tabs › UI editor › ui:title › when not empty › editing asks if the edition should be done for all langs after all-lang update" classname="editor.spec.ts" time="0">
514
+ <skipped>
515
+ </skipped>
516
+ </testcase>
517
+ <testcase name="Editor › tabs › UI editor › ui:title › when not empty › dismissing updates only for selected lang" classname="editor.spec.ts" time="0">
518
+ <skipped>
519
+ </skipped>
520
+ </testcase>
521
+ <testcase name="Editor › tabs › UI editor › ui:title › when not empty › clearing value clears for all langs without confirming and restores original label" classname="editor.spec.ts" time="0">
522
+ <skipped>
523
+ </skipped>
524
+ </testcase>
525
+ <testcase name="Editor › tabs › Options editor › selected when clicked" classname="editor.spec.ts" time="0">
526
+ <skipped>
527
+ </skipped>
528
+ </testcase>
529
+ <testcase name="Editor › tabs › Options editor › shows JSON tab by default" classname="editor.spec.ts" time="0">
530
+ <skipped>
531
+ </skipped>
532
+ </testcase>
533
+ <testcase name="Editor › tabs › Options editor › selecting UI editor › shows form after loaded" classname="editor.spec.ts" time="0">
534
+ <skipped>
535
+ </skipped>
536
+ </testcase>
537
+ <testcase name="Editor › tabs › Options editor › selecting UI editor › when empty adding adds with all langs" classname="editor.spec.ts" time="0">
538
+ <skipped>
539
+ </skipped>
540
+ </testcase>
541
+ <testcase name="Editor › picker › activates on click" classname="editor.spec.ts" time="0">
542
+ <skipped>
543
+ </skipped>
544
+ </testcase>
545
+ <testcase name="Editor › picker › displays highlighter" classname="editor.spec.ts" time="0">
546
+ <skipped>
547
+ </skipped>
548
+ </testcase>
549
+ <testcase name="Editor › picker › inactives on elem click" classname="editor.spec.ts" time="0">
550
+ <skipped>
551
+ </skipped>
552
+ </testcase>
553
+ <testcase name="Editor › picker › clears highlighter on elem click" classname="editor.spec.ts" time="0">
554
+ <skipped>
555
+ </skipped>
556
+ </testcase>
557
+ <testcase name="Editor › picker › selects clicked field on editor" classname="editor.spec.ts" time="0">
558
+ <skipped>
559
+ </skipped>
560
+ </testcase>
561
+ <testcase name="Editor › picker › inactivates on esc" classname="editor.spec.ts" time="0">
562
+ <skipped>
563
+ </skipped>
564
+ </testcase>
565
+ </testsuite>
566
+ </testsuites>