feat(js): m10 extensions (pause, restart, speed-up via Frame) with tests

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
Lucas Winther
2026-10-28 23:56:49 +01:00
co-authored by Claude Sonnet 5.5
parent 25141ce86d
commit fd7c5f2acf
13 changed files with 1347 additions and 17 deletions
+4 -4
View File
@@ -143,16 +143,16 @@
"expected": null
},
{
"name": "space-is-ignored (until m10)",
"name": "constructor-is-not-a-key",
"args": [
" "
"constructor"
],
"expected": null
},
{
"name": "r-is-ignored (until m10)",
"name": "toString-is-not-a-key",
"args": [
"r"
"toString"
],
"expected": null
}
+66
View File
@@ -0,0 +1,66 @@
{
"function": "keyToAction",
"cases": [
{
"name": "space-toggles-pause",
"args": [
" "
],
"expected": {
"tag": "TogglePause"
}
},
{
"name": "r-restarts",
"args": [
"r"
],
"expected": {
"tag": "Restart"
}
},
{
"name": "R-restarts",
"args": [
"R"
],
"expected": {
"tag": "Restart"
}
},
{
"name": "ArrowUp-still-turns-up",
"args": [
"ArrowUp"
],
"expected": {
"tag": "Turn",
"dir": "Up"
}
},
{
"name": "d-still-turns-right",
"args": [
"d"
],
"expected": {
"tag": "Turn",
"dir": "Right"
}
},
{
"name": "Enter-is-not-bound",
"args": [
"Enter"
],
"expected": null
},
{
"name": "empty-string-is-not-bound",
"args": [
""
],
"expected": null
}
]
}
+47
View File
@@ -0,0 +1,47 @@
{
"function": "movesEvery",
"cases": [
{
"name": "score-0",
"args": [
0
],
"expected": 8
},
{
"name": "score-2",
"args": [
2
],
"expected": 8
},
{
"name": "score-3",
"args": [
3
],
"expected": 7
},
{
"name": "score-17",
"args": [
17
],
"expected": 3
},
{
"name": "score-18",
"args": [
18
],
"expected": 2
},
{
"name": "score-100",
"args": [
100
],
"expected": 2
}
]
}
File diff suppressed because it is too large Load Diff