diff options
| author | Adam Soltys <[email protected]> | 2026-09-29 08:33:28 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-09-29 08:33:28 -0700 |
| commit | bdb8c3878df0439e3ebbcede5e2555f949a0cd7a (patch) | |
| tree | f3f4632643dfcbc5cd6d4cf4906b1df565449e9b /tools/feed-nav-destination-test.js | |
| parent | b9c04f573567d69d94fb120aa8feed89cf75585c (diff) | |
| download | coinosv3-bdb8c3878df0439e3ebbcede5e2555f949a0cd7a.tar.gz coinosv3-bdb8c3878df0439e3ebbcede5e2555f949a0cd7a.zip | |
Fix public media uploads and feed tab navigation
Diffstat (limited to 'tools/feed-nav-destination-test.js')
| -rw-r--r-- | tools/feed-nav-destination-test.js | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tools/feed-nav-destination-test.js b/tools/feed-nav-destination-test.js new file mode 100644 index 0000000..b14a124 --- /dev/null +++ b/tools/feed-nav-destination-test.js @@ -0,0 +1,18 @@ +// The Feed destination and the new-posts pill deliberately have different +// navigation semantics. Keep this small source-level guard beside the fuller +// browser test for the pill's landing position. +import assert from 'node:assert/strict'; + +const source = await Bun.file('src/features/messages.js').text(); +const navStart = source.indexOf("button('feed', t('feedTitle')"); +const navEnd = source.indexOf("button('messages',", navStart); +const feedButton = source.slice(navStart, navEnd); +assert(navStart > 0 && navEnd > navStart, 'Feed bottom-nav handler exists'); +assert(feedButton.includes('glideToTop()'), 'Feed bottom-nav button returns to the top'); +assert(!feedButton.includes('jumpToNew()'), 'Feed bottom-nav button does not jump to unread posts'); + +const pillStart = source.indexOf("class: 'feed-new-pill'"); +const pill = source.slice(pillStart, source.indexOf('})', pillStart) + 2); +assert(pillStart > 0 && pill.includes('jumpToNew()'), 'new-posts pill jumps to the first unread arrival'); + +console.log('✓ Feed tab goes to the top; only the new-posts pill jumps to unread posts'); |
