[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)))))
- [nongnu] branch elpa/pacmacs created (now 25a8c30210), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs bd5970816f 002/472: Check if the killing buffer is ours. Close #1, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 6124aa2061 009/472: Fix Copyright year, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 2d818f9a49 006/472: Implement rendering of game state. Close #8, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 3ff080432f 015/472: Extract pacman-resources module (#19), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs b8fce3e847 028/472: Add UT for pacman-convert-aseprite-frame function (#22), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 179ea99635 021/472: Add our own sprites. Close #13, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs d0dc2eff12 027/472: Ad UT for pacman-anim-object-next-frame function (#22), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs abb1f366fb 031/472: Merge branch 'uts-for-aseprite-animation-support-22'. Close #22,
ELPA Syncer <=
- [nongnu] elpa/pacmacs fe05829cd3 004/472: Fix kill buffer problem. Close #7, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 0a532ddc58 011/472: Add gitignore, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 96ad2016a1 001/472: Add initial code for pacman game, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 8eddfbd0df 005/472: Implement resource application layer. Close #3, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs e75db415af 013/472: Enable travis. Close #14, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 646db1b62a 022/472: Kill game window on quit. Close #17, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs b8d1136c3a 014/472: Extract pacman-anim module (#19), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 929fda2cb4 016/472: Define package in Cask file directly (#19), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 043c660152 038/472: Clean up usage instructions in README, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 58cf91b060 032/472: Enable undercover (#27), ELPA Syncer, 2022/01/06