diff options
author | Evan Welsh <contact@evanwelsh.com> | 2022-03-25 18:44:30 -0700 |
---|---|---|
committer | Evan Welsh <contact@evanwelsh.com> | 2022-07-07 02:29:26 -0400 |
commit | 62b50490e3203dbdd2bfea287fc1c1921e9f18b6 (patch) | |
tree | 923f263d91bcdf54aabc8d92f4de4c6eb562704f | |
parent | 8e3acf85856c9addd1c0b6bca27319a054f3cba5 (diff) | |
download | gjs-ewlsh/workers-api.tar.gz |
Initial work on testsewlsh/workers-api
-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(); + }; + }); +}); |