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

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

[nongnu] elpa/pacmacs abb1f366fb 031/472: Merge branch 'uts-for-aseprite


From: ELPA Syncer
Subject: [nongnu] elpa/pacmacs abb1f366fb 031/472: Merge branch 'uts-for-aseprite-animation-support-22'. Close #22
Date: Thu, 6 Jan 2022 21:59:03 -0500 (EST)

branch: elpa/pacmacs
commit abb1f366fb12d722fbd65c0c7b390812427cffbb
Merge: d5bdd0b20a 7e04991d4e
Author: rexim <reximkut@gmail.com>
Commit: rexim <reximkut@gmail.com>

    Merge branch 'uts-for-aseprite-animation-support-22'. Close #22
---
 pacman-anim.el           | 13 +++++-----
 test/pacman-anim-test.el | 63 ++++++++++++++++++++++++++++++++++++++++++++++--
 2 files changed, 67 insertions(+), 9 deletions(-)

diff --git a/pacman-anim.el b/pacman-anim.el
index c3574c0639..cee67bf889 100644
--- a/pacman-anim.el
+++ b/pacman-anim.el
@@ -9,19 +9,18 @@
          (aseprite-frames (cdr (assoc 'frames aseprite-json))))
     (pacman-make-anim
      (mapcar 'pacman-convert-aseprite-frame
-             (pacman-aseprite-sort-frame-hack aseprite-frames)))))
+             (sort aseprite-frames
+                   'pacman-compare-aseprite-frames)))))
 
 (defun pacman-aseprite-frame-get-order (aseprite-frame)
   (let ((frame-name (symbol-name (car aseprite-frame))))
     (string-match "\\([0-9]+\\)\\.ase$" frame-name)
     (string-to-number (match-string 1 frame-name))))
 
-(defun pacman-aseprite-sort-frame-hack (aseprite-frames)
-  (sort aseprite-frames
-        #'(lambda (f1 f2)
-            (let ((o1 (pacman-aseprite-frame-get-order f1))
-                  (o2 (pacman-aseprite-frame-get-order f2)))
-              (< o1 o2)))))
+(defun pacman-compare-aseprite-frames (aseprite-frame1 aseprite-frame2)
+  (let ((order1 (pacman-aseprite-frame-get-order aseprite-frame1))
+        (order2 (pacman-aseprite-frame-get-order aseprite-frame2)))
+    (< order1 order2)))
 
 (defun pacman-convert-aseprite-frame (aseprite-frame)
   (let* ((frame (cdr (assoc 'frame (cdr aseprite-frame))))
diff --git a/test/pacman-anim-test.el b/test/pacman-anim-test.el
index 7e44a77dcb..74e32eade1 100644
--- a/test/pacman-anim-test.el
+++ b/test/pacman-anim-test.el
@@ -1,5 +1,64 @@
+(require 'cl)                           ;el-mock doesn't work without
+                                        ;this
+
 (ert-deftest pacman-anim-get-frame-test ()
   (let ((anim (list :frames (number-sequence 1 5)
                     :current-frame 2)))
-    (should (equal 3
-                   (pacman-anim-get-frame anim)))))
+    (should (equal 3 (pacman-anim-get-frame anim)))))
+
+(ert-deftest pacman-anim-next-frame-test ()
+  (let ((anim (list :frames (number-sequence 1 4)
+                    :current-frame 2)))
+    (pacman-anim-next-frame anim)
+    (should (equal 3 (plist-get anim :current-frame)))
+
+    (pacman-anim-next-frame anim)
+    (should (equal 0 (plist-get anim :current-frame)))))
+
+(ert-deftest pacman-anim-object-next-frame-test ()
+  (with-mock
+   (stub pacman-anim-next-frame => 42)
+   (let ((anim-object '(:animation 41)))
+     (pacman-anim-object-next-frame anim-object)
+     (should (equal '(:animation 42)
+                    anim-object)))))
+
+(ert-deftest pacman-convert-aseprite-frame-test ()
+  (let ((aseprite-frame '(khooy
+                          (foo . bar)
+                          (frame
+                           (x . 1)
+                           (y . 2)
+                           (h . 3)
+                           (w . 4))))
+        (expected-frame (list 1 2 4 3)))
+    (should (equal expected-frame
+                   (pacman-convert-aseprite-frame aseprite-frame)))))
+
+(ert-deftest pacman-aseprite-frame-get-order-test ()
+  (let ((aseprite-frame '(khooy42.ase
+                          (foo . bar)
+                          (frame
+                           (x . 1)
+                           (y . 2)
+                           (h . 3)
+                           (w . 4)))))
+    (should (equal 42 (pacman-aseprite-frame-get-order aseprite-frame)))))
+
+(ert-deftest pacman-compare-aseprite-frames-test ()
+  (let ((aseprite-frame1 '(khooy42.ase
+                           (foo . bar)
+                           (frame
+                            (x . 1)
+                            (y . 2)
+                            (h . 3)
+                            (w . 4))))
+        (aseprite-frame2 '(khooy43.ase
+                           (foo . bar)
+                           (frame
+                            (x . 1)
+                            (y . 2)
+                            (h . 3)
+                            (w . 4)))))
+    (should (pacman-compare-aseprite-frames aseprite-frame1 aseprite-frame2))
+    (should (not (pacman-compare-aseprite-frames aseprite-frame2 
aseprite-frame1)))))



reply via email to

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