emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/trunk r100639: Add redisplay test for image


From: Chong Yidong
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r100639: Add redisplay test for image and overlay string interaction.
Date: Thu, 24 Jun 2010 20:33:25 -0400
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 100639
committer: Chong Yidong <address@hidden>
branch nick: trunk
timestamp: Thu 2010-06-24 20:33:25 -0400
message:
  Add redisplay test for image and overlay string interaction.
modified:
  test/ChangeLog
  test/redisplay-testsuite.el
=== modified file 'test/ChangeLog'
--- a/test/ChangeLog    2010-06-11 14:39:54 +0000
+++ b/test/ChangeLog    2010-06-25 00:33:25 +0000
@@ -1,3 +1,7 @@
+2010-06-25  Chong Yidong  <address@hidden>
+
+       * redisplay-testsuite.el (test-redisplay-3): New test.
+
 2010-06-11  Chong Yidong  <address@hidden>
 
        * comint-testsuite.el: New file.

=== modified file 'test/redisplay-testsuite.el'
--- a/test/redisplay-testsuite.el       2010-01-13 08:35:10 +0000
+++ b/test/redisplay-testsuite.el       2010-06-25 00:33:25 +0000
@@ -110,13 +110,72 @@
          (propertize "XXX\n" 'face 'highlight)
          "\n  Test:     ")
   (test-insert-overlay "XXX\n" 'mouse-face 'highlight)
-  (insert "\n"))
+  (insert "\n\n"))
+
+(defun test-redisplay-3 ()
+  (insert "Test 3: Overlay with before/after strings and images:\n\n")
+  (let ((img-data "#define x_width 8
+#define x_height 8
+static unsigned char x_bits[] = {0xff, 0x81, 0xbd, 0xa5, 0xa5, 0xbd, 0x81, 
0xff };"))
+    ;; Control
+    (insert "  Expected: AB"
+           (propertize "X" 'display `(image :data ,img-data :type xbm))
+           "CD\n")
+
+    ;; Overlay with before, after, and image display string.
+    (insert "  Result 1: ")
+    (let ((opoint (point)))
+      (insert "AXD\n")
+      (let ((ov (make-overlay (1+ opoint) (+ 2 opoint))))
+       (overlay-put ov 'before-string "B")
+       (overlay-put ov 'after-string "C")
+       (overlay-put ov 'display
+                    `(image :data ,img-data :type xbm))))
+
+    ;; Overlay with before and after string, and image text prop.
+    (insert "  Result 2: ")
+    (let ((opoint (point)))
+      (insert "AXD\n")
+      (let ((ov (make-overlay (1+ opoint) (+ 2 opoint))))
+       (overlay-put ov 'before-string "B")
+       (overlay-put ov 'after-string "C")
+       (put-text-property (1+ opoint) (+ 2 opoint) 'display
+                          `(image :data ,img-data :type xbm))))
+
+    ;; Overlays with adjacent before and after strings, and image text
+    ;; prop.
+    (insert "  Result 3: ")
+    (let ((opoint (point)))
+      (insert "AXD\n")
+      (let ((ov1 (make-overlay opoint (1+ opoint)))
+           (ov2 (make-overlay (+ 2 opoint) (+ 3 opoint))))
+       (overlay-put ov1 'after-string "B")
+       (overlay-put ov2 'before-string "C")
+       (put-text-property (1+ opoint) (+ 2 opoint) 'display
+                          `(image :data ,img-data :type xbm))))
+
+    ;; Three overlays.
+    (insert "  Result 4: ")
+    (let ((opoint (point)))
+      (insert "AXD\n\n")
+      (let ((ov1 (make-overlay opoint (1+ opoint)))
+           (ov2 (make-overlay (+ 2 opoint) (+ 3 opoint)))
+           (ov3 (make-overlay (1+ opoint) (+ 2 opoint))))
+       (overlay-put ov1 'after-string "B")
+       (overlay-put ov2 'before-string "C")
+       (overlay-put ov3 'display `(image :data ,img-data :type xbm))))))
+
 
 (defun test-redisplay ()
   (interactive)
-  (pop-to-buffer (generate-new-buffer "*Redisplay Test*"))
-  (test-redisplay-1)
-  (test-redisplay-2)
-  (goto-char (point-min)))
+  (let ((buf (get-buffer "*Redisplay Test*")))
+    (if buf
+       (kill-buffer buf))
+    (pop-to-buffer (get-buffer-create "*Redisplay Test*"))
+    (erase-buffer)
+    (test-redisplay-1)
+    (test-redisplay-2)
+    (test-redisplay-3)
+    (goto-char (point-min))))
 
 ;; arch-tag: fcee53c8-024f-403d-9154-61ae3ce0bfb8


reply via email to

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