This commit is contained in:
2026-01-21 10:30:07 -05:00
parent a990076b03
commit b14ba33c3a
20 changed files with 3718 additions and 43 deletions
+18
View File
@@ -0,0 +1,18 @@
# VHS E2E test for Babashka counter
Output test/e2e/output/bb_counter.ascii
Require bb
Set Shell "bash"
Set FontSize 14
Set Width 800
Set Height 400
Type "bb counter"
Enter
Sleep 3s
Type "k"
Sleep 500ms
Type "q"
Sleep 1s
+46
View File
@@ -0,0 +1,46 @@
# VHS E2E test for counter example
# Tests basic Elm architecture flow: render → input → update → render
Output test/e2e/output/counter.gif
Output test/e2e/output/counter.ascii
Require clojure
Set Shell "bash"
Set FontSize 14
Set Width 800
Set Height 400
Set Framerate 10
# Run the counter example
Type "clojure -A:dev -M -m examples.counter"
Enter
Sleep 2s
# Test increment with 'k' key
Type "k"
Sleep 500ms
Type "k"
Sleep 500ms
Type "k"
Sleep 500ms
# Test decrement with 'j' key
Type "j"
Sleep 500ms
# Test up arrow
Up
Sleep 500ms
# Test down arrow
Down
Sleep 500ms
# Test reset with 'r'
Type "r"
Sleep 500ms
# Quit with 'q'
Type "q"
Sleep 1s
+375
View File
@@ -0,0 +1,375 @@
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
> bb counter
────────────────────────────────────────────────────────────────────────────────
╭──────────╮
│ Counter │
│ │
│ Count: 0 │
╰──────────╯
j/k or up/do
wn: change value
r: reset q: quit
────────────────────────────────────────────────────────────────────────────────
╭──────────╮
│ Counter │
│ │
│ Count: 0 │
╰──────────╯
j/k or up/do
wn: change value
r: reset q: quit
────────────────────────────────────────────────────────────────────────────────
╭──────────╮
│ Counter │
│ │
│ Count: 1 │
╰──────────╯
j/k or up/do
wn: change value
r: reset q: quit
────────────────────────────────────────────────────────────────────────────────
╭──────────╮
│ Counter │
│ │
│ Count: 1 │
╰──────────╯
j/k or up/do
wn: change value
r: reset q: quit
────────────────────────────────────────────────────────────────────────────────
╭──────────╮
│ Counter │
│ │
│ Count: 1 │
╰──────────╯
j/k or up/do
wn: change value
r: reset q: quit
────────────────────────────────────────────────────────────────────────────────
╭──────────╮
│ Counter │
│ │
│ Count: 1 │
╰──────────╯
j/k or up/do
wn: change value
r: reset q: quit
────────────────────────────────────────────────────────────────────────────────
+629
View File
@@ -0,0 +1,629 @@
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
>
────────────────────────────────────────────────────────────────────────────────
> clojure -A:dev -M -m examples.counter
────────────────────────────────────────────────────────────────────────────────
> clojure -A:dev -M -m examples.counter
────────────────────────────────────────────────────────────────────────────────
╭──────────╮
│ Counter │
│ │
│ Count: 0 │
╰──────────╯
j/k or up/do
wn: change value
r: reset q: quit
────────────────────────────────────────────────────────────────────────────────
╭──────────╮
│ Counter │
│ │
│ Count: 1 │
╰──────────╯
j/k or up/do
wn: change value
r: reset q: quit
────────────────────────────────────────────────────────────────────────────────
╭──────────╮
│ Counter │
│ │
│ Count: 1 │
╰──────────╯
j/k or up/do
wn: change value
r: reset q: quit
────────────────────────────────────────────────────────────────────────────────
╭──────────╮
│ Counter │
│ │
│ Count: 2 │
╰──────────╯
j/k or up/do
wn: change value
r: reset q: quit
────────────────────────────────────────────────────────────────────────────────
╭──────────╮
│ Counter │
│ │
│ Count: 2 │
╰──────────╯
j/k or up/do
wn: change value
r: reset q: quit
────────────────────────────────────────────────────────────────────────────────
╭──────────╮
│ Counter │
│ │
│ Count: 3 │
╰──────────╯
j/k or up/do
wn: change value
r: reset q: quit
────────────────────────────────────────────────────────────────────────────────
╭──────────╮
│ Counter │
│ │
│ Count: 3 │
╰──────────╯
j/k or up/do
wn: change value
r: reset q: quit
────────────────────────────────────────────────────────────────────────────────
╭──────────╮
│ Counter │
│ │
│ Count: 2 │
╰──────────╯
j/k or up/do
wn: change value
r: reset q: quit
────────────────────────────────────────────────────────────────────────────────
╭──────────╮
│ Counter │
│ │
│ Count: 2 │
╰──────────╯
j/k or up/do
wn: change value
r: reset q: quit
────────────────────────────────────────────────────────────────────────────────
╭──────────╮
│ Counter │
│ │
│ Count: 3 │
╰──────────╯
j/k or up/do
wn: change value
r: reset q: quit
────────────────────────────────────────────────────────────────────────────────
╭──────────╮
│ Counter │
│ │
│ Count: 3 │
╰──────────╯
j/k or up/do
wn: change value
r: reset q: quit
────────────────────────────────────────────────────────────────────────────────
╭──────────╮
│ Counter │
│ │
│ Count: 2 │
╰──────────╯
j/k or up/do
wn: change value
r: reset q: quit
────────────────────────────────────────────────────────────────────────────────
╭──────────╮
│ Counter │
│ │
│ Count: 2 │
╰──────────╯
j/k or up/do
wn: change value
r: reset q: quit
────────────────────────────────────────────────────────────────────────────────
╭──────────╮
│ Counter │
│ │
│ Count: 0 │
╰──────────╯
j/k or up/do
wn: change value
r: reset q: quit
────────────────────────────────────────────────────────────────────────────────
╭──────────╮
│ Counter │
│ │
│ Count: 0 │
╰──────────╯
j/k or up/do
wn: change value
r: reset q: quit
────────────────────────────────────────────────────────────────────────────────
╭──────────╮
│ Counter │
│ │
│ Count: 0 │
╰──────────╯
j/k or up/do
wn: change value
r: reset q: quit
────────────────────────────────────────────────────────────────────────────────
╭──────────╮
│ Counter │
│ │
│ Count: 0 │
╰──────────╯
j/k or up/do
wn: change value
r: reset q: quit
────────────────────────────────────────────────────────────────────────────────
Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB