rewrite function assert in javascript
[liba.git] / quickjs / test / crc.js
blob8513711d031e0dbee156ec67a52f8a575627fc17
1 import * as a from "liba.so";
2 function assert(expr) {
3     if (!eval(expr)) {
4         throw Error(expr);
5     }
7 var text = "0123456789";
8 var ctx = new a.crc8(0x07);
9 assert("ctx.eval(text) == 0x45");
10 assert("ctx.eval(ctx.pack(text)) == 0");
11 var ctx = new a.crc8(0x31, true);
12 assert("ctx.eval(text) == 0x75");
13 assert("ctx.eval(ctx.pack(text)) == 0");
14 var ctx = new a.crc16(0x1021);
15 assert("ctx.eval(text) == 0x9C58");
16 assert("ctx.eval(ctx.pack(text)) == 0");
17 var ctx = new a.crc16(0x8005, true);
18 assert("ctx.eval(text) == 0x443D");
19 assert("ctx.eval(ctx.pack(text)) == 0");
20 var ctx = new a.crc32(0x1EDC6F41);
21 assert("ctx.eval(text) == 0x512B456E");
22 assert("ctx.eval(ctx.pack(text)) == 0");
23 var ctx = new a.crc32(0x04C11DB7, true);
24 assert("ctx.eval(text) == 0x450EAFB0");
25 assert("ctx.eval(ctx.pack(text)) == 0");
26 var ctx = new a.crc64(0x000000000000001Bn);
27 assert("ctx.eval(text) == 0xE4FFBEA588AFC790n");
28 assert("ctx.eval(ctx.pack(text)) == 0");
29 var ctx = new a.crc64(0x42F0E1EBA9EA3693n, true);
30 assert("ctx.eval(text) == 0xDA60676A5CDE0008n");
31 assert("ctx.eval(ctx.pack(text)) == 0");