Bug 1892041 - Part 1: Update test262 features. r=spidermonkey-reviewers,dminor
[gecko.git] / dom / filesystem / tests / test_worker_basic.html
blob920f32719bd7067316a200371dc89b268377f9bf
1 <!DOCTYPE HTML>
2 <html>
3 <head>
4 <title>Test for Directory API in workers</title>
5 <script src="/tests/SimpleTest/SimpleTest.js"></script>
6 <script type="text/javascript" src="filesystem_commons.js"></script>
7 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
8 </head>
10 <body>
11 <script type="application/javascript">
13 var fileList;
15 function create_fileList() {
16 fileList = document.createElement("input");
17 fileList.setAttribute("type", "file");
18 document.body.appendChild(fileList);
20 var url = SimpleTest.getTestFileURL("script_fileList.js");
21 var script = SpecialPowers.loadChromeScript(url);
23 function onOpened(message) {
24 SpecialPowers.wrap(fileList).mozSetDirectory(message.dir);
25 script.destroy();
26 next();
29 script.addMessageListener("dir.opened", onOpened);
30 script.sendAsyncMessage("dir.open", { path: "test" });
33 function test_worker() {
34 SpecialPowers.wrap(fileList).getFilesAndDirectories().then(function(array) {
35 array = SpecialPowers.unwrap(array);
36 var worker = new Worker("worker_basic.js");
37 worker.onmessage = function(e) {
38 if (e.data.type == "finish") {
39 next();
40 return;
43 if (e.data.type == "test") {
44 ok(e.data.test, e.data.message);
48 worker.postMessage(array[0]);
49 });
52 var tests = [
53 function() { setup_tests(next); },
55 create_fileList,
56 test_worker,
59 function next() {
60 if (!tests.length) {
61 SimpleTest.finish();
62 return;
65 var test = tests.shift();
66 test();
69 SimpleTest.waitForExplicitFinish();
70 next();
71 </script>
72 </body>
73 </html>