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
+906
View File
@@ -0,0 +1,906 @@
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-commit && cd /tmp/lazygitclj-e2e-commit && bb -
-config /home/ajet/repos/lazygitclj/bb.edn start
────────────────────────────────────────────────────────────────────────────────
> ./test/e2e/setup-test-repo.sh /tmp/lazygitclj-e2e-commit && cd /tmp/lazygitclj-e2e-commit && bb -
-config /home/ajet/repos/lazygitclj/bb.edn start
Initialized empty Git repository in /tmp/lazygitclj-e2e-commit/.git/
[main (root-commit) bbbe757] Initial commit
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-branch'
[feature-branch 29e8112] Feature work
1 file changed, 1 insertion(+)
Switched to branch 'main'
Test repo created at /tmp/lazygitclj-e2e-commit
- 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...
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (bbbe757)
╔═ 1 Files (3) ═══╗
║ Staged: ║
║ > M file2.txt ║
║ ║
║ Unstaged: ║
║ M file1.txt ║
║ ?? newfile.txt ║
╚══════════════════╝
╭─ 2 Commits (1) ─────────────────────────╮
│ bbbe757 Initial commit (0 seconds ago) │
╰──────────────────────────────────────────╯
╭─ 3 Branches (2) ──╮
│ feature-branch │
│ * main │
╰────────────────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (bbbe757)
╔═ 1 Files (3) ═══╗
║ Staged: ║
║ > M file1.txt ║
║ M file2.txt ║
║ A newfile.txt ║
║ ║
║ ║
╚══════════════════╝
╭─ 2 Commits (1) ─────────────────────────╮
│ bbbe757 Initial commit (2 seconds ago) │
╰──────────────────────────────────────────╯
╭─ 3 Branches (2) ──╮
│ feature-branch │
│ * main │
╰────────────────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (bbbe757)
╔═ 1 Files (3) ═══╗
║ Staged: ║
║ > M file1.txt ║
║ M file2.txt ║
║ A newfile.txt ║
║ ║
║ ║
╚══════════════════╝
╭─ 2 Commits (1) ─────────────────────────╮
│ bbbe757 Initial commit (2 seconds ago) │
╰──────────────────────────────────────────╯
╭─ 3 Branches (2) ──╮
│ feature-branch │
│ * main │
╰────────────────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (bbbe757)
╭─ commit ╮
│ > _ │
╰─────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (bbbe757)
╭─ commit ╮
│ > _ │
╰─────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (bbbe757)
╭─ commit ╮
│ > _ │
╰─────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (bbbe757)
╭─ commit ╮
│ > _ │
╰─────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (bbbe757)
╭─ commit ╮
│ > _ │
╰─────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (bbbe757)
Commit message cannot be empty
╭─ commit ╮
│ > _ │
╰─────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (bbbe757)
Commit message cannot be empty
╭─ commit ╮
│ > _ │
╰─────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (bbbe757)
Commit message cannot be empty
╭─ commit ╮
│ > _ │
╰─────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (bbbe757)
Commit message cannot be empty
╭─ commit ╮
│ > _ │
╰─────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (bbbe757)
Commit message cannot be empty
╭─ commit ╮
│ > _ │
╰─────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (bbbe757)
Commit message cannot be empty
╭─ commit ╮
│ > _ │
╰─────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (bbbe757)
Commit message cannot be empty
╭─ commit ╮
│ > _ │
╰─────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (bbbe757)
Commit message cannot be empty
╭─ commit ╮
│ > _ │
╰─────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (bbbe757)
Commit message cannot be empty
╭─ commit ╮
│ > _ │
╰─────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────
lazygitclj main (bbbe757)
Commit message cannot be empty
╭─ commit ╮
│ > _ │
╰─────────╯
q:quit r:refresh tab:switch space:stage/unstage a:stage all c:commit d:discard p:pull P:
push
────────────────────────────────────────────────────────────────────────────────