diff options
Diffstat (limited to 'installed-tests/js')
-rw-r--r-- | installed-tests/js/jsunit.gresources.xml | 1 | ||||
-rw-r--r-- | installed-tests/js/meson.build | 1 | ||||
-rw-r--r-- | installed-tests/js/modules/worker.js | 17 | ||||
-rw-r--r-- | installed-tests/js/testWorker.js | 11 |
4 files changed, 30 insertions, 0 deletions
diff --git a/installed-tests/js/jsunit.gresources.xml b/installed-tests/js/jsunit.gresources.xml index 537bfb2e..70d56cf8 100644 --- a/installed-tests/js/jsunit.gresources.xml +++ b/installed-tests/js/jsunit.gresources.xml @@ -29,5 +29,6 @@ <file>modules/subA/subB/__init__.js</file> <file>modules/subA/subB/baz.js</file> <file>modules/subA/subB/foobar.js</file> + <file>modules/worker.js</file> </gresource> </gresources> diff --git a/installed-tests/js/meson.build b/installed-tests/js/meson.build index 567e5cc7..9f45262d 100644 --- a/installed-tests/js/meson.build +++ b/installed-tests/js/meson.build @@ -142,6 +142,7 @@ jasmine_tests = [ 'Signals', 'System', 'Tweener', + 'Worker' ] if build_cairo diff --git a/installed-tests/js/modules/worker.js b/installed-tests/js/modules/worker.js new file mode 100644 index 00000000..a5d3897d --- /dev/null +++ b/installed-tests/js/modules/worker.js @@ -0,0 +1,17 @@ +/* eslint-disable spaced-comment */ +/// <reference lib="dom" /> + +// onmessage = event => { +// console.log(`Why hello there main thread, I got ${event.data} from you. I'm adding 10.`); +// postMessage(event.data + 10); +// }; + +let i = 0; +const id = setInterval(() => { + i++; + console.log(`t: ${i}`); + if (i > 5) { + clearInterval(id); + postMessage(i); + } +}, 1000); diff --git a/installed-tests/js/testWorker.js b/installed-tests/js/testWorker.js new file mode 100644 index 00000000..b428f6eb --- /dev/null +++ b/installed-tests/js/testWorker.js @@ -0,0 +1,11 @@ +/* eslint-disable spaced-comment */ +/// <reference lib="dom" /> +xdescribe('Workers', () => { + it('runs in unblocked thread', function (done) { + const worker = new Worker('resource:///org/gjs/jsunit/modules/worker.js', {name: '"Test Worker"'}); + + worker.onmessage = event => { + done(); + }; + }); +}); |