emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/pacmacs c6ddeab3f2 215/472: Roughly implement it replayer


From: ELPA Syncer
Subject: [nongnu] elpa/pacmacs c6ddeab3f2 215/472: Roughly implement it replayer (#122)
Date: Thu, 6 Jan 2022 21:59:26 -0500 (EST)

branch: elpa/pacmacs
commit c6ddeab3f26a7db60afe806cc49a828ac0582d1c
Author: rexim <reximkut@gmail.com>
Commit: rexim <reximkut@gmail.com>

    Roughly implement it replayer (#122)
---
 it-cases/it-case01.el |  10 ++++
 it-cases/it-case02.el | 139 ++++++++++++++++++++++++++++++++++++++++++++++++++
 tools/it-recorder.el  |  34 ++++++++++--
 3 files changed, 179 insertions(+), 4 deletions(-)

diff --git a/it-cases/it-case01.el b/it-cases/it-case01.el
new file mode 100644
index 0000000000..551e6d3271
--- /dev/null
+++ b/it-cases/it-case01.el
@@ -0,0 +1,10 @@
+((pacmacs-down . 7)
+ (pacmacs-right . 10)
+ (pacmacs-down . 14)
+ (pacmacs-right . 17)
+ (pacmacs-down . 21)
+ (pacmacs-right . 26)
+ (pacmacs-up . 30)
+ (pacmacs-left . 32)
+ (pacmacs-up . 34)
+ (pacmacs-left . 37))
diff --git a/it-cases/it-case02.el b/it-cases/it-case02.el
new file mode 100644
index 0000000000..25b1520515
--- /dev/null
+++ b/it-cases/it-case02.el
@@ -0,0 +1,139 @@
+((pacmacs-down . 8)
+ (pacmacs-right . 11)
+ (pacmacs-down . 15)
+ (pacmacs-right . 17)
+ (pacmacs-down . 21)
+ (pacmacs-right . 26)
+ (pacmacs-up . 31)
+ (pacmacs-left . 33)
+ (pacmacs-up . 36)
+ (pacmacs-left . 38)
+ (pacmacs-right . 41)
+ (pacmacs-down . 42)
+ (pacmacs-left . 46)
+ (pacmacs-up . 50)
+ (pacmacs-left . 52)
+ (pacmacs-down . 56)
+ (pacmacs-left . 59)
+ (pacmacs-right . 62)
+ (pacmacs-up . 64)
+ (pacmacs-left . 68)
+ (pacmacs-up . 71)
+ (pacmacs-left . 73)
+ (pacmacs-up . 91)
+ (pacmacs-up . 95)
+ (pacmacs-up . 98)
+ (pacmacs-up . 100)
+ (pacmacs-right . 102)
+ (pacmacs-down . 105)
+ (pacmacs-right . 110)
+ (pacmacs-up . 113)
+ (pacmacs-right . 118)
+ (pacmacs-down . 120)
+ (pacmacs-right . 125)
+ (pacmacs-up . 128)
+ (pacmacs-left . 133)
+ (pacmacs-down . 136)
+ (pacmacs-up . 140)
+ (pacmacs-right . 144)
+ (pacmacs-down . 147)
+ (pacmacs-right . 171)
+ (pacmacs-down . 182)
+ (pacmacs-left . 184)
+ (pacmacs-up . 190)
+ (pacmacs-right . 192)
+ (pacmacs-up . 206)
+ (pacmacs-left . 208)
+ (pacmacs-down . 215)
+ (pacmacs-up . 221)
+ (pacmacs-right . 224)
+ (pacmacs-up . 235)
+ (pacmacs-left . 240)
+ (pacmacs-right . 254)
+ (pacmacs-left . 272)
+ (pacmacs-down . 279)
+ (pacmacs-up . 288)
+ (pacmacs-right . 290)
+ (pacmacs-up . 297)
+ (pacmacs-left . 304)
+ (pacmacs-right . 322)
+ (pacmacs-down . 330)
+ (pacmacs-left . 335)
+ (pacmacs-up . 342)
+ (pacmacs-right . 344)
+ (pacmacs-up . 352)
+ (pacmacs-left . 356)
+ (pacmacs-right . 367)
+ (pacmacs-left . 379)
+ (pacmacs-right . 398)
+ (pacmacs-down . 407)
+ (pacmacs-left . 410)
+ (pacmacs-down . 443)
+ (pacmacs-left . 458)
+ (pacmacs-up . 466)
+ (pacmacs-right . 472)
+ (pacmacs-down . 482)
+ (pacmacs-left . 483)
+ (pacmacs-down . 491)
+ (pacmacs-right . 493)
+ (pacmacs-down . 503)
+ (pacmacs-left . 506)
+ (pacmacs-up . 517)
+ (pacmacs-right . 519)
+ (pacmacs-up . 527)
+ (pacmacs-left . 528)
+ (pacmacs-right . 536)
+ (pacmacs-left . 546)
+ (pacmacs-up . 564)
+ (pacmacs-right . 571)
+ (pacmacs-down . 583)
+ (pacmacs-down . 620)
+ (pacmacs-left . 625)
+ (pacmacs-down . 630)
+ (pacmacs-right . 631)
+ (pacmacs-left . 664)
+ (pacmacs-up . 669)
+ (pacmacs-right . 675)
+ (pacmacs-down . 683)
+ (pacmacs-left . 686)
+ (pacmacs-down . 691)
+ (pacmacs-left . 696)
+ (pacmacs-down . 703)
+ (pacmacs-up . 708)
+ (pacmacs-right . 714)
+ (pacmacs-up . 718)
+ (pacmacs-right . 720)
+ (pacmacs-right . 724)
+ (pacmacs-right . 726)
+ (pacmacs-left . 729)
+ (pacmacs-down . 729)
+ (pacmacs-up . 731)
+ (pacmacs-left . 751)
+ (pacmacs-up . 758)
+ (pacmacs-right . 766)
+ (pacmacs-down . 772)
+ (pacmacs-left . 774)
+ (pacmacs-down . 782)
+ (pacmacs-right . 789)
+ (pacmacs-left . 807)
+ (pacmacs-up . 814)
+ (pacmacs-right . 819)
+ (pacmacs-left . 849)
+ (pacmacs-up . 855)
+ (pacmacs-left . 863)
+ (pacmacs-right . 870)
+ (pacmacs-down . 879)
+ (pacmacs-left . 886)
+ (pacmacs-right . 890)
+ (pacmacs-left . 893)
+ (pacmacs-right . 899)
+ (pacmacs-left . 902)
+ (pacmacs-right . 905)
+ (pacmacs-up . 911)
+ (pacmacs-right . 915)
+ (pacmacs-up . 917)
+ (pacmacs-right . 920)
+ (pacmacs-left . 926)
+ (pacmacs-right . 928)
+ (pacmacs-right . 937)
+ (pacmacs-left . 941))
diff --git a/tools/it-recorder.el b/tools/it-recorder.el
index e31424152d..f96611e992 100644
--- a/tools/it-recorder.el
+++ b/tools/it-recorder.el
@@ -1,5 +1,7 @@
 (require 'pacmacs)
 
+(require 'dash)
+(require 'f)
 (require 'cl-lib)
 
 (defvar pacmacs--tick-counter 0)
@@ -22,24 +24,29 @@
         (insert))
     (write-file filename)))
 
+(defun pacmacs--load-test-case (filename)
+  (-> (f-read-text filename)
+      (read-from-string)
+      (car)))
+
 (defun pacmacs-record-up ()
   (interactive)
-  (pacmacs--record-action 'up)
+  (pacmacs--record-action 'pacmacs-up)
   (pacmacs-up))
 
 (defun pacmacs-record-down ()
   (interactive)
-  (pacmacs--record-action 'down)
+  (pacmacs--record-action 'pacmacs-down)
   (pacmacs-down))
 
 (defun pacmacs-record-left ()
   (interactive)
-  (pacmacs--record-action 'left)
+  (pacmacs--record-action 'pacmacs-left)
   (pacmacs-left))
 
 (defun pacmacs-record-right ()
   (interactive)
-  (pacmacs--record-action 'right)
+  (pacmacs--record-action 'pacmacs-right)
   (pacmacs-right))
 
 (defun pacmacs-record-tick ()
@@ -47,6 +54,17 @@
   (cl-incf pacmacs--tick-counter)
   (pacmacs-tick))
 
+(defun pacmacs-replay-tick ()
+  (cl-incf pacmacs--tick-counter)
+  (pacmacs-tick)
+
+  (if (not pacmacs--recorded-actions)
+      (pacmacs-quit)
+    (-let ((((action . tick-number) . _) pacmacs--recorded-actions))
+      (when (= tick-number pacmacs--tick-counter)
+        (funcall action)
+        (setq pacmacs--recorded-actions (cdr pacmacs--recorded-actions))))))
+
 (define-derived-mode pacmacs-it-recorder-mode pacmacs-mode 
"pacmacs-it-recorder-mode"
   (define-key pacmacs-it-recorder-mode-map (kbd "<up>") 'pacmacs-record-up)
   (define-key pacmacs-it-recorder-mode-map (kbd "<down>") 'pacmacs-record-down)
@@ -58,3 +76,11 @@
   (pacmacs--initialize-game 'pacmacs-record-tick)
   (pacmacs-it-recorder-mode)
   (pacmacs--reset-recorder))
+
+(defun pacmacs--start-it-replayer (filename)
+  (interactive "fLoad test case: ")
+  (pacmacs--initialize-game 'pacmacs-replay-tick)
+  (pacmacs-mode)
+
+  (setq pacmacs--recorded-actions (pacmacs--load-test-case filename))
+  (setq pacmacs--tick-counter 0))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]