Changeset 3b43e4c in Klonkt for test/thread.test.js
- Timestamp:
- 08/08/2026 02:33:28 AM (5 weeks ago)
- Branches:
- main
- Children:
- 06bae1e
- Parents:
- 50e80ac
- File:
-
- 1 edited
-
test/thread.test.js (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
test/thread.test.js
r50e80ac r3b43e4c 65 65 66 66 test('een gewone lezer krijgt alles behalve de geblokkeerde, oudste eerst, geschoond', async () => { 67 const uit = await AP.getThread('kind', BRON , { isWard: false });67 const uit = await AP.getThread('kind', BRON); 68 68 assert.equal(uit.found, true); 69 69 assert.equal(uit.notes.length, 2); … … 74 74 assert.ok(!uit.notes[1].content.includes('<script'), 'script weggeschoond'); 75 75 assert.ok(uit.notes[1].content.includes('Hoi!')); 76 // Een blokkade is onzichtbaar: niet in de lijst en NIET in de telling. 77 assert.equal(uit.hidden, 0); 76 // Een blokkade is onzichtbaar: niet in de lijst en NIET in een telling -- 77 // getThread telt sindsdien niets meer, dat doet de kringfilter in de route. 78 assert.equal(uit.hidden, undefined); 78 79 assert.ok(uit.notes.every((n) => n.attributedTo !== GEBLOKT)); 79 80 // FEP-9098: alleen de echte emoji komt door -- niet de hashtag, niet de … … 86 87 }); 87 88 88 test('een ward ziet alleen de kring van de guardians, de rest wordt geteld', async () => { 89 // Eigen cache-sleutel per (slug, uri) zou hier de vorige uitkomst hergeven; 90 // een andere slug dwingt een verse opbouw af zonder aan de cache te morrelen. 89 test('de kringfilter houdt goedgekeurd volk en telt de rest (de dichte stand van de gate)', async () => { 90 // Sinds de gate (shaer-9y2) zit de kring in de ROUTE, per verzoek en buiten 91 // de threadcache om -- een poort die net dichtging mag niet twee minuten 92 // open nawerken. Hier de functie zelf. 91 93 db.prepare("INSERT INTO sites (id, slug, title, owner_id) VALUES ('s2', 'pupil', 'Pupil', 'u1')").run(); 92 94 db.prepare("INSERT INTO ap_following (slug, actor_uri, status) VALUES ('pupil', ?, 'accepted')").run(TANTE); 93 db.prepare("INSERT INTO ap_blocks (slug, kind, target) VALUES ('pupil', 'actor', ?)").run(GEBLOKT);94 const uit = await AP.getThread('pupil', BRON, { isWard: true });95 assert.equal( uit.notes.length, 1);96 assert.equal( uit.notes[0]['shaer:author'].name, 'tante');95 const uit = await AP.getThread('kind', BRON); 96 const kring = AP.filterThreadToCircle('pupil', uit.notes); 97 assert.equal(kring.notes.length, 1); 98 assert.equal(kring.notes[0]['shaer:author'].name, 'tante'); 97 99 // De vreemde is er, en dat mag gezegd: geteld, niet stil weggelaten. 98 assert.equal( uit.hidden, 1);100 assert.equal(kring.hidden, 1); 99 101 }); 100 102 101 103 test('een onbereikbare note zegt dat, in plaats van een lege thread te veinzen', async () => { 102 const uit = await AP.getThread('kind', 'https://203.0.113.99/weg' , { isWard: false });104 const uit = await AP.getThread('kind', 'https://203.0.113.99/weg'); 103 105 assert.equal(uit.found, false); 104 106 assert.equal(uit.notes.length, 0); … … 126 128 return vorige(url); 127 129 }; 128 const uit = await AP.getThread('kind', MPOST , { isWard: false });130 const uit = await AP.getThread('kind', MPOST); 129 131 globalThis.fetch = vorige; 130 132 assert.equal(uit.notes.length, 1, 'het antwoord op de next-pagina is gevonden'); … … 136 138 const vorige = globalThis.fetch; 137 139 globalThis.fetch = async (...a) => { calls += 1; return vorige(...a); }; 138 const uit = await AP.getThread('kind', BRON , { isWard: false });140 const uit = await AP.getThread('kind', BRON); 139 141 assert.equal(uit.notes.length, 2); 140 142 assert.equal(calls, 0, 'alles uit de cache, nul fetches');
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)