branch: externals/boxy
commit 7a04171296ecb5cfabbf5a86839189f6314abb2e
Author: Tyler Grinn <[email protected]>
Commit: Tyler Grinn <[email protected]>
Added more tooltip test cases
---
boxy.el | 10 ++++++----
tests/boxy-test-visual.el | 22 +++++++++++++++++-----
2 files changed, 23 insertions(+), 9 deletions(-)
diff --git a/boxy.el b/boxy.el
index 1e7ed1c..cdc66b3 100644
--- a/boxy.el
+++ b/boxy.el
@@ -1555,6 +1555,7 @@ characters if possible."
overlays)
(dolist (str rows)
(let ((left-margin 0)
+ (right-margin 0)
start end cur-column)
(save-excursion
(let ((inhibit-read-only t))
@@ -1564,12 +1565,12 @@ characters if possible."
(if (= cur-column left)
(setq start (point))
(setq left-margin (- cur-column left))
- (setq start (- (point) (- cur-column left))))
+ (setq start (- (point) left-margin)))
(move-to-column (+ left width) t)
+ (setq end (point))
(setq cur-column (current-column))
- (if (= cur-column (+ left width))
- (setq end (point))
- (setq end (- (point) (- cur-column left))))))
+ (if (not (= cur-column (+ left width)))
+ (setq right-margin (- cur-column (+ left width))))))
(setq str (format
(concat " %-" (number-to-string (- width 2)) "s ")
(truncate-string-to-width str boxy--tooltip-max-width nil
nil t)))
@@ -1577,6 +1578,7 @@ characters if possible."
(overlay-put overlay 'face boxy--tooltip-face)
(overlay-put overlay 'display `((margin nil) ,str))
(overlay-put overlay 'before-string (make-string left-margin ?\s))
+ (overlay-put overlay 'after-string (make-string right-margin ?\s))
(push overlay overlays))
(setq top (+ top 1))))
(save-excursion (boxy-mode-recalculate-box-ring))
diff --git a/tests/boxy-test-visual.el b/tests/boxy-test-visual.el
index fb1a523..4da1d1b 100644
--- a/tests/boxy-test-visual.el
+++ b/tests/boxy-test-visual.el
@@ -1,4 +1,4 @@
-;;; boxy-test-chinese.Eli --- Visual tests for boxy -*- lexical-binding: t -*-
+;;; boxy-test-visual.el --- Visual tests for boxy -*- lexical-binding: t -*-
;; Copyright (C) 2021 Free Software Foundation, Inc.
@@ -19,14 +19,26 @@
(hello (boxy-box :name "你好" :rel "in" :tooltip "你好\n我叫泰勒")))
(boxy-add-next greeting world)
(boxy-add-next hello greeting)
- (boxy-pp world))
+ (boxy-pp world :display-buffer-fn 'display-buffer-same-window))
;; Check that the tooltip for 你好 shows correctly
(let* ((world (boxy-box))
(greeting (boxy-box :name "我叫泰勒" :margin-y 0))
- (hello (boxy-box :name "你好" :rel "in" :tooltip "你好\n我叫泰勒"))
- (right (boxy-box :name "右边 " :rel "to the right of")))
+ (hello (boxy-box :name "你好" :rel "in" :tooltip "你好\n我叫泰勒我叫泰勒"))
+ (right (boxy-box :name "右边右边右边右边" :rel "to the right of")))
(boxy-add-next greeting world)
(boxy-add-next hello greeting)
(boxy-add-next right greeting)
- (boxy-pp world))
+ (boxy-pp world :display-buffer-fn 'display-buffer-same-window))
+
+
+;; Check that the tooltip for 你好 is truncated
+(let* ((boxy-tooltip-max-width 15)
+ (world (boxy-box))
+ (greeting (boxy-box :name "我叫泰勒" :margin-y 0))
+ (hello (boxy-box :name "你好" :rel "in" :tooltip "你好\n我叫泰勒我叫泰勒"))
+ (right (boxy-box :name "右边右边右边右边" :rel "to the right of")))
+ (boxy-add-next greeting world)
+ (boxy-add-next hello greeting)
+ (boxy-add-next right greeting)
+ (boxy-pp world :display-buffer-fn 'display-buffer-same-window))