summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Welsh <contact@evanwelsh.com>2022-03-25 18:44:30 -0700
committerEvan Welsh <contact@evanwelsh.com>2022-07-07 02:29:26 -0400
commit62b50490e3203dbdd2bfea287fc1c1921e9f18b6 (patch)
tree923f263d91bcdf54aabc8d92f4de4c6eb562704f
parent8e3acf85856c9addd1c0b6bca27319a054f3cba5 (diff)
downloadgjs-ewlsh/workers-api.tar.gz
Initial work on testsewlsh/workers-api
-rw-r--r--installed-tests/js/jsunit.gresources.xml1
-rw-r--r--installed-tests/js/meson.build1
-rw-r--r--installed-tests/js/modules/worker.js17
-rw-r--r--installed-tests/js/testWorker.js11
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();
+ };
+ });
+});