1
0

Preparing for an initial release

This commit is contained in:
Zef Hemel
2022-06-28 14:14:15 +02:00
parent be92bf2311
commit 16fcd91d6c
73 changed files with 3205 additions and 20734 deletions
+6 -2
View File
@@ -4,7 +4,7 @@
"name": "Zef Hemel",
"email": "zef@zef.me"
},
"version": "0.0.2",
"version": "0.0.7",
"license": "MIT",
"dependencies": {
"@codemirror/autocomplete": "6.0.1",
@@ -16,8 +16,12 @@
"@codemirror/search": "6.0.0",
"@codemirror/state": "6.0.0",
"@codemirror/view": "6.0.0",
"@lezer/common": "1.0.0",
"@lezer/highlight": "1.0.0",
"@lezer/markdown": "1.0.0",
"@lezer/common": "1.0.0"
"@silverbulletmd/common": "^0.0.7",
"@silverbulletmd/plugs": "^0.0.7",
"@silverbulletmd/web": "^0.0.7",
"server": "^1.0.37"
}
}
@@ -107,7 +107,7 @@ export class DiskSpacePrimitives implements SpacePrimitives {
perm: "rw",
};
} catch (e) {
console.error("Error while getting page meta", pageName, e);
// console.error("Error while getting page meta", pageName, e);
throw Error(`Could not get meta for ${pageName}`);
}
}
+19 -19
View File
@@ -18,17 +18,17 @@ test("Test store", async () => {
async function conflictResolver(pageMeta1: PageMeta, pageMeta2: PageMeta) {}
// Write one page to primary
await primary.writePage("start", "Hello");
await primary.writePage("index", "Hello");
expect((await secondary.listPages()).size).toBe(0);
await syncPages(conflictResolver);
expect((await secondary.listPages()).size).toBe(1);
expect((await secondary.readPage("start")).text).toBe("Hello");
expect((await secondary.readPage("index")).text).toBe("Hello");
// Should be a no-op
expect(await syncPages()).toBe(0);
// Now let's make a change on the secondary
await secondary.writePage("start", "Hello!!");
await secondary.writePage("index", "Hello!!");
await secondary.writePage("test", "Test page");
// And sync it
@@ -37,13 +37,13 @@ test("Test store", async () => {
expect(primary.listPages().size).toBe(2);
expect(secondary.listPages().size).toBe(2);
expect((await primary.readPage("start")).text).toBe("Hello!!");
expect((await primary.readPage("index")).text).toBe("Hello!!");
// Let's make some random edits on both ends
await primary.writePage("start", "1");
await primary.writePage("start2", "2");
await secondary.writePage("start3", "3");
await secondary.writePage("start4", "4");
await primary.writePage("index", "1");
await primary.writePage("index2", "2");
await secondary.writePage("index3", "3");
await secondary.writePage("index4", "4");
await syncPages();
expect((await primary.listPages()).size).toBe(5);
@@ -53,8 +53,8 @@ test("Test store", async () => {
console.log("Deleting pages");
// Delete some pages
await primary.deletePage("start");
await primary.deletePage("start3");
await primary.deletePage("index");
await primary.deletePage("index3");
console.log("Pages", await primary.listPages());
console.log("Trash", await primary.listTrash());
@@ -67,8 +67,8 @@ test("Test store", async () => {
// No-op
expect(await syncPages()).toBe(0);
await secondary.deletePage("start4");
await primary.deletePage("start2");
await secondary.deletePage("index4");
await primary.deletePage("index2");
await syncPages();
@@ -79,15 +79,15 @@ test("Test store", async () => {
// No-op
expect(await syncPages()).toBe(0);
await secondary.writePage("start", "I'm back");
await secondary.writePage("index", "I'm back");
await syncPages();
expect((await primary.readPage("start")).text).toBe("I'm back");
expect((await primary.readPage("index")).text).toBe("I'm back");
// Cause a conflict
await primary.writePage("start", "Hello 1");
await secondary.writePage("start", "Hello 2");
await primary.writePage("index", "Hello 1");
await secondary.writePage("index", "Hello 2");
await syncPages(SpaceSync.primaryConflictResolver(primary, secondary));
@@ -95,10 +95,10 @@ test("Test store", async () => {
await syncPages();
// Verify that primary won
expect((await primary.readPage("start")).text).toBe("Hello 1");
expect((await secondary.readPage("start")).text).toBe("Hello 1");
expect((await primary.readPage("index")).text).toBe("Hello 1");
expect((await secondary.readPage("index")).text).toBe("Hello 1");
// test + start + start.conflicting copy
// test + index + index.conflicting copy
expect((await primary.listPages()).size).toBe(3);
expect((await secondary.listPages()).size).toBe(3);