62 lines · 1.6 KB · JavaScript
RawDownload
/* os.Worker API test */import * as std from "std";import * as os from "os"; function assert(actual, expected, message) {    if (arguments.length == 1)        expected = true;     if (actual === expected)        return;     if (actual !== null && expected !== null    &&  typeof actual == 'object' && typeof expected == 'object'    &&  actual.toString() === expected.toString())        return;     throw Error("assertion failed: got |" + actual + "|" +                ", expected |" + expected + "|" +                (message ? " (" + message + ")" : ""));} var worker; function test_worker(){    var counter;     worker = new os.Worker("./test_worker_module.js");     counter = 0;    worker.onmessage = function (e) {        var ev = e.data;//        print("recv", JSON.stringify(ev));        switch(ev.type) {        case "num":            assert(ev.num, counter);            counter++;            if (counter == 10) {                /* test SharedArrayBuffer modification */                let sab = new SharedArrayBuffer(10);                let buf = new Uint8Array(sab);                worker.postMessage({ type: "sab", buf: buf });            }            break;        case "sab_done":            {                let buf = ev.buf;                /* check that the SharedArrayBuffer was modified */                assert(buf[2], 10);                worker.postMessage({ type: "abort" });            }            break;        case "done":            /* terminate */            worker.onmessage = null;            break;        }    };}  test_worker();

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t