diff options
| author | Gabriel Schneider <[email protected]> | 2026-09-28 10:13:45 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-10-01 00:12:14 -0300 |
| commit | 87bb23d39df92db0b383dd300a9ebd1ad9cb2b7a (patch) | |
| tree | a54e857ae9f999ef9eee96b07d6761a86ccc7b1b /test/fs_bench.zig | |
| parent | ae7aba431c1a152dc999e485e8285ebd285811f8 (diff) | |
| download | pardes-87bb23d39df92db0b383dd300a9ebd1ad9cb2b7a.tar.gz pardes-87bb23d39df92db0b383dd300a9ebd1ad9cb2b7a.zip | |
Focus gives the keyboard only, reads empty while a header has it, and sits in the root listing's natural place
A write to /focus leaves a folded pane folded, as rio keeps current apart
from unhide; while a column or workspace tag has the keyboard no pane
does, so /focus reads empty and every pane's ctl says notcurrent (an
empty read also no longer answers stale staged bytes). focus, ctl and
commands now list after status, and the discovery test checks the root
as a set rather than by position.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'test/fs_bench.zig')
| -rw-r--r-- | test/fs_bench.zig | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/test/fs_bench.zig b/test/fs_bench.zig index 75b2eb11..746fe737 100644 --- a/test/fs_bench.zig +++ b/test/fs_bench.zig @@ -133,8 +133,8 @@ fn checkReply(s: *Session, req: ctlfs.Req, reply: ctlfs.Reply) !void { const bytes = s.core.fs.out.items; if (reply.payload != .staged or reply.payload.staged != bytes.len or bytes.len > req.size) return error.IncorrectReply; - const names = [_][]const u8{ "README", "index", "status", "look", "exec", "log", "screen", "listeners", "pane", "os" }; - const nodes = [_]u64{ @intFromEnum(ctlfs.TopFile.README), @intFromEnum(ctlfs.TopFile.index), @intFromEnum(ctlfs.TopFile.status), @intFromEnum(ctlfs.TopFile.look), @intFromEnum(ctlfs.TopFile.exec), @intFromEnum(ctlfs.TopFile.log), @intFromEnum(ctlfs.TopFile.screen), @intFromEnum(ctlfs.TopFile.listeners), @intFromEnum(ctlfs.TopFile.pane), filesystem.os_root }; + const names = [_][]const u8{ "README", "index", "status", "focus", "ctl", "commands", "look", "exec", "log", "screen", "listeners", "pane", "os" }; + const nodes = [_]u64{ @intFromEnum(ctlfs.TopFile.README), @intFromEnum(ctlfs.TopFile.index), @intFromEnum(ctlfs.TopFile.status), @intFromEnum(ctlfs.TopFile.focus), @intFromEnum(ctlfs.TopFile.ctl), @intFromEnum(ctlfs.TopFile.commands), @intFromEnum(ctlfs.TopFile.look), @intFromEnum(ctlfs.TopFile.exec), @intFromEnum(ctlfs.TopFile.log), @intFromEnum(ctlfs.TopFile.screen), @intFromEnum(ctlfs.TopFile.listeners), @intFromEnum(ctlfs.TopFile.pane), filesystem.os_root }; var off: usize = 0; var entry: usize = 0; while (off < bytes.len) : (entry += 1) { @@ -144,7 +144,7 @@ fn checkReply(s: *Session, req: ctlfs.Req, reply: ctlfs.Reply) !void { const size: usize = bytes[off + 9]; off += 10; if (dir > 1 or size == 0 or size > bytes.len - off) return error.IncorrectReply; - if (entry < names.len and (node != nodes[entry] or dir != @intFromBool(entry >= 8) or + if (entry < names.len and (node != nodes[entry] or dir != @intFromBool(entry >= 11) or !std.mem.eql(u8, names[entry], bytes[off..][0..size]))) return error.IncorrectReply; off += size; } |
