From 62b50490e3203dbdd2bfea287fc1c1921e9f18b6 Mon Sep 17 00:00:00 2001 From: Evan Welsh Date: Fri, 25 Mar 2022 18:44:30 -0700 Subject: Initial work on tests --- installed-tests/js/jsunit.gresources.xml | 1 + installed-tests/js/meson.build | 1 + installed-tests/js/modules/worker.js | 17 +++++++++++++++++ installed-tests/js/testWorker.js | 11 +++++++++++ 4 files changed, 30 insertions(+) create mode 100644 installed-tests/js/modules/worker.js create mode 100644 installed-tests/js/testWorker.js 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 @@ modules/subA/subB/__init__.js modules/subA/subB/baz.js modules/subA/subB/foobar.js + modules/worker.js 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 */ +/// + +// 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 */ +/// +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(); + }; + }); +}); -- cgit v1.2.1