{ "function": "pongKey", "cases": [ { "name": "ArrowUp-down-presses-up", "args": [ true, "ArrowUp" ], "expected": { "tag": "Press", "key": "Up" } }, { "name": "ArrowUp-up-releases-up", "args": [ false, "ArrowUp" ], "expected": { "tag": "Release", "key": "Up" } }, { "name": "w-down-presses-up", "args": [ true, "w" ], "expected": { "tag": "Press", "key": "Up" } }, { "name": "w-up-releases-up", "args": [ false, "w" ], "expected": { "tag": "Release", "key": "Up" } }, { "name": "ArrowDown-down-presses-down", "args": [ true, "ArrowDown" ], "expected": { "tag": "Press", "key": "Down" } }, { "name": "ArrowDown-up-releases-down", "args": [ false, "ArrowDown" ], "expected": { "tag": "Release", "key": "Down" } }, { "name": "s-down-presses-down", "args": [ true, "s" ], "expected": { "tag": "Press", "key": "Down" } }, { "name": "s-up-releases-down", "args": [ false, "s" ], "expected": { "tag": "Release", "key": "Down" } }, { "name": "r-down-restarts", "args": [ true, "r" ], "expected": { "tag": "Restart" } }, { "name": "r-up-does-nothing", "args": [ false, "r" ], "expected": null }, { "name": "other-key-down-is-ignored", "args": [ true, "x" ], "expected": null }, { "name": "other-key-up-is-ignored", "args": [ false, "x" ], "expected": null }, { "name": "space-is-ignored", "args": [ true, " " ], "expected": null }, { "name": "constructor-is-not-a-key", "args": [ true, "constructor" ], "expected": null }, { "name": "toString-is-not-a-key", "args": [ false, "toString" ], "expected": null }, { "name": "W-down-presses-up", "args": [ true, "W" ], "expected": { "tag": "Press", "key": "Up" } }, { "name": "W-up-releases-up", "args": [ false, "W" ], "expected": { "tag": "Release", "key": "Up" } }, { "name": "S-down-presses-down", "args": [ true, "S" ], "expected": { "tag": "Press", "key": "Down" } }, { "name": "S-up-releases-down", "args": [ false, "S" ], "expected": { "tag": "Release", "key": "Down" } }, { "name": "R-down-restarts", "args": [ true, "R" ], "expected": { "tag": "Restart" } }, { "name": "R-up-does-nothing", "args": [ false, "R" ], "expected": null } ] }