mirror of
https://github.com/loro-dev/loro.git
synced 2025-02-06 04:19:34 +00:00
test: add wasm test
This commit is contained in:
parent
973486067a
commit
71fd00418e
2 changed files with 68 additions and 17 deletions
|
@ -1,25 +1,44 @@
|
||||||
import init, { Loro, setPanicHook } from "../pkg/loro_wasm.js";
|
import init, { Loro, setPanicHook } from "../pkg/loro_wasm.js";
|
||||||
import { resolve } from "https://deno.land/std@0.105.0/path/mod.ts";
|
import { resolve } from "https://deno.land/std@0.105.0/path/mod.ts";
|
||||||
import __ from "https://deno.land/x/dirname@1.1.2/mod.ts";
|
import __ from "https://deno.land/x/dirname@1.1.2/mod.ts";
|
||||||
|
import { assertEquals, assertThrows } from "https://deno.land/std@0.165.0/testing/asserts.ts";
|
||||||
const { __dirname } = __(import.meta);
|
const { __dirname } = __(import.meta);
|
||||||
|
|
||||||
const wasm = await Deno.readFile(
|
const wasm = await Deno.readFile(
|
||||||
resolve(__dirname, "../pkg/loro_wasm_bg.wasm")
|
resolve(__dirname, "../pkg/loro_wasm_bg.wasm"),
|
||||||
);
|
);
|
||||||
|
|
||||||
await init(wasm);
|
Deno.test({
|
||||||
setPanicHook();
|
name: "loro_wasm",
|
||||||
const loro = new Loro();
|
}, async (t) => {
|
||||||
const a = loro.getText("ha");
|
await init(wasm);
|
||||||
a.insert(loro, 0, "hello world");
|
setPanicHook();
|
||||||
a.delete(loro,6, 5);
|
const loro = new Loro();
|
||||||
a.insert(loro,6, "everyone");
|
const a = loro.getText("ha");
|
||||||
console.log(a.value);
|
a.insert(loro, 0, "hello world");
|
||||||
const b = loro.getMap("ha");
|
a.delete(loro, 6, 5);
|
||||||
b.set(loro,"ab", 123);
|
a.insert(loro, 6, "everyone");
|
||||||
console.log(b.value);
|
console.log(a.value);
|
||||||
console.log(a.value);
|
const b = loro.getMap("ha");
|
||||||
let bText = b.getText(loro, "hh");
|
b.set(loro, "ab", 123);
|
||||||
bText.insert(loro, 0, "hello world Text");
|
console.log(b.value);
|
||||||
console.log(b.getValueDeep(loro));
|
console.log(a.value);
|
||||||
// console.log(b.value);
|
const bText = b.getText(loro, "hh");
|
||||||
|
await t.step("getValueDeep", () => {
|
||||||
|
bText.insert(loro, 0, "hello world Text");
|
||||||
|
assertEquals(b.getValueDeep(loro), { ab: 123, hh: "hello world Text" });
|
||||||
|
});
|
||||||
|
|
||||||
|
await t.step("wrong context throw error", () => {
|
||||||
|
assertThrows(()=>{
|
||||||
|
const loro2 = new Loro();
|
||||||
|
bText.insert(loro2, 0, "hello world Text");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
await t.step("get value error", () => {
|
||||||
|
assertThrows(()=>{
|
||||||
|
const _ = bText.value;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
32
deno.lock
Normal file
32
deno.lock
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
{
|
||||||
|
"version": "2",
|
||||||
|
"remote": {
|
||||||
|
"https://deno.land/std@0.105.0/_util/assert.ts": "2f868145a042a11d5ad0a3c748dcf580add8a0dbc0e876eaa0026303a5488f58",
|
||||||
|
"https://deno.land/std@0.105.0/_util/os.ts": "dfb186cc4e968c770ab6cc3288bd65f4871be03b93beecae57d657232ecffcac",
|
||||||
|
"https://deno.land/std@0.105.0/path/_constants.ts": "1247fee4a79b70c89f23499691ef169b41b6ccf01887a0abd131009c5581b853",
|
||||||
|
"https://deno.land/std@0.105.0/path/_interface.ts": "1fa73b02aaa24867e481a48492b44f2598cd9dfa513c7b34001437007d3642e4",
|
||||||
|
"https://deno.land/std@0.105.0/path/_util.ts": "2e06a3b9e79beaf62687196bd4b60a4c391d862cfa007a20fc3a39f778ba073b",
|
||||||
|
"https://deno.land/std@0.105.0/path/common.ts": "eaf03d08b569e8a87e674e4e265e099f237472b6fd135b3cbeae5827035ea14a",
|
||||||
|
"https://deno.land/std@0.105.0/path/glob.ts": "3b84af55c53febacf6afe214c095624b22a56b6f57d7312157479cc783a0de65",
|
||||||
|
"https://deno.land/std@0.105.0/path/mod.ts": "4465dc494f271b02569edbb4a18d727063b5dbd6ed84283ff906260970a15d12",
|
||||||
|
"https://deno.land/std@0.105.0/path/posix.ts": "b81974c768d298f8dcd2c720229639b3803ca4a241fa9a355c762fa2bc5ef0c1",
|
||||||
|
"https://deno.land/std@0.105.0/path/separator.ts": "8fdcf289b1b76fd726a508f57d3370ca029ae6976fcde5044007f062e643ff1c",
|
||||||
|
"https://deno.land/std@0.105.0/path/win32.ts": "f4a3d4a3f2c9fe894da046d5eac48b5e789a0ebec5152b2c0985efe96a9f7ae1",
|
||||||
|
"https://deno.land/std@0.165.0/fmt/colors.ts": "9e36a716611dcd2e4865adea9c4bec916b5c60caad4cdcdc630d4974e6bb8bd4",
|
||||||
|
"https://deno.land/std@0.165.0/testing/_diff.ts": "a23e7fc2b4d8daa3e158fa06856bedf5334ce2a2831e8bf9e509717f455adb2c",
|
||||||
|
"https://deno.land/std@0.165.0/testing/_format.ts": "cd11136e1797791045e639e9f0f4640d5b4166148796cad37e6ef75f7d7f3832",
|
||||||
|
"https://deno.land/std@0.165.0/testing/asserts.ts": "1e340c589853e82e0807629ba31a43c84ebdcdeca910c4a9705715dfdb0f5ce8",
|
||||||
|
"https://deno.land/x/dirname@1.1.2/mod.ts": "4029ca6b49da58d262d65f826ba9b3a89cc0b92a94c7220d5feb7bd34e498a54",
|
||||||
|
"https://deno.land/x/dirname@1.1.2/types.ts": "c1ed1667545bc4b1d69bdb2fc26a5fa8edae3a56e3081209c16a408a322a2319",
|
||||||
|
"https://lra6z45nakk5lnu3yjchp7tftsdnwwikwr65ocha5eojfnlgu4sa.arweave.net/XEHs860CldW2m8JEd_5lnIbbWQq0fdcI4OkckrVmpyQ/_util/assert.ts": "e1f76e77c5ccb5a8e0dbbbe6cce3a56d2556c8cb5a9a8802fc9565af72462149",
|
||||||
|
"https://lra6z45nakk5lnu3yjchp7tftsdnwwikwr65ocha5eojfnlgu4sa.arweave.net/XEHs860CldW2m8JEd_5lnIbbWQq0fdcI4OkckrVmpyQ/path/_constants.ts": "aba480c4a2c098b6374fdd5951fea13ecc8aaaf8b8aa4dae1871baa50243d676",
|
||||||
|
"https://lra6z45nakk5lnu3yjchp7tftsdnwwikwr65ocha5eojfnlgu4sa.arweave.net/XEHs860CldW2m8JEd_5lnIbbWQq0fdcI4OkckrVmpyQ/path/_interface.ts": "67b276380d297a7cedc3c17f7a0bf122edcfc96a3e1f69de06f379d85ba0e2c0",
|
||||||
|
"https://lra6z45nakk5lnu3yjchp7tftsdnwwikwr65ocha5eojfnlgu4sa.arweave.net/XEHs860CldW2m8JEd_5lnIbbWQq0fdcI4OkckrVmpyQ/path/_util.ts": "7820a788b35c26dfc27ff329df12507fc0553ae92727009597046f6cf856b4fa",
|
||||||
|
"https://lra6z45nakk5lnu3yjchp7tftsdnwwikwr65ocha5eojfnlgu4sa.arweave.net/XEHs860CldW2m8JEd_5lnIbbWQq0fdcI4OkckrVmpyQ/path/common.ts": "e4ec66a7416d56f60331b66e27a8a4f08c7b1cf48e350271cb69754a01cf5c04",
|
||||||
|
"https://lra6z45nakk5lnu3yjchp7tftsdnwwikwr65ocha5eojfnlgu4sa.arweave.net/XEHs860CldW2m8JEd_5lnIbbWQq0fdcI4OkckrVmpyQ/path/glob.ts": "54fea22f0f47dee07399d22e18a34a84eaf4b8a3771bbed96db43bbec71ef237",
|
||||||
|
"https://lra6z45nakk5lnu3yjchp7tftsdnwwikwr65ocha5eojfnlgu4sa.arweave.net/XEHs860CldW2m8JEd_5lnIbbWQq0fdcI4OkckrVmpyQ/path/mod.ts": "6de8885c2534757097818e302becd1cefcbc4c28ac022cc279e612ee04e8cfd1",
|
||||||
|
"https://lra6z45nakk5lnu3yjchp7tftsdnwwikwr65ocha5eojfnlgu4sa.arweave.net/XEHs860CldW2m8JEd_5lnIbbWQq0fdcI4OkckrVmpyQ/path/posix.ts": "7c2539b5d9e22b47f02ccc5b6ef11e3975a5c60f49d2241271eaa5936e6082a0",
|
||||||
|
"https://lra6z45nakk5lnu3yjchp7tftsdnwwikwr65ocha5eojfnlgu4sa.arweave.net/XEHs860CldW2m8JEd_5lnIbbWQq0fdcI4OkckrVmpyQ/path/separator.ts": "9dd15d46ff84a16e13554f56af7fee1f85f8d0f379efbbe60ac066a60561f036",
|
||||||
|
"https://lra6z45nakk5lnu3yjchp7tftsdnwwikwr65ocha5eojfnlgu4sa.arweave.net/XEHs860CldW2m8JEd_5lnIbbWQq0fdcI4OkckrVmpyQ/path/win32.ts": "47114c941681ecbabab4ec355cb41d525fb5a14175cc47a5c76fdc5eaee2685a"
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue