tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

dedicated-worker-import-meta.html (2342B)


      1 <!DOCTYPE html>
      2 <title>DedicatedWorker: import.meta</title>
      3 <script src="/resources/testharness.js"></script>
      4 <script src="/resources/testharnessreport.js"></script>
      5 <script>
      6 
      7 promise_test(() => {
      8  const script_url = 'resources/import-meta-url-worker.js';
      9  const worker = new Worker(script_url, { type: 'module' });
     10  return new Promise((resolve, reject) => {
     11        worker.onmessage = resolve;
     12        worker.onerror = error => {
     13          const msg = error instanceof ErrorEvent ? error.message
     14                                                  : 'unknown error';
     15          reject(msg);
     16        };
     17      })
     18      .then(msg_event => assert_true(msg_event.data.endsWith(script_url)));
     19 }, 'Test import.meta.url on the top-level module script.');
     20 
     21 promise_test(() => {
     22  const script_url = 'import-meta-url-export.js';
     23  const worker = new Worker('resources/dynamic-import-given-url-worker.js',
     24                            { type: 'module' });
     25  worker.postMessage('./' + script_url);
     26  return new Promise((resolve, reject) => {
     27        worker.onmessage = resolve;
     28        worker.onerror = error => {
     29          const msg = error instanceof ErrorEvent ? error.message
     30                                                  : 'unknown error';
     31          reject(msg);
     32        };
     33      })
     34      .then(msg_event => assert_true(msg_event.data.endsWith(script_url)));
     35 }, 'Test import.meta.url on the imported module script.');
     36 
     37 promise_test(() => {
     38  const script_url = 'import-meta-url-export.js';
     39  const worker = new Worker('resources/dynamic-import-given-url-worker.js',
     40                            { type: 'module' });
     41  worker.postMessage('./' + script_url);
     42 
     43  return new Promise((resolve, reject) => {
     44        worker.onmessage = resolve;
     45        worker.onerror = error => {
     46          const msg = error instanceof ErrorEvent ? error.message
     47                                                  : 'unknown error';
     48          reject(msg);
     49        };
     50      })
     51      .then(msg_event => assert_true(msg_event.data.endsWith(script_url)))
     52      .then(() => {
     53        worker.postMessage('./' + script_url + '#1');
     54        return new Promise(resolve => worker.onmessage = resolve);
     55      })
     56      .then(msg_event => assert_true(msg_event.data.endsWith(script_url + "#1")));
     57 }, 'Test import.meta.url on the imported module script with a fragment.');
     58 
     59 </script>