swig/Examples/test-suite/javascript/li_cdata_bytes_runme.js

30 lines
873 B
JavaScript

var li_cdata_bytes = require("li_cdata_bytes");
m = li_cdata_bytes.predefStr();
s = li_cdata_bytes.cdata(m, 512);
// 's' is Uint8Array, verify its property
if (!ArrayBuffer.isView(s) || s.byteLength != 512 ||
s.length != 512 || s.BYTES_PER_ELEMENT != 1) {
throw new Error("'s' do not have proper properties");
}
// verify 's' content
for (i = 0; i < 256; i++) {
if (s[i] != i)
throw new Error("Wrong value " + s[i] + " at index " + i);
if (s[i + 256] != i)
throw new Error("Wrong value " + s[i + 256] + " at index " + (i + 256));
}
// Fill 's' with new content
for (i = 0; i < 256; i++) {
v = 256 - 1 - i;
s[i] = v;
s[i + 256] = v;
}
m2 = li_cdata_bytes.malloc(512);
// Copy 's' into a new allocated memory
li_cdata_bytes.memmove(m2, s);
if (li_cdata_bytes.verifyBytes(m2) != 0) {
throw new Error("verifyBytes fails");
}
li_cdata_bytes.free(m2);