aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/engine-test.scm30
1 files changed, 29 insertions, 1 deletions
diff --git a/tests/engine-test.scm b/tests/engine-test.scm
index f886165..9290ad7 100644
--- a/tests/engine-test.scm
+++ b/tests/engine-test.scm
@@ -18,6 +18,7 @@
(define (game-controller-open! i) #f)
(define (create-window! . args) 'mock-window)
(define (create-renderer! . args) 'mock-renderer)
+ (define (render-logical-size-set! . args) #f)
(define (destroy-window! . args) #f)
(define (make-color r g b #!optional (a 255)) (list r g b a))
(define render-draw-color (getter-with-setter (lambda (r) #f) (lambda (r c) #f)))
@@ -147,7 +148,10 @@
(game-input g))
(test-equal "debug? defaults to #f"
#f
- (game-debug? g))))
+ (game-debug? g))
+ (test-equal "scale defaults to 1"
+ 1
+ (game-scale g))))
(test-group "make-game with keyword args"
(let ((g (make-game title: "My Game" width: 320 height: 240 frame-delay: 33)))
@@ -164,6 +168,30 @@
#t
(game-debug? (make-game debug?: #t))))
+(test-group "make-game scale keyword"
+ (test-equal "scale defaults to 1"
+ 1
+ (game-scale (make-game)))
+ (test-equal "scale can be set to 2"
+ 2
+ (game-scale (make-game scale: 2)))
+ (test-equal "scale can be set to 3"
+ 3
+ (game-scale (make-game scale: 3)))
+ (import (chicken condition))
+ (let ((caught #f))
+ (condition-case (make-game scale: 0)
+ (e (exn) (set! caught #t)))
+ (test-assert "scale: 0 signals error" caught))
+ (let ((caught #f))
+ (condition-case (make-game scale: -1)
+ (e (exn) (set! caught #t)))
+ (test-assert "scale: -1 signals error" caught))
+ (let ((caught #f))
+ (condition-case (make-game scale: 1.5)
+ (e (exn) (set! caught #t)))
+ (test-assert "scale: 1.5 signals error" caught)))
+
(test-group "game-asset and game-asset-set!"
(let ((g (make-game)))
(test-equal "missing key returns #f"