Add VHS e2e tests and output recordings

Includes test tapes for navigation, branch operations, stash operations,
help panel, commits, and cursor navigation. Resolved stash conflicts by
keeping simpler test versions.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-22 11:01:11 -05:00
parent 99a3970f17
commit 2657545018
77 changed files with 22900 additions and 112 deletions
+696
View File
@@ -0,0 +1,696 @@
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/la
zygitclj-e2e-modal-narrow && cd /tmp/la
zygitclj-e2e-modal-narrow && bb --confi
g /home/ajet/repos/lazygitclj/bb.edn st
art
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/la
zygitclj-e2e-modal-narrow && cd /tmp/la
zygitclj-e2e-modal-narrow && bb --confi
g /home/ajet/repos/lazygitclj/bb.edn st
art
Initialized empty Git repository in /tm
p/lazygitclj-e2e-modal-narrow/.git/
[main (root-commit) c0156f0] Initial co
mmit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branc
h'
[feature-branch 229b261] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2
e-modal-narrow
- main branch with 1 commit
- feature-branch with 1 extra commit
- 1 staged file (file2.txt)
- 1 unstaged file (file1.txt)
- 1 untracked file (newfile.txt)
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ──────────────────────────┐
│ main → c0156f0 │
└─────────────────────────────────────┘
╔═ 2 Files (3) ═══════════════════════╗
║ M file2.txt ║
║ M file1.txt ║
╚═════════════════════════════════════╝
┌─ 3 Branches [L] R T ────────────────┐
│ feature-branch │
│ * main │
└─────────────────────────────────────┘
┌─ 4 Commits [C] R ───────────────────┐
│ c0156f0 Initial commit │
│ │
└─────────────────────────────────────┘
┌─ 5 Stash (0) ───────────────────────┐
│ No stashes │
└─────────────────────────────────────┘
┌─ 0 Main ────────────────────────────┐
│ diff --git a/file2.txt b/file2.txt │
│ index a29bdeb..723650f 100644 │
└─────────────────────────────────────┘
┌─ Command Log ───────────────────────┐
│ │
│ │
└─────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav spc:st
age a:all c:commit p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ──────────────────────────┐
│ main → c0156f0 │
└─────────────────────────────────────┘
┌─ 2 Files (3) ───────────────────────┐
│ M file2.txt │
│ M file1.txt │
└─────────────────────────────────────┘
╔═ 3 Branches [L] R T ════════════════╗
║ feature-branch ║
║ * main ║
╚═════════════════════════════════════╝
┌─ 4 Commits [C] R ───────────────────┐
│ c0156f0 Initial commit │
│ │
└─────────────────────────────────────┘
┌─ 5 Stash (0) ───────────────────────┐
│ No stashes │
└─────────────────────────────────────┘
┌─ 0 Main ────────────────────────────┐
│ │
│ │
└─────────────────────────────────────┘
┌─ Command Log ───────────────────────┐
│ │
│ │
└─────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav []:tab
s n:new d:del p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ──────────────────────────┐
│ main → c0156f0 │
└─────────────────────────────────────┘
┌─ 2 Files (3) ───────────────────────┐
│ M file2.txt │
│ M file1.txt │
└─────────────────────────────────────┘
╔═ 3 Branches [L] R T ════════════════╗
║ feature-branch ║
║ * main ║
╚═════════════════════════════════════╝
┌─ 4 Commits [C] R ───────────────────┐
│ c0156f0 Initial commit │
│ │
└─────────────────────────────────────┘
┌─ 5 Stash (0) ───────────────────────┐
│ No stashes │
└─────────────────────────────────────┘
┌─ 0 Main ────────────────────────────┐
│ │
│ │
└─────────────────────────────────────┘
┌─ Command Log ───────────────────────┐
│ │
│ │
└─────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav []:tab
s n:new d:del p/P:pull/push
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ──────────────────────────┐
│ main → c0156f0 │
└─────────────────────────────────────┘
┌─ 2 Files (3) ───────────────────────┐
│ M file2.txt │
│ M file1.txt │
└─────────────────────────────────────┘
┌─ 3 Branches [L] R T ────────────────┐
│ feature-branch │
│ * main │
└─────────────────────────────────────┘
╔═ 4 Commits [C] R ═══════════════════╗
║ c0156f0 Initial commit ║
║ ║
╚═════════════════════════════════════╝
┌─ 5 Stash (0) ───────────────────────┐
│ No stashes │
└─────────────────────────────────────┘
┌─ 0 Main ────────────────────────────┐
│ commit c0156f02c655f17932d5381166975c
5355a50ff3 │
│ Author: Test User <test@example.com>
└─────────────────────────────────────┘
┌─ Command Log ───────────────────────┐
│ │
│ │
└─────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav []:tab
────────────────────────────────────────────────────────────────────────────────
┌─ 1 Status ──────────────────────────┐
│ main → c0156f0 │
└─────────────────────────────────────┘
┌─ 2 Files (3) ───────────────────────┐
│ M file2.txt │
│ M file1.txt │
└─────────────────────────────────────┘
┌─ 3 Branches [L] R T ────────────────┐
│ feature-branch │
│ * main │
└─────────────────────────────────────┘
╔═ 4 Commits [C] R ═══════════════════╗
║ c0156f0 Initial commit ║
║ ║
╚═════════════════════════════════════╝
┌─ 5 Stash (0) ───────────────────────┐
│ No stashes │
└─────────────────────────────────────┘
┌─ 0 Main ────────────────────────────┐
│ commit c0156f02c655f17932d5381166975c
5355a50ff3 │
│ Author: Test User <test@example.com>
└─────────────────────────────────────┘
┌─ Command Log ───────────────────────┐
│ │
│ │
└─────────────────────────────────────┘
q:quit ?:help h/l:panels j/k:nav []:tab
────────────────────────────────────────────────────────────────────────────────
║ h/l - Prev/Next panel 2-5 - Jump
to panel ║
║ j/k - Move down/up z/Z - Undo
/Redo ║
║ p - Pull P - Push
║ ? - Help D - Reset
options ║
║ Files (2):
║ space - Stage/unstage a - Stage
all ║
║ c - Commit d - Discar
d file ║
║ s - Quick stash S - Stash
options ║
║ Branches (3):
║ [/] - Switch tabs enter - Ch
eckout ║
║ n - New branch d - Delete
branch ║
║ R - Rename M - Merge
║ f - Fast-forward
────────────────────────────────────────────────────────────────────────────────
║ h/l - Prev/Next panel 2-5 - Jump
to panel ║
║ j/k - Move down/up z/Z - Undo
/Redo ║
║ p - Pull P - Push
║ ? - Help D - Reset
options ║
║ Files (2):
║ space - Stage/unstage a - Stage
all ║
║ c - Commit d - Discar
d file ║
║ s - Quick stash S - Stash
options ║
║ Branches (3):
║ [/] - Switch tabs enter - Ch
eckout ║
║ n - New branch d - Delete
branch ║
║ R - Rename M - Merge
║ f - Fast-forward
────────────────────────────────────────────────────────────────────────────────
║ h/l - Prev/Next panel 2-5 - Jump
to panel ║
║ j/k - Move down/up z/Z - Undo
/Redo ║
║ p - Pull P - Push
║ ? - Help D - Reset
options ║
║ Files (2):
║ space - Stage/unstage a - Stage
all ║
║ c - Commit d - Discar
d file ║
║ s - Quick stash S - Stash
options ║
║ Branches (3):
║ [/] - Switch tabs enter - Ch
eckout ║
║ n - New branch d - Delete
branch ║
║ R - Rename M - Merge
║ f - Fast-forward
────────────────────────────────────────────────────────────────────────────────
to panel ║
║ j/k - Move down/up z/Z - Undo
/Redo ║
║ p - Pull P - Push
║ ? - Help D - Reset
options ║
║ Files (2):
║ space - Stage/unstage a - Stage
all ║
║ c - Commit d - Discar
d file ║
║ s - Quick stash S - Stash
options ║
║ Branches (3):
║ [/] - Switch tabs enter - Ch
┌─ 1 Status ──────────────────────────┐
│ main → c0156f0 │
└─────────────────────────────────────┘
┌─ 2 Files (3) ───────────────────────┐
│ M file2.txt │
│ M file1.txt │
└─────────────────────────────────────┘
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/la
zygitclj-e2e-modal-narrow && cd /tmp/la
zygitclj-e2e-modal-narrow && bb --confi
g /home/ajet/repos/lazygitclj/bb.edn st
art
Initialized empty Git repository in /tm
p/lazygitclj-e2e-modal-narrow/.git/
[main (root-commit) c0156f0] Initial co
mmit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branc
h'
[feature-branch 229b261] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2
e-modal-narrow
- main branch with 1 commit
- feature-branch with 1 extra commit
- 1 staged file (file2.txt)
- 1 unstaged file (file1.txt)
- 1 untracked file (newfile.txt)
Starting lazygitclj...
Goodbye!
>
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/la
zygitclj-e2e-modal-narrow && cd /tmp/la
zygitclj-e2e-modal-narrow && bb --confi
g /home/ajet/repos/lazygitclj/bb.edn st
art
Initialized empty Git repository in /tm
p/lazygitclj-e2e-modal-narrow/.git/
[main (root-commit) c0156f0] Initial co
mmit
3 files changed, 3 insertions(+)
create mode 100644 README.md
create mode 100644 file1.txt
create mode 100644 file2.txt
Switched to a new branch 'feature-branc
h'
[feature-branch 229b261] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2
e-modal-narrow
- main branch with 1 commit
- feature-branch with 1 extra commit
- 1 staged file (file2.txt)
- 1 unstaged file (file1.txt)
- 1 untracked file (newfile.txt)
Starting lazygitclj...
Goodbye!
>
────────────────────────────────────────────────────────────────────────────────