diff options
| author | Gabriel Schneider <[email protected]> | 2026-10-02 01:03:55 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-10-02 01:33:55 -0300 |
| commit | d65ec3394ff619118d9208718477469c673a5598 (patch) | |
| tree | d66c6bd145258fc2b369714abc618aa6766dfb5e /test | |
| parent | 2537126c643db75419ff846f1041e40d154c9426 (diff) | |
| download | pardes-d65ec3394ff619118d9208718477469c673a5598.tar.gz pardes-d65ec3394ff619118d9208718477469c673a5598.zip | |
A name typed into the tag's path survives Esc, pending, as any edit does: the next Enter renames the buffer, a second Esc drops the draft, and a stray key meanwhile changes nothing but says so
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'test')
| -rw-r--r-- | test/panes.zig | 7 | ||||
| -rw-r--r-- | test/snapshots/tagalign.snap | 5 | ||||
| -rw-r--r-- | test/snapshots/tagpath.snap | 3 |
3 files changed, 14 insertions, 1 deletions
diff --git a/test/panes.zig b/test/panes.zig index 8f1c510a..41061bea 100644 --- a/test/panes.zig +++ b/test/panes.zig @@ -367,6 +367,8 @@ const TagNavigationTests = struct { p.update(.{ .key = .{ .cp = 'x', .text = "x" } }); try std.testing.expect(pane.prompt == .name); try std.testing.expectEqualStrings("x/test.txt", pane.input.own.?); + // Esc keeps the draft pending; a second drops it. + key(p, Key.escape); key(p, Key.escape); try std.testing.expect(pane.prompt == .none); try std.testing.expectEqualStrings("/test.txt", pane.file.?.path); @@ -1621,7 +1623,9 @@ test "pane filename drafts commit and cancel without changing body or command ta try std.testing.expectEqualStrings("/new name.zig", pane.input.own.?); try std.testing.expectEqualStrings(tail, pardes.tagline.curTail(pane)); try std.testing.expectEqualStrings("original body\n", pane.file.?.content); + // Esc keeps the draft pending; a second drops it. p.update(.{ .key = .{ .cp = if (commit) Key.enter else Key.escape } }); + if (!commit) p.update(.{ .key = .{ .cp = Key.escape } }); try std.testing.expect(pane.focus == .body); try std.testing.expect(pane.prompt == .none); try std.testing.expectEqualStrings(if (commit) "/new name.zig" else original, pane.file.?.path); @@ -1649,6 +1653,9 @@ test "pane filename grapheme edits and invalid empty commits preserve the buffer try std.testing.expect(pane.prompt == .name); try std.testing.expectEqualStrings("/test.txt", pane.file.?.path); try std.testing.expectEqualStrings("untouched\n", pane.file.?.content); + // Esc keeps the draft pending; a second drops it. + p.update(.{ .key = .{ .cp = Key.escape } }); + try std.testing.expect(pane.prompt == .name); p.update(.{ .key = .{ .cp = Key.escape } }); try std.testing.expect(pane.prompt == .none); } diff --git a/test/snapshots/tagalign.snap b/test/snapshots/tagalign.snap index 3bb3922e..7237167a 100644 --- a/test/snapshots/tagalign.snap +++ b/test/snapshots/tagalign.snap @@ -22,12 +22,15 @@ press left 12 3 release left 12 3 stable 400 5000 snap clicked -# The click was on the path, so it drafted a name; Esc drops the draft. `:` +# The click was on the path, so it drafted a name; Esc keeps it pending and +# a second Esc drops the draft. `:` # then `A` puts the caret after the tag's end, which reveals the complete # command suffix; a scrolled Del still executes. resize 31 70 key esc settle 100 +key esc +settle 100 key : key A stable 400 5000 diff --git a/test/snapshots/tagpath.snap b/test/snapshots/tagpath.snap index f02769d9..841d4fed 100644 --- a/test/snapshots/tagpath.snap +++ b/test/snapshots/tagpath.snap @@ -41,6 +41,9 @@ key i text /renamed stable 400 5000 snap name-draft +# Esc keeps the draft pending; a second drops it +key esc +settle 100 key esc stable 400 5000 snap name-cancelled |
