summaryrefslogtreecommitdiffstats
path: root/tests/textDisp.test
diff options
context:
space:
mode:
Diffstat (limited to 'tests/textDisp.test')
-rw-r--r--tests/textDisp.test40
1 files changed, 34 insertions, 6 deletions
diff --git a/tests/textDisp.test b/tests/textDisp.test
index d0bb9a8..501a788 100644
--- a/tests/textDisp.test
+++ b/tests/textDisp.test
@@ -6,7 +6,7 @@
# Copyright (c) 1998-1999 by Scriptics Corporation.
# All rights reserved.
#
-# RCS: @(#) $Id: textDisp.test,v 1.33 2004/12/04 00:04:41 dkf Exp $
+# RCS: @(#) $Id: textDisp.test,v 1.34 2005/02/14 23:03:25 vincentdarley Exp $
package require tcltest 2.1
eval tcltest::configure $argv
@@ -2404,11 +2404,12 @@ test textDisp-19.11.22 {TextWidgetCmd procedure, "index +displaylines"} {
test textDisp-19.11.23 {TextWidgetCmd procedure, "index +displaylines"} {
.t tag remove elide 1.0 end
.t tag add elide "12.3" "16.0 +1displaylines"
- list [.t index "11.5 +2d lines"] \
+ list [.t index "11.5 +1d lines"] [.t index "11.5 +2d lines"] \
+ [.t index "12.0 +1d lines"] \
[.t index "12.0 +2d lines"] [.t index "11.0 +2d lines"] \
[.t index "13.0 +2d lines"] [.t index "13.0 +3d lines"] \
[.t index "13.0 +4d lines"]
-} {16.21 16.33 16.16 16.50 16.67 17.0}
+} {16.17 16.33 16.28 16.46 16.28 16.49 16.65 17.0}
.t tag remove elide 1.0 end
test textDisp-19.11.24 {TextWidgetCmd procedure, "index +/-displaylines"} {
list [.t index "11.5 + -1 display lines"] \
@@ -3369,15 +3370,20 @@ test textDisp-29.3 {miscellaneous: lines wrap but are still too long} {textfonts
update
list [.t2.t xview] [winfo geom .t2.t.f] [.t2.t bbox 1.3]
} [list {0.533333333333 1.0} 300x50+-155+[expr {$fixedDiff + 18}] {}]
-test textDisp-30.1 {elidden text complications} {knownBug} {
+test textDisp-30.1 {elidden text joining multiple logical lines} {
.t2.t delete 1.0 end
.t2.t insert 1.0 "1111\n2222\n3333"
.t2.t tag configure elidden -elide 1 -background red
.t2.t tag add elidden 1.2 3.2
- # Known Bug: the newline at 1.4 will not be elidden.
- # Each logical line must have its own DLines
.t2.t count -displaylines 1.0 end
} {1}
+test textDisp-30.2 {elidden text joining multiple logical lines} {
+ .t2.t delete 1.0 end
+ .t2.t insert 1.0 "1111\n2222\n3333"
+ .t2.t tag configure elidden -elide 1 -background red
+ .t2.t tag add elidden 1.2 2.2
+ .t2.t count -displaylines 1.0 end
+} {2}
catch {destroy .t2}
.t configure -height 1
@@ -3491,6 +3497,28 @@ test textDisp-31.6 {line update index shifting} {
set res
} [list [expr {100 + $fixedHeight * 6}] [expr {100 + $fixedHeight * 8}] [expr {$fixedHeight * 9}] [expr {$fixedHeight * 7}] [expr {100 + $fixedHeight * 6}]]
+test textDisp-31.7 {line update index shifting, elided} {
+ # The 'update' and 'delay' must be long enough to ensure all
+ # asynchronous updates have been performed.
+ set res {}
+ .t delete 1.0 end
+ lappend res [.t count -update -ypixels 1.0 end]
+ .t insert 1.0 "abc\nabc"
+ .t insert 1.0 "abc\n"
+ lappend res [.t count -update -ypixels 1.0 end]
+ .t tag configure elide -elide 1
+ .t tag add elide 1.3 2.1
+ lappend res [.t count -ypixels 1.0 end]
+ update ; after 1000 ; update
+ lappend res [.t count -ypixels 1.0 end]
+ .t delete 1.0 3.0
+ lappend res [.t count -ypixels 1.0 end]
+ update ; after 1000 ; update
+ lappend res [.t count -ypixels 1.0 end]
+ set res
+} [list [expr {$fixedHeight * 1}] [expr {$fixedHeight * 3}] [expr {$fixedHeight * 3}] [expr {$fixedHeight * 2}] [expr {$fixedHeight * 1}] [expr {$fixedHeight * 1}]]
+return
+
test textDisp-32.0 {everything elided} {
# Must not crash
pack [text .tt]