diff options
author | fvogel <fvogelnew1@free.fr> | 2015-11-14 13:05:04 (GMT) |
---|---|---|
committer | fvogel <fvogelnew1@free.fr> | 2015-11-14 13:05:04 (GMT) |
commit | adfd2034f10e55137405c8515c9f1d390f4b8021 (patch) | |
tree | 5c35c0b4b63b4fa1aa3ed3ad8e68c2cb62db23f2 /tests/text.test | |
parent | e859c706a348d9ba80d2fef6d6ef580cf187d418 (diff) | |
parent | e3c2a1d52d821859e144054cd3a5bbe86aa95c3d (diff) | |
download | tk-adfd2034f10e55137405c8515c9f1d390f4b8021.zip tk-adfd2034f10e55137405c8515c9f1d390f4b8021.tar.gz tk-adfd2034f10e55137405c8515c9f1d390f4b8021.tar.bz2 |
TIP #438 - <<TextLineHeightsInvalid>> event added, with corresponding new tests
Diffstat (limited to 'tests/text.test')
-rw-r--r-- | tests/text.test | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/text.test b/tests/text.test index d8ed533..7e754e2 100644 --- a/tests/text.test +++ b/tests/text.test @@ -1025,6 +1025,34 @@ test text-11a.12 {TextWidgetCmd procedure, "pendingyupdate" option} { set fraction2 [lindex [.top.yt yview] 0] lappend res [expr {$fraction1 == $fraction2}] } {1 1 1} +test text-11a.21 {"<<TextLineHeightsInvalid>>" event} { + destroy .top.yt .top + toplevel .top + pack [text .top.yt] + set content {} + for {set i 1} {$i < 300} {incr i} { + append content [string repeat "$i " 15] \n + } + .top.yt insert 1.0 $content + update + bind .top.yt <<TextLineHeightsInvalid>> { if {%d == 0} {set yud(%W) 1} } + # wait for end of line metrics calculation to get correct $fraction1 + # as a reference + if {[.top.yt pendingyupdate]} {vwait yud(.top.yt)} + .top.yt yview moveto 1 + set fraction1 [lindex [.top.yt yview] 0] + set res [expr {$fraction1 > 0}] + .top.yt delete 1.0 end + .top.yt insert 1.0 $content + # synchronously wait for completion of line metrics calculation + # and ensure the test is relevant + set waited 0 + if {[.top.yt pendingyupdate]} {set waited 1 ; vwait yud(.top.yt)} + lappend res $waited + .top.yt yview moveto $fraction1 + set fraction2 [lindex [.top.yt yview] 0] + lappend res [expr {$fraction1 == $fraction2}] +} {1 1 1} # edit, mark, scan, search, see, tag, window, xview and yview actions are tested elsewhere. |