diff options
author | Lars Ingebrigtsen <larsi@gnus.org> | 2017-04-24 07:56:31 +0200 |
---|---|---|
committer | Lars Ingebrigtsen <larsi@gnus.org> | 2017-04-24 07:56:31 +0200 |
commit | e589018b48f802d69f62ab1e7e266df1c7d8cf68 (patch) | |
tree | c8d43d00816b84ec692714b3a4a7187651a83247 | |
parent | fe304efa5155cd6a5c20a0731475a0ad6d087c4c (diff) | |
download | emacs-e589018b48f802d69f62ab1e7e266df1c7d8cf68.tar.gz |
Add image sizing tests for an image that's narrow
-rw-r--r-- | test/data/image/blank-100x200.png | bin | 0 -> 423 bytes | |||
-rw-r--r-- | test/manual/image-size-tests.el | 62 |
2 files changed, 45 insertions, 17 deletions
diff --git a/test/data/image/blank-100x200.png b/test/data/image/blank-100x200.png Binary files differnew file mode 100644 index 00000000000..ad26949e983 --- /dev/null +++ b/test/data/image/blank-100x200.png diff --git a/test/manual/image-size-tests.el b/test/manual/image-size-tests.el index 301352eddb0..577c7658791 100644 --- a/test/manual/image-size-tests.el +++ b/test/manual/image-size-tests.el @@ -22,15 +22,21 @@ ;;; Code: -(defmacro im-should (width height &rest props) - `(unless (im-compare (im-image ,@props) ,width ,height) - (error "%s didn't succeed" ',props))) +(defmacro im-should (image width height &rest props) + `(let ((im (im-image ,image ,@props))) + (unless (im-compare im ,width ,height) + (error "%s didn't succeed; size is %s" + ',props (image-size im t))))) -(defun im-image (&rest props) +(defun im-image (type &rest props) (let ((image-scaling-factor 1)) (apply #'create-image - (expand-file-name "test/data/image/blank-200x100.png" source-directory) + (expand-file-name + (if (eq type :w) + "test/data/image/blank-200x100.png" + "test/data/image/blank-100x200.png") + source-directory) 'imagemagick nil props))) (defun im-compare (image width height) @@ -41,24 +47,46 @@ (defun image-size-tests () (unless (imagemagick-types) (error "This only makes sense if ImageMagick is installed")) + ;; Test the image that's wider than it is tall. ;; Default sizes. - (im-should 200 100) + (im-should :w 200 100) ;; Changing one dimension changes the other. - (im-should 100 50 :width 100) - (im-should 100 50 :height 50) + (im-should :w 100 50 :width 100) + (im-should :w 100 50 :height 50) ;; The same with :max-width etc. - (im-should 100 50 :max-width 100) - (im-should 100 50 :max-height 50) + (im-should :w 100 50 :max-width 100) + (im-should :w 100 50 :max-height 50) ;; :width wins over :max-width etc - (im-should 300 150 :width 300 :max-width 100) - (im-should 400 200 :height 200 :max-height 100) + (im-should :w 300 150 :width 300 :max-width 100) + (im-should :w 400 200 :height 200 :max-height 100) ;; Specifying both width and height is fine. - (im-should 300 50 :width 300 :height 50) + (im-should :w 300 50 :width 300 :height 50) ;; A too-large :max-width (etc) has no effect. - (im-should 200 100 :max-width 300) - (im-should 200 100 :max-height 300) + (im-should :w 200 100 :max-width 300) + (im-should :w 200 100 :max-height 300) ;; Both max-width/height. - (im-should 100 50 :max-width 100 :max-height 75) - (im-should 50 25 :max-width 100 :max-height 25)) + (im-should :w 100 50 :max-width 100 :max-height 75) + (im-should :w 50 25 :max-width 100 :max-height 25) + + ;; Test the image that's taller than it is wide. + (im-should :h 100 200) + ;; Changing one dimension changes the other. + (im-should :h 50 100 :width 50) + (im-should :h 50 100 :height 100) + ;; The same with :max-width etc. + (im-should :h 50 100 :max-width 50) + (im-should :h 50 100 :max-height 100) + ;; :width wins over :max-width etc + (im-should :h 300 600 :width 300 :max-width 100) + (im-should :h 150 300 :height 300 :max-height 100) + ;; Specifying both width and height is fine. + (im-should :h 300 50 :width 300 :height 50) + ;; A too-large :max-width (etc) has no effect. + (im-should :h 100 200 :max-width 300) + (im-should :h 100 200 :max-height 300) + ;; Both max-width/height. + (im-should :h 50 100 :max-width 75 :max-height 100) + (im-should :h 25 50 :max-width 25 :max-height 100) + ) ;;; image-size-tests.el ends here |