summaryrefslogtreecommitdiff
path: root/installed-tests/js
diff options
context:
space:
mode:
Diffstat (limited to 'installed-tests/js')
-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();
+ };
+ });
+});