diff options
Diffstat (limited to 'test/manual/image-circular-tests.el')
-rw-r--r-- | test/manual/image-circular-tests.el | 41 |
1 files changed, 24 insertions, 17 deletions
diff --git a/test/manual/image-circular-tests.el b/test/manual/image-circular-tests.el index 1299970f827..d2187cbbadc 100644 --- a/test/manual/image-circular-tests.el +++ b/test/manual/image-circular-tests.el @@ -27,8 +27,11 @@ (require 'ert) +(declare-function image-size "image.c" (spec &optional pixels frame)) + (ert-deftest image-test-duplicate-keywords () "Test that duplicate keywords in an image spec lead to rejection." + (skip-unless (display-images-p)) (should-error (image-size `(image :type xbm :type xbm :data-width 1 :data-height 1 :data ,(bool-vector t)) @@ -36,33 +39,37 @@ (ert-deftest image-test-circular-plist () "Test that a circular image spec is rejected." - (should-error - (let ((l `(image :type xbm :data-width 1 :data-height 1 - :data ,(bool-vector t)))) - (setcdr (last l) '#1=(:invalid . #1#)) - (image-size l t)))) + (skip-unless (display-images-p)) + (let ((spec `(image :type xbm :data-width 1 :data-height 1 + :data ,(bool-vector t) + . ,'#1=(:invalid . #1#)))) + (should-error (image-size spec t)))) (ert-deftest image-test-:type-property-value () "Test that :type is allowed as a property value in an image spec." + (skip-unless (display-images-p)) (should (equal (image-size `(image :dummy :type :type xbm :data-width 1 :data-height 1 :data ,(bool-vector t)) t) - (cons 1 1)))) + '(1 . 1)))) (ert-deftest image-test-circular-specs () - "Test that circular image spec property values do not cause infinite recursion." - (should - (let* ((circ1 (cons :dummy nil)) - (circ2 (cons :dummy nil)) - (spec1 `(image :type xbm :data-width 1 :data-height 1 - :data ,(bool-vector 1) :ignored ,circ1)) - (spec2 `(image :type xbm :data-width 1 :data-height 1 + "Test with circular image spec property values. +In particular, test that they do not cause infinite recursion." + :expected-result :failed ;; FIXME: bug#36403#63. + (skip-unless (display-images-p)) + ;; Two copies needed to warm up image cache. + (let* ((circ1 (list :dummy)) + (circ2 (list :dummy)) + (spec1 `(image :type xbm :data-width 1 :data-height 1 + :data ,(bool-vector 1) :ignored ,circ1)) + (spec2 `(image :type xbm :data-width 1 :data-height 1 :data ,(bool-vector 1) :ignored ,circ2))) - (setcdr circ1 circ1) - (setcdr circ2 circ2) - (and (equal (image-size spec1 t) (cons 1 1)) - (equal (image-size spec2 t) (cons 1 1)))))) + (setcdr circ1 circ1) + (setcdr circ2 circ2) + (should (equal (image-size spec1 t) '(1 . 1))) + (should (equal (image-size spec2 t) '(1 . 1))))) (provide 'image-circular-tests) ;;; image-circular-tests.el ends here. |